学位计算不准确
Calculation of degrees is inaccurate
我正在使用以下代码将弧度转换为度数,并对其进行一些运算。
private double getDegrees(double rad)
{
double deg = rad * Mathf.Rad2Deg;
double degree = (-135 - deg) % 360;
return degree;
}
计算的值不准确。我在 Python 中使用相同的代码,结果非常准确,如下所示,
def getDegree(rad):
return (-135 - math.degrees(rad)) % 360
如何使用 C# 获得准确的度数?
Input: -2.54 Output: 10.750966993188058
Input 2.57 Output 77.6960764459401
Input -0.62 Output 260.9199271359733
Input 0.52 Output 195.1409838350769
注:输出在(-135 - deg) % 360;
之后
c#输出如下,
Input -2.54 Output 11.0295281217168
Input 2.56 Output -282.127098553015
Input -0.63 Output -98.8646242270579
Input 0.51 Output -164.592296943409
由于当输入为负时,%
运算符将 return C# 中的负值,因此您必须通过添加 360 将它们转换回正值:
private double getDegrees(double rad)
{
double deg = rad * Mathf.Rad2Deg;
double degree = (-135 - deg) % 360;
return degree < 0 ? degree + 360 : degree;
}
我正在使用以下代码将弧度转换为度数,并对其进行一些运算。
private double getDegrees(double rad)
{
double deg = rad * Mathf.Rad2Deg;
double degree = (-135 - deg) % 360;
return degree;
}
计算的值不准确。我在 Python 中使用相同的代码,结果非常准确,如下所示,
def getDegree(rad):
return (-135 - math.degrees(rad)) % 360
如何使用 C# 获得准确的度数?
Input: -2.54 Output: 10.750966993188058
Input 2.57 Output 77.6960764459401
Input -0.62 Output 260.9199271359733
Input 0.52 Output 195.1409838350769
注:输出在(-135 - deg) % 360;
c#输出如下,
Input -2.54 Output 11.0295281217168
Input 2.56 Output -282.127098553015
Input -0.63 Output -98.8646242270579
Input 0.51 Output -164.592296943409
由于当输入为负时,%
运算符将 return C# 中的负值,因此您必须通过添加 360 将它们转换回正值:
private double getDegrees(double rad)
{
double deg = rad * Mathf.Rad2Deg;
double degree = (-135 - deg) % 360;
return degree < 0 ? degree + 360 : degree;
}