ТГ
Татьяна Грицишина

Формула изменения углов Эйлера.

Как найти остальные углы, при поворотк одного.

Известно:

Начальные углы и единичный вектор.

Есть плоскость, она имеет свой угол наклона.
На ней лежит некий объект, причём лежит он ровно на этой плоскости, и имеет такие же углы.


Теперь значит крутим один угол


И объект уже не лежит на плоскости, а одним углом уходит в неё, а противоположным висит выше плоскости.

Так вот, я хочу высчитать смещение для остальных углов, чтобы было вот так


Тут просто немного приподнял, чтобы было видно, что объект в одной плоскости с начальными углами.



Обозначим переменные.

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)

И чтобы объект был параллелен плоскости, на которой лежит.

Юлия Двуреченская
Юлия Двуреченская

Если хочешь заняться анимацией, почитай кватернионы

кватернион
http://www.youtube.com/watch?v=UcYoC7uQzNA

Вадим Варванин
Вадим Варванин

Я не понимаю, чего ты, собственно хочешь.
Если тебе важны именно углы Эйлера, см. учебники по теормеху, там должно быть описание и самих углов, и формул связи между ними.
Но, если тебе нужно поворачивать объект так, чтобы он оставался нижней гранью в заданной плоскости, то это можно сделать и без углов Эйлера. Нужно совместить плоскость с координатной, центр грани - с началом координат, повернуть объект вокруг оси, перпендикулярной плоскости, а потом вернуть плоскость в исходное состояние. См. книжки по трехмерной компьютерной графике на тему "аффинные преобразования в пространстве".

Похожие вопросы
Уравнение Эйлера. Теплоотдача.
круги Эйлера (логика)
Подскажите формулу вычисления угла по тангенсу, пожалуйста
Подскажите, как решить уравнение cosx = sin3x, желательно не применяя формулу тройного угла?
Подскажите, пожалуйста, формулу. Формулу для нахождения синуса угла, если известен синус другого угла.
Функция Лагранжа и вывод формулы Эйлера-Лагранжа
Как выводится формула для расчёта угла Брюстера
Изменение значения в ячейке с формулой (Excel)
помогите с алгеброй (если не решить полностью, то упростить по формулам двойного и половинного угла)...
ХИМИЯ. От чего зависит величина угла в структурной формуле?