PDA

View Full Version : [JAVA] direzionare un oggetto grafico lungo una retta


fbcyborg
01-07-2007, 20:07
Salve a tutti,

ho un JPanel con un cerchio che si deve muovere in un verso e in una direzione a seconda dell'angolo in gradi che gli passo.

Es. il cerchio si trova in 50,70 e l'angolo passato è di 280°.
Come faccio a farlo spostare lungo la retta immaginaria dei 280° (verso sud est, quindi) ? (non mi interessa il discorso animazione, mi basta il passo base, credo).

PGI-Bis
01-07-2007, 21:18
Non mi intendo molto di geometria ma penso che tu possa farlo con un pelo di trigonometria.

Prendi la quantità di spostamento da applicare, la moltiplichi per il seno dell'angolo e ottieni lo spostamento sull'asse y, con il coseno ottieni lo spostamento sull'asse x, sommi le due quantità alla posizione corrente e sei a posto.

In pseudo-java, se la posizione iniziale è P(x, y), la direzione dello spostamento forma un angolo di A gradienti con l'asse X e la quantità di spostamento da applicare è Q allora la nuova posizione è:

newX = p.x + Math.cos(Math.toRadians(A)) * Q;
newY = p.y + Math.sin(Math.toRadians(A)) * Q;

fbcyborg
01-07-2007, 22:01
Ok!

Grande.. appena posso lo provo!