我有两个共享端点的二维向量(这两个向量由三个给定的点构成)。我想要计算它们之间的夹角,范围为0到2*pi,并且需要是顺时针和正数。我目前使用以下方法:
v1=[x1 y1]-[X Y];
v2=[x2 y2]-[X Y];
ang = mod(atan2(v1(1)*v2(2)-v2(1)*v1(2),v1(1)*v2(1)+v1(2)*v2(2)),2*pi);
if ang==0
Angle=ang;
else
Angle=360 - (ang*180/pi); % change Radian to Degree
end
虽然这个方法可以正确地工作,但我想知道是否有更好的方法来查找角度,也许不使用if/else语句?!
提前感谢。
if...else
:Angle=(360 - (ang*180/pi))*(ang~=0)
我想。 - Dan