Я использую следующий код для преобразования радиан в градусы и выполнения некоторых арифметических операций c для того же.
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