Тривимірні матричні перетворення
Подібно тому, як двовимірні перетворення описуються матрицями розміром , тривимірні перетворення можуть бути представлені матрицями розміром . Тоді тривимірна точка записується в однорідних координатах як , де . Для отримання декартових координат потрібно перші три однорідні координати розділити на . Два однорідних вектора описують одну декартову точку в тривимірному просторі, якщо , де и - вектори, записані в однорідних координатах.
Матриці перетворень будемо записувати в правосторонній системі координат. При цьому додатній поворот визначається наступним чином. Якщо дивитися з додатної частини осі обертання (наприклад, осі ) в напрямку початку координат, то поворот на проти годинникової стрілки буде переводити одну додатну напіввісь в іншу (вісь в , у відповідності з правилом циклічної перестановки).
Замітимо, що на практиці зручніше застосовувати лівосторонню систему координат, так як в цьому випадку зручніше інтерпретувати той факт, що точки з великими значеннями знаходяться далі від спостерігача.
Запишемо тепер матрицю тривимірного переносу. Аналогічно двовимірному випадку.
, при цьому
.
Операція масштабування:
Перейдемо до операції повороту. Так як при двовимірному повороті в площині координати залишаються незмінними, то поворот навколо осі записується так:
.
Матриця повороту навколо осі має вигляд:
,
і навколо осі :
Зверніть увагу на зміну положення синуса кута з негативним знаком в матриці повороту навколо осі . Правильність цих матриць легко перевірити поворотом одного з ортів на , при цьому він повинен перейти в наступний по порядку орт на відповідній координатній осі.
Обернені перетворення будуть виражатися оберненими матрицями. Для операції переносу потрібно лише замінити знаки компонент вектора переносу на протилежні:
;
для операції масштабування – на обернені значення:
;
для повороту – вибором негативного кута повороту:
.
Результатом декількох послідовних поворотів буде матриця
.
Тут верхня матриця розміром називається ортогональною. Важливою її властивістю є те, що обернена до неї матриця є транспоновоною: . Це корисно тим, що при обрахунках достатньо поміняти індекси місцями та обернене перетворення отримується автоматично.
Після перемноження довільної кількості матриць вигляду та результуюча матриця завжди буде мати вигляд:
.
Тут верхня частина розміром визначає сумарний поворот і масштабування, а три коефіцієнти останнього рядка – сумарний перенос.