我正在计算一个值(应该反映方向矢量和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的值。我使用它错了吗?
答案 0 :(得分:13)
Asin以弧度返回角度。与180 / pi相乘得到角度。
答案 1 :(得分:1)
听起来你忘记了数学库使用弧度来表示角度,而不是度数。应用适当的转换,看看它是否更符合你的直觉。