Я вычисляю значение (которое должно отражать грех угла между вектором направления и плоскостью 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.Я использую это неправильно?