Azzera filtri
Azzera filtri

get vector orientation from coordinates of two ends

7 visualizzazioni (ultimi 30 giorni)
I a starting point of a vector at (x1,y1) and it ends at (x2, y2).
Is there anyway I can get the vector orientation theta in rad? when theta = 0 is completely arbitrary. However, maybe it is easier when the vector is pointing to right, since sin(theta) = 0 at that point.
If use the slope approach, cases where vector is pointing straight up or down cannot be solved because the slope is inf or -inf.
Any suggestions? Thanks very much!

Risposta accettata

dpb
dpb il 25 Ago 2018
Modificato: dpb il 25 Ago 2018
doc atan2
theta=atan2(x2-x1,y2-y1);
If you'll write x,y as vectors as
x=[x(1) x(2)]; y=[y(1) y(2)];
then you can write
theta=atan2(diff(x),diff(y));
  1 Commento
Ohad Givaty
Ohad Givaty il 8 Dic 2020
you should do atan2(diff(y),diff(x));
see documentation: https://www.mathworks.com/help/matlab/ref/atan2.html

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Plasma Physics in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by