Filter löschen
Filter löschen

Why doesn't atan2 (u,v) give me the right angle of two simple vectors?

6 Ansichten (letzte 30 Tage)
farzad
farzad am 4 Jun. 2019
Bearbeitet: Jan am 28 Jun. 2019
Hi All
I was using the atan2(u,v) to calculate the angles between vectors, untill I checked it for
u=[0,0,0]
v= [1,1,1]
doing :
teta=atan2(norm(cross(u,v)),dot(u,v));
I get teta = 0
I am expecting teta = 54 °
where am I going wrong ?

Akzeptierte Antwort

Jan
Jan am 4 Jun. 2019
Bearbeitet: Jan am 4 Jun. 2019
Of course this code replies 0. If one of the vectors is the Null vector, there cannot be an angle different from 0.
So the only problem is that you expect 54°. atan2 will not reply degrees at all, but radians.
u = [1, 0, 0]
v = [cos(0.123), -sin(0.123), 0]
atan2(norm(cross(u,v)),dot(u,v))
>> 0.1230 % As expected

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by