Формула изменения углов Эйлера.
Как найти остальные углы, при поворотк одного.
Известно:
Начальные углы и единичный вектор.
Есть плоскость, она имеет свой угол наклона.
На ней лежит некий объект, причём лежит он ровно на этой плоскости, и имеет такие же углы.
Теперь значит крутим один угол
И объект уже не лежит на плоскости, а одним углом уходит в неё, а противоположным висит выше плоскости.
Так вот, я хочу высчитать смещение для остальных углов, чтобы было вот так
Тут просто немного приподнял, чтобы было видно, что объект в одной плоскости с начальными углами.
Обозначим переменные.
rA - случайное число от - 180 до 180 (на которое будет повёрнут объект) nX nY nZ - постоянная скорость (единичный вектор) или направление плоскости. aX aY aZ - начальные значения углов (плоскости). cX cY cZ - конечные значения углов. (искомые, для объекта)
Если:
rA = -39.0nX = -0.242535 nY = 0.000000 nZ = 0.970142aX = 75.963753 aY = 180.000000 aZ = 0.000000cX = ??
cY = aY + rAcZ = ??
Должно получиться: cX = -14.036247 cY = 141.000000 cZ = -8.000000
Какой формулой можно найти остальные два угла?
Я смотрел, но знания геометрии у меня на уровне 6го класса.. .
Из кучи формул, я не знаю какая подходит в моём случае.. .
Вот например тут:
[ссылка заблокирована по решению администрации проекта]
Вроде последнее:
Углы Эйлера, определяющие положение тела, изменяются по закону (регулярная прецессия) ψ=ψ0+n1t, θ=θ0, φ=φ0+n2t, где ψ0, θ0, φ0 — начальные значения углов, а n1 и n2 — постоянные числа, равные соответствующим угловым скоростям. Определить угловую скорость ω тела, неподвижный и подвижный аксоиды.
Я подставил:
cX = aX * nX + (aZ - aY) * nY * nZ
cY = aY * nY + (aX - aZ) * nZ * nX
cZ = aZ * nZ + (aY - aX) * nX * nY
Но что - то не то.. .
Да и не используется градус, на который был повёрнут объект...
Мне бы просто - что на что умножит / поделить, чтобы получить числа.
Известна нормаль поверхности:
-0.242535 0.000000 0.970142
Известны углы поверхности (которые вообще получаются из нормали) :
75.963753 180.000000 0.000000
Мне нужно крутить только один угол, У. (который 180.000000)
И чтобы объект был параллелен плоскости, на которой лежит.