Матрица поворот применяется для вращения системы координат или объекта, сцены.
====== Матрицы поворота вокруг основных осей. ======
====== Матрица поворота вокруг произвольной оси. ======
====== Обобщённая матрица поворота. ======
Хочется задавать положение объекта в пространстве однозначно. Достаточно очевидно что любое положение однозначно определяется 3 поворотами вокруг разных осей.
Но встаёт вопрос в каком порядке вращать и как выбрать оси?
Обобщённую матрица поворота можно задать по разному. С одной стороны мы можем вращать объект вокруг неподвижных осей. С другой вокруг осей связанных с объектом ещё их называют локальными.
Стоит вспомнить что операции умножения матриц не коммутативна поэтому для однозначного определения положения нужно знать не только 3 угла, но и схему умножения матриц.
Можно выделить 2 популярные схемы.\\
1) Матрица поворота через углы Эйлера.\\
2) Матрица поворота через углы летательного аппарата (ЛА): рыскание, тангаж и крен(yaw, pitch и roll).\\
В виду того что первая требует большого числа вычислений, то на практике обычно применяют вторую.
====== Матрица поворота через углы Эйлера. ======
Углы Эйлера - три угла однозначно определяющие ориентацию твёрдого тела, определяющие переход от неподвижной системы координат к подвижной. \\ Подвижная система координат это система координат привязанная к телу. Иногда говорят в мороженная в тело.
Прежде чем дать определения углов нам понадобиться ещё одно.
Линия узлов ON - линия пересечение плоскости OXY и Oxy
α (или φ) это угол между осью Оx и осью ON. Диапазон значений [0, 2*Pi) - угол собственного вращения \\
β (или θ) это угол между осью Oz и осью OZ. Диапазон значений [0, 2*Pi) - угол нутации\\
γ (или ψ) это угол между осью ON и осью OX. Диапазон значений [0, Pi) - угол прецессии\\
{{:articles:300px-eulerangles.svg.png| Схема определения углов Эйлера}}
[1],[2]\\
Отсюда виден что порядок вращения будет следующий вначале по оси Z, затем по оси X, и снова по оси Z.
Вспомним умножение матрицы на вектор. Оно используется для перехода в новую систему координат. 1. \\
1. \\
2. \\
3. \\
4. \\
5. \\
Отсюда видно что обобщённая матрица поворота будет равна. \\
6. \\
Примечание здесь записаны поворот относительно подвижных осей. Что требует вычисления этих осей.
====== Матрица поворота через углы: рыскание, тангаж и крен(yaw, pitch и roll). ======
{{:articles:200px-plane.svg.png|}}\\
Матрица летательного аппарата(далее Матрица ЛА).\\
Угловое положение летательного аппарата однозначно определяется 3 углами: \\
рыскание(ψ), тангаж(θ) и крен(γ).
Крен - это угол между осью проходящею через крыло и местной горизонтальной плоскостью. Термин местное взялся из-за того что земля круглая и обычно оно отсчитывается от местного положения. Но в играх обычно мир является плоским. \\
Тангаж - это угол между осью проходящею через хвост к носу ЛА и местной горизонтальной плоскостью.\\
Рысканье - это угол между осью проходящею через хвост к носу ЛА и начальным направлением. В качестве начального направления принято брать ось Ox стационарной системы координат.\\
Более формальное определение дано в [5].
Для вывода матрицы поворота будем действовать по шагам.
Вспомним уровнение умножение матрицы на вектор. Оно используется для перехода в новую систему координат. 1. \\
1. \\
Затем сделаем поворот по крену. Эту легко сделать так как ось Ox совпадает с OX.\\
2. \\
Затем повернём по тангаж. Оси Oy совпадает с OY.\\
3. \\
Затем повернём по углу рыскания, так как у нас ось Oz совпадает с OZ.\\
4. \\
Отсюда видно что обобщённая матрица поворота будет равна 6. \\
5. \\
6. \\
Как результат мы получаем очень простую формулу для матрицы ЛА
Матрица ЛА в отличии от матрицы Эйлера требует гораздо меньше вычислений. Так как в момент вращения подвижные оси совпадают со стационарными.
----
Список литературы:\\
[1] http://www.femto.com.ua/articles/part_2/4600.html \\
[2] http://en.wikipedia.org/wiki/Roll-pitch-yaw#Tait.E2.80.93Bryan_angles \\
[3] [[http://msdn.microsoft.com/en-us/library/windows/desktop/bb205361(v=vs.85).aspx]] \\
[4] http://www.gamedev.ru/code/articles/faq_matrix_quat \\
[5] http://window.edu.ru/resource/324/45324/files/dstu27.pdf \\
[6] http://www.youtube.com/watch?v=tRrydagL2aw \\