集思广益--大家说说有什么好方法计算角度的偏差
角度范围是-180至180。任意给定两个角度,比如26和28,偏差是2,比如-178和178,偏差是4,3和-3,偏差是6。有什么好方法,可以很快计算出偏差的,效率更好的。分不多,期待大神出现,能给小弟一个C#函数直接用,那就爽歪歪了
[解决办法]
参考一下,完善起来。
static void Main(string[] args)
{
int result = Compute(3, -3);
Console.WriteLine(result);
}
public static int Compute(int a, int b)
{
int result = 0;
int c = a - b;
if (Math.Abs(c) > 180 && Math.Abs(c) < 360)
{
result = 360 - Math.Abs(c);
}
if (Math.Abs(c) < 180)
{
result = Math.Abs(c);
}
return result;
}
Offset Angel:
Math.Min(360 - Math.Abs(a - b) % 360, Math.Abs(a - b) % 360)
写成函数形式为:
static float OffsetAngle(float a, float b)
{
float c = Math.Abs(a - b) % 360;
return Math.Min(360 - c, c);
}
public static int Compute(int a, int b){int result=0;if(a>b){result=a-b;}else{result=b-a;}
if(result>180){result=360-result;} return result.
}