使用Math类的三角函数的时候,所有的单位都是用弧度表示的。如果你需要使用Math中Sin,Cos等三角函数,我们必须把角度数转换成换为弧度数,然后再调用相关的三角函数。
在C#的Math类中并没有提供角度和弧度之间的相互换算的方法,只能自己来实现一个MathUtils类来实现, 代码如下:
using System;
public class MathUtils
{
public static double ConvertDegreesToRadians(double degrees)
{
double radians = (Math.PI / 180) * degrees;
return radians;
}
public static double ConvertRadiansToDegrees(double radians)
{
double degrees = (180 / Math.PI) * radians;
return degrees;
}
}
private float[] _RotateScanPoints(float theta, float scanX, float scanY)
{
float scanXR = (float)(scanX * Math.Cos(theta) + scanY * Math.Sin(theta));
float scanYR = (float)(-scanX * Math.Sin(theta) + scanY * Math.Cos(theta));
return new float[] { scanXR, scanYR };
}