2012-10-18 17 views

risposta

31

Dato L come la lunghezza del vettore e Ang l'angolo

x2 = x1 + Math.cos(Ang) * L 
y2 = y1 + Math.sin(Ang) * L 

Oops ... Ho osservato all'inizio all'orientamento inferiore dell'asse Y ... Konstantin Levin, è necessario adattarsi leggermente perché le formule precedenti assumono un tipico sistema di coordinate trigonometriche. Nel tuo caso le formule devono essere:

x2 = x1 + Math.cos(Ang) * L // unchanged 
y2 = y1 - Math.sin(Ang) * L // minus on the Sin 

anche (cosa va da sé, va anche in uno dice che ...) l'angolo di riferimento deve essere tale che, quando y2 == y1 e x2> x1, Ang dovrebbe essere zero e dovrebbe aumentare man mano che il secondo punto viene spostato in senso antiorario attorno al primo.

+0

@Rambo coder: grazie per le modifiche (mi sono concentrato sulla matematica non javascript) – mjv

+0

Grazie mille! Esattamente quello che stavo cercando. – YemSalat

+1

In realtà la prima versione funziona nel mio caso, quella con 'y2 = y1 + Math.sin (Ang) * L' – YemSalat

Problemi correlati