Autore Topic: come spostare un oggetto lateralmente al tocco  (Letto 1461 volte)

Offline willwoll

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
come spostare un oggetto lateralmente al tocco
« il: 23 Giugno 2012, 16:47:52 CEST »
0
Vorrei poter spostare un oggetto nello spazio (sulla x ad esempio) al verificarsi dell'evento tocco.
Fatto questo vorrei che al tocco l'oggetto prenda una certa inerzia e prosegua per un orbita circolare
(come se dovessi spingere la terra per farla girare attorno al sole).
Se possibile postate direttamente il codice, il piu semplice possibile.
Grazie.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:come spostare un oggetto lateralmente al tocco
« Risposta #1 il: 23 Giugno 2012, 17:21:44 CEST »
0
Se possibile postate direttamente il codice, il piu semplice possibile.

Il più semplice possibile, questa me la segno :-)

Sai che cosa è il momento d'inerzia ? Sai che cosa è algebra lineare ? Sai cosa sono i quaternioni ? Conosci la SLERP ?

Indipendentemente dalle risposte precedenti il codice non è semplice.
adb logcat | tee /tmp/logcat | grep TAG

Offline willwoll

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
Re:come spostare un oggetto lateralmente al tocco
« Risposta #2 il: 23 Giugno 2012, 17:25:21 CEST »
0
Allora il codice meno complesso che si possa usare :) si, ma so cosa sono solo i primi 2. Per ora allora se almeno tu lo sai vorrei capire come spostare l'oggetto al tocco lateralmente.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:come spostare un oggetto lateralmente al tocco
« Risposta #3 il: 23 Giugno 2012, 17:56:30 CEST »
+1
Come dice iceweasel, nonostante la descrizione molto semplicistica che dai, il problema è complesso e articolato in vari aspetti.

Il mio consiglio è quello di "spezzettare" il problema in tante semplici parti e affrontarle una alla volta.
Per esempio la parte del tocco: comincia a scrivere il codice che rileva il tocco e provalo.
Poi la parte del movimento: comincia con mettere un Button e alla pressione sposta l'oggetto nello spazio, poi aggiungi un po' di animazione e fallo spostare con velocità costante tra due punti, poi prova a fargli tenere una traiettoria circolare, poi prova a far ridurre gradualmente la velocità man mano che si sposta.
Alla fine colleghi la parte del tocco.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:come spostare un oggetto lateralmente al tocco
« Risposta #4 il: 23 Giugno 2012, 18:13:47 CEST »
+1
Non è semplice quello che vuoi fare e se non conosci bene l'algebra lineare non vai avanti.

Non sono riuscito a trovarli in Java per Android per le OpenGL-ES ma comunque le MESA hanno dei buoni esempi ma sono scritti in C:

la base minima dei calcoli è questa:

http://cgit.freedesktop.org/mesa/demos/tree/src/util/trackball.h
http://cgit.freedesktop.org/mesa/demos/tree/src/util/trackball.c

un semplice (si fa' per dire) esempio che usa i calcoli precedenti è questo:

http://cgit.freedesktop.org/mesa/demos/tree/src/objviewer

Qui sono spiegati i calcoli:

http://www.csi.ucd.ie/staff/hcarr/home/teaching/comp4004/slides/05_arcball.pdf

Comunque questo è solo l'inizio, come dice bradipao manca tutta la parte touch (per adesso l'inerzia lasciala stare).
adb logcat | tee /tmp/logcat | grep TAG