Math.Asin问题

Ale*_*lex 1 c# math

我正在计算一个值(应该反映方向矢量和XZ平面之间的角度的sin),就像这样

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)));
Run Code Online (Sandbox Code Playgroud)

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

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

And*_*and 13

Asin以弧度返回角度.与180/pi相乘以获得以度为单位的角度.