2013-07-03 17 views
9

Nel mio progetto, mi piacerebbe disegnare una linea dal punto X al punto Y.JavaScript: capire il punto Y da angolo e distanza

Anche se so che la posizione del punto X, so solo l'angolo e la la distanza del punto Y.

Quindi il mio problema è ottenere le coordinate del punto Y per l'angolo (dal punto X) e la distanza.

Sto usando JavaScript per questo progetto e non voglio usare alcuna libreria grafica.


Ad esempio:

  • punto X (10; 20)

  • punto Y (10 ° & 200px dal punto X)

è probabilmente matematica di base, ma non ho idea di come farlo.

+0

Ricordati di '' sin' e cos'? Dalla matematica alla scuola superiore? – Pointy

+0

ahh okay. Ora so per cosa sono il peccato e il cos. Grazie. :) –

+0

@ IgnacioVazquez-Abrams oh bene che mi fa sentire meglio; Stavo pensando che devo essere molto più assonnato di quanto pensassi !! :) – Pointy

risposta

15
js> Math.cos(10*Math.PI/180) * 200 + 10 
206.9615506024416 
js> Math.sin(10*Math.PI/180) * 200 + 20 
54.729635533386066 

Y è in (207, 55).

10

Ecco un frammento di codice che avvolge @ risposta di IgnacioVazquez-Abrams in una funzione con un esempio di come usarlo:

function findNewPoint(x, y, angle, distance) { 
    var result = {}; 

    result.x = Math.round(Math.cos(angle * Math.PI/180) * distance + x); 
    result.y = Math.round(Math.sin(angle * Math.PI/180) * distance + y); 

    return result; 
} 

var newPoint = findNewPoint(10, 20, 10, 200); 
console.log('newPoint:', newPoint); 
+0

L'ho racchiuso in [codepen] (http://codepen.io/headwinds/pen/LGmRLX/) per giocare con ulteriori – headwinds

Problemi correlati