Math.Asin问题

时间:2011-02-09 11:21:14

标签: c# math

我正在计算一个值(应该反映方向矢量和XZ平面之间角度的误差),如下所示

angle_between_direction_and_Xplane = (Math.Abs(enemyShip_.orientation.Forward.Y) /  Math.Sqrt(Math.Pow(enemyShip_.orientation.Forward.X, 2) + Math.Pow(enemyShip_.orientation.Forward.Y, 2) + Math.Pow(enemyShip_.orientation.Forward.Z, 2)));

它似乎工作得很好。当物体垂直于地面时,angle_between_direction_and_Xplane接近于1,当它与XZ平面并行时,它接近0。

当我应用Math.Asin我想获得一个角度(如70或20度),但我得到大约1的值。我使用它错了吗?

2 个答案:

答案 0 :(得分:13)

Asin以弧度返回角度。与180 / pi相乘得到角度。

答案 1 :(得分:1)

听起来你忘记了数学库使用弧度来表示角度,而不是度数。应用适当的转换,看看它是否更符合你的直觉。