Come ottenere le coordinate di un punto in un sistema di coordinate quando tutto ciò che ho sono le coordinate di origine (x, y) e l'angolo dall'origine a il punto e la distanza dall'origine al punto?Come ottenere le coordinate di un punto in un sistema di coordinate in base all'angolo e alla distanza
risposta
si utilizza Math.cos
, Math.sin
come questo:
pointX = x + distance * Math.cos(angle)
pointY = y + distance * Math.sin(angle)
noti che Math.cos
e Math.sin
assume l'argomento è dato in radianti . Ad esempio, se si dispone dell'angolo in gradi, si utilizzerà Math.cos(
Math.toRadians(angle)
)
.
+1: Dal momento che utilizza effettivamente le funzioni Java, che la mia risposta non ha fatto :) –
+1 per una risposta completa ... Questo è ciò che l'esperienza è !!! – aProgrammer
Come potrebbe essere modificato per un sistema 3D? – helion3
px = x + r * cos(phi)
py = y + r * sin(phi)
dove [px py]
è il punto che si sta cercando, [x y]
è l ' "origine", r
è la distanza e phi
è l'angolo al bersaglio dall'origine.
MODIFICA: http://en.wikipedia.org/wiki/Polar_coordinate_system Questo collegamento che è stato utilmente pubblicato da Bart Kiers potrebbe fornire alcune informazioni di base.
Se d è la distanza e A è l'angolo, rispetto alle coordnates del punto saranno
(x + d * Cos (A), y + d * sin (A))
Questo è sbagliato poiché non tiene conto del fatto che il punto è sfalsato rispetto ad altri punti arbitrari (x, y). –
@kigurai; Grazie per averlo indicato. Modificato il codice Era nella mia mente mentre scrivevo Non so come mi sono perso ... Comunque grazie ancora una volta ... – aProgrammer
Se r
è la distanza dall'origine e a
è l'angolo (in radianti) tra asse xe punto si può facilmente calcolare le coordinate con una conversione da coordinate polari:
x = r*cos(a)
y = r*sin(a)
(ciò presuppone quell'origine è posta a (0,0)
, altrimenti dovresti aggiungere lo spostamento al risultato finale).
Il risultato inverso viene calcolato calcolando il modulo del vettore (poiché una distanza + angolo fa un vettore) e l'arcotangente, che può essere calcolato utilizzando la funzione atan2
.
r = sqrt(x*2+y*2)
a = atan2(y,x)
- 1. Ottenere le coordinate in coordinate
- 2. Come ricalcolare le coordinate x, y in base alla schermata
- 3. punto di ottenere le coordinate basato sulla direzione e la distanza (vettore)
- 4. Ricerca di coordinate di un punto in OpenLayers
- 5. Sistema di coordinate n-sfera a sistema di coordinate cartesiane
- 6. Come posso ottenere il sistema di coordinate cartesiane in matplotlib?
- 7. Come ottenere le coordinate globali di un nodo in JavaFX
- 8. Come ottenere le coordinate di un indirizzo in Android
- 9. come ottenere le coordinate di un poligono in OpenLayers
- 10. Come scoprire la distanza tra le coordinate?
- 11. Coordinate mancanti. Guida di trigonometria di base
- 12. Converti coordinate GPS in coordinate coordinate
- 13. Come calcolare le coordinate di una punta di freccia in base alla freccia?
- 14. Come ruotare il sistema di coordinate?
- 15. Modifica griglia sistema di coordinate
- 16. come ottenere punto rubinetto (coordinate) in iOS rapida
- 17. MATLAB Come convertire le coordinate dell'asse in coordinate pixel?
- 18. strumento per ottenere le coordinate di un pixel dell'immagine
- 19. Come convertire il sistema di coordinate frame di SubView nel sistema di coordinate Self View
- 20. Come si capovolge il sistema di coordinate di un NSView?
- 21. Come devo interpretare le coordinate di un rettangolo in PDF?
- 22. Come impostare QGraphicsScene/Visualizza su un sistema di coordinate specifico
- 23. flip svg coordinate sistema
- 24. Sistema di coordinate della core core
- 25. Come ottenere le coordinate di un punto al clic del mouse con JFreeChart?
- 26. Come compensare il sistema di coordinate capovolte della grafica di base per un disegno facile?
- 27. Trova tutte le coordinate integer in un dato raggio
- 28. Convertire un punto di origine di UIView nel suo sistema di coordinate di finestra
- 29. Come posso convertire le coordinate su un quadrato in coordinate su un cerchio?
- 30. Converti latitudine e longitudine in sistema di coordinate ECEF
Sembra più una domanda di matematica (algebra specifica) che una domanda informatica. Conosci le formule necessarie per calcolare il nuovo punto? –
http://mathworld.wolfram.com/PolarCoordinates.html o http://en.wikipedia.org/wiki/Polar_coordinate_system –
Dipende dal tipo di sistema di coordinate, ma la maggior parte delle volte usa le semplici funzioni trigonometriche chiamate sin(), cos(). – hovanessyan