两个之间的角度 vectors/points
Angle between two vectors/points
我有以下功能
public float getAngle(Point p2) {
return (float) (MathUtils.radiansToDegrees * (Math.atan2(p2.y - y, p2.x - x)));
}
我遇到的问题是返回的角度看起来像 -20(我期望 20)或 50,而我期望 310。获取从 0 到“正常”范围内的值的正确方法是什么359逆时针?
double deg = MathUtils.radiansToDegrees * Math.atan2(p2.y - y, p2.x - x);
deg = deg > 0 ? 360 - deg : 0 - deg;
return (float) deg;
这将以逆时针方式为您提供 [0, 360) 的度数。
注意:使用0 - deg
而不是-deg
是为了确保0.0
不会被转换为-0.0
。
我有以下功能
public float getAngle(Point p2) {
return (float) (MathUtils.radiansToDegrees * (Math.atan2(p2.y - y, p2.x - x)));
}
我遇到的问题是返回的角度看起来像 -20(我期望 20)或 50,而我期望 310。获取从 0 到“正常”范围内的值的正确方法是什么359逆时针?
double deg = MathUtils.radiansToDegrees * Math.atan2(p2.y - y, p2.x - x);
deg = deg > 0 ? 360 - deg : 0 - deg;
return (float) deg;
这将以逆时针方式为您提供 [0, 360) 的度数。
注意:使用0 - deg
而不是-deg
是为了确保0.0
不会被转换为-0.0
。