Я создаю игру и хочу вращать несколько объектов пропорционально друг другу. Так что я должен быть в состоянии установить рыскание, тангаж и крен. Таким образом, у меня есть две координаты:
- точка привязки (0,0,0)
- и объект (ы), например (1,6,3)
А теперь я хочу преобразовать их в угол Эйлера. Я делаю это так:
degreeYaw = Math.toDegrees(Math.atan2(X, Z)) + 180.0;
radiusYaw = Math.sqrt(X*X + Z*Z);
double padj = Math.sqrt(Math.pow(X, 2) + Math.pow(Z, 2));
degreePitch = Math.toDegrees(Math.atan2(padj, Y)) + 180.0;
radiusPitch = Math.sqrt(X*X + Y*Y);
Итак, теперь я хочу добавить некоторые значения к рысканию, тангажу и крену.
Но это пока не нужно, потому что когда я конвертирую его обратно безизменяя вращение (рыскание, тангаж, крен), это не то, что было раньшеэто только 2D, и я хочу иметь возможность вращать его по всем трем осям.
Так что моя проблема состоит только в том, чтобы преобразовать его обратно в 3D-координату или начать уже с преобразования в углы Эйлера?
Другая проблема состоит в том, что мой мозг останавливается на вычислении векторов и других сложных вещей (возможно, это потому, что мне всего 16 лет, и я еще не изучал это в своей школе)
ПослеДва дня исследований я решил создать этот вопрос.
Любая помощь с благодарностью