我有三个向量V1、V2和V3。它们的起点都在坐标轴原点上。当我从V1逆时针移动到V2时,如何确定V3是否在V1和V2之间?
为了看出它的缺陷,假设
你可以建议将 2*pi 添加到 angle(V2) 或类似的方法,但我已经尝试过这些方法,它不起作用。
我在 MATLAB 中进行编程。
编辑 1:这是二维的。
alt text http://www.freeimagehosting.net/uploads/1448ea8896.jpg
不能通过获取它们的角度并评估这些条件(伪代码)来完成此操作:if angle(V3) > angle(V1) && angle(V3) < angle(V2)
printf("V3 is between V1 and V2")
else
printf("out of the interval")
为了看出它的缺陷,假设
angle
函数在 [-pi pi] 范围内给出角度。因此,如果 angle(V1) = 120 (以度为单位),angle(V2) = -130,angle(V3) = 150,则答案(根据上面的代码)是“超出区间”,尽管如果你沿着逆时针方向从 V1 移动到 V2,它在它们之间。你可以建议将 2*pi 添加到 angle(V2) 或类似的方法,但我已经尝试过这些方法,它不起作用。
我在 MATLAB 中进行编程。
编辑 1:这是二维的。