找到最接近2pi的倍数的方法

时间:2014-05-07 20:44:14

标签: c# angle

我需要创建一个匹配此足迹的高效函数:

public static double NearestAngle(this double currentAngle, double targetAngle);

返回值为targetAngle +/- n*2pi。返回值应最小化其自身与currentAngle之间的绝对差异。我怎样才能在C#中有效地做到这一点?我想避免循环,因为输入可以分开很多圈。

1 个答案:

答案 0 :(得分:0)

return targetAngle + Math.Round((currentAngle - targetAngle)/(2*Math.Pi))*2*Math.Pi;