问题描述
我正在像这样计算一个值(应该反映方向矢量和XZ平面之间的角度的正弦)
I am calculating a value ( that should reflect the sin of an angle between a direction vector and the XZ plane ) like this
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.
and it seems to work just fine . When the object is perpendicular to the ground the angle_between_direction_and_Xplane is near to 1 and when it is paralel to XZ plane it is near to 0 .
当我应用Math.Asin时,我想得到一个角度(例如70或20度),但是我却得到大约1的值.我使用错了吗?
When i apply Math.Asin i would like to get a angle ( like 70 or 20 degrees ) but instead i get values around 1 . Am I using it wrong ?
推荐答案
Asin返回以弧度为单位的角度.乘以180/pi可获得角度(以度为单位).
Asin returns the angle in radians. Multiply with 180/pi to get the angle in degrees.
这篇关于Math.Asin问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!