ATD*_*ATD 4 c# geometry distance angle atan2
Atan2(y,x)将在-pi和pi之间返回一个浮点数.我想计算两个角度之间的距离,但非连续性让我失望.
我希望能够计算角度1和角度2之间的距离.
这一点的重点是能够从中心到指定角度创建一个圆锥体.基本上我将评估:
if(DistanceFromAngle1 < pi/4 [45°])
{
Angle2 is part of cone
}
Run Code Online (Sandbox Code Playgroud)
dAngle1 = //convert angle1 to degrees
dAngle2 = // convert to degrees
delta = Math.Max(dAngle1, dAngle2) - Math.Min(dAngle1, dAngle2)
if (180 < delta) {
delta = 360 - delta;
}
// convert delta to radians if you want
Run Code Online (Sandbox Code Playgroud)
如果距离是指连接两个拦截点的直线,则可以通过以下方式计算距离:
SQRT( ( ABS|cos(A) - cos(B)| )^2 + ( ABS|sin(A) - sin(B)| )^2 )
Run Code Online (Sandbox Code Playgroud)
SQRT =平方根
ABS =绝对值
如果距离是角度,则通过执行计算(伪代码)
var angle = ABS(A - B)
if(angle > pi) angle = 2*pi - angle
return angle
Run Code Online (Sandbox Code Playgroud)