Oppure

Loading
08/10/11 13:47
carmelolg
Salve,
spiego subito praticamente il mio problema.
Sono in una matrice, ed ho creato una classe che mi genera un versore in 3 dimensioni.
Questo è molto utile per puntare verso un obiettivo, vedi il biliardo o il minigolf.
Ora ho un problema:
La pallina percorre un certo spazio nella matrice in direzione di questo versore che avrà una lunghezza length.
Io vorrei vedere all'interno di questo versore cosa si trova,
for(int i=versore.getX(); i<versore.getLength(); i++)
			{
				if(versore[i]*20 == 4 || versore[i]*20 == 5)
					
			}

Questo non è ammissibile poiché il versore ha 3 dimensioni x,y,z e non posso fare versore(i) naturalmente.
Qualche consiglio su come sbobbinare questo spazio?
Ultima modifica effettuata da carmelolg 08/10/11 13:49
aaa
08/10/11 19:30
pierotofy
Non ho ben capito; formula meglio la tua domanda.

Comunque un vettore in 3 dimensioni e' semplicemente formato da tre componenti... se devi farci delle operazioni puoi sempre guardare ogni componente individualmente (getX(), getY(), getZ()).

Ah, e nota che biliardo probabilmente non ha bisogno di 3 dimensioni... le palle si muovono solamente su un piano (a meno che non dai la possibilita' di farle saltare, ma dubito).
Ultima modifica effettuata da pierotofy 08/10/11 19:33
Il mio blog: piero.dev
08/10/11 22:01
arack95
"versore in 3 dimensioni"

Piccola precisazione: i versori non hanno ne il modulo ne le componenti, quello che intendi tu è il vettore; il versore è un vettore di modulo unitario usato per identificare una particolare direzione e verso, stai attento
aaa
09/10/11 7:51
carmelolg
Postato originariamente da arack95:

"versore in 3 dimensioni"

Piccola precisazione: i versori non hanno ne il modulo ne le componenti, quello che intendi tu è il vettore; il versore è un vettore di modulo unitario usato per identificare una particolare direzione e verso, stai attento


Si supponeva che parlavo del vettore e del suo versore generato.
Di solito non bado a questi formalismi..
Comunque ho un vettore con x,y,z come dimensioni.
Il versore generato punta verso un obbiettivo (la buca es.)
Io vorrei ricavare tutto quello che c'è all'interno del versore.
Del tipo se il versore parte dalla posizione (0,0) e deve arrivare alla posizione (3,1)
Le celle calpestate prima di arrivare all'obbiettivo sono (1,0) (2,1) e vorrei vedere cosa contengono.
Questo è il problema, non so come spiegarlo in altri modi.
aaa
09/10/11 11:12
TheKaneB
Postato originariamente da arack95:

"versore in 3 dimensioni"

Piccola precisazione: i versori non hanno ne il modulo ne le componenti, quello che intendi tu è il vettore; il versore è un vettore di modulo unitario usato per identificare una particolare direzione e verso, stai attento


Si vede che non hai mai programmato un engine fisico :-)

Con una opportuna trasformazione affine, puoi spostare il sistema di riferimento trasformando un vettore nel corrispondente versore.

Nelle routine di simulazione fisica quasi mai si usano i riferimenti globali, quindi i versori si intendono sempre nel sistema locale di riferimento. In questo modo elimini seni e coseni dalle formule che sono pesanti da calcolare e li riporti in coordinate globali solo alla fine del calcolo.

Quindi se ho una pallina che viaggia in direzione "sapiddu unni", posso sempre rappresentare il suo moto con un versore "direzione" locale, e poi trasformarlo in coordinate globali in un secondo momento.
aaa
10/10/11 14:37
carmelolg
Postato originariamente da TheKaneB:

Postato originariamente da arack95:

"versore in 3 dimensioni"

Piccola precisazione: i versori non hanno ne il modulo ne le componenti, quello che intendi tu è il vettore; il versore è un vettore di modulo unitario usato per identificare una particolare direzione e verso, stai attento


Si vede che non hai mai programmato un engine fisico :-)

Con una opportuna trasformazione affine, puoi spostare il sistema di riferimento trasformando un vettore nel corrispondente versore.

Nelle routine di simulazione fisica quasi mai si usano i riferimenti globali, quindi i versori si intendono sempre nel sistema locale di riferimento. In questo modo elimini seni e coseni dalle formule che sono pesanti da calcolare e li riporti in coordinate globali solo alla fine del calcolo.

Quindi se ho una pallina che viaggia in direzione "sapiddu unni", posso sempre rappresentare il suo moto con un versore "direzione" locale, e poi trasformarlo in coordinate globali in un secondo momento.


Grandissimo,
appena adesso l'abbiamo ragionato con @riuzaki qui in aula
e abbiamo trovato conferma proprio in questa risposta grazie mille :D:heehee:
aaa