Содержание
Рассмотрим трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90° против часовой стрелки будет переводить одну полуось в другую. На основе этого соглашения строится следующая таблица, которую можно использовать как для правых, так и для левых систем координат:
Если ось вращения |
Положительным будет направление поворота |
X |
От y к z |
Y |
От z к x |
Z |
От x к y |
Рис. 13.6. Трехмерная система координат
Аналогично тому, как точка на плоскости описывается вектором (x,y), точка в трехмерном пространстве описывается вектором (x,y,z). Как и в двухмерном случае, для возможности реализаций трехмерных преобразований с помощью матриц перейдем к однородным координатам:
Обобщенная матрица преобразования 4x4 для трехмерных однородных координат имеет вид
Эта матрица может быть представлена в виде четырех отдельных частей:
- Матрица 3x3 осуществляет линейное преобразование в виде изменения масштаба, сдвига и вращения.
- Матрица 1x3 производит перенос. ·
- Матрица 3x1- преобразования в перспективе. ·
Скалярный элемент 1x1 выполняет общее изменение масштаба.
Рассмотрим воздействие матрицы 4x4 на однородный вектор [x,y,z,1].
1. Трехмерный перенос – является простым расширением двумерного:
т. е. [x,y,z,1]*T(Dx,Dy,Dz)=[x+Dx,y+Dy,z+Dz,1].
2. Трехмерное изменение масштаба. Рассмотрим частичное изменение масштаба. Оно реализуется следующим образом:
т. е. [x,y,z,1]*S(Sx,Sy,Sz)=[Sx*x,Sy*y,Sz*z,1].
Общее изменение масштаба получается за счет 4-го диагонального элемента, т. е.
Такой же результат можно получить при равных коэффициентах частичных изменений масштабов. В этом случае матрица преобразования такова:
3. Трехмерный сдвиг. Недиагональные элементы матрицы 3x3 осуществляют сдвиг в трех измерениях, т. е.
4. Трехмерное вращение. Двухмерный поворот, рассмотренный ранее, является в то же время трехмерным поворотом вокруг оси Z . В трехмерном пространстве поворот вокруг оси Z описывается матрицей
Матрица поворота вокруг оси X имеет вид
Матрица поворота вокруг оси Y имеет вид
Результатом произвольной последовательности поворотов вокруг осей x, y, z является матрица
Подматрицу 3x3 называют ортогональной, так как ее столбцы являются взаимно ортогональными единичными векторами. Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и сдвига нет.