Однорідні координати - студопедія
Перетворення перенесення, масштабування і повороту записуються в матричної формі у вигляді
Очевидно, що перенесення, на відміну від масштабування і повороту, реалі-зуется з по-міццю складання. Це обу-словлено тим, що вводити константи переносу всередину струк-тури загальної матриці розміру 2х2 не представляється можливим. Бажаним є уявлення перетворень в єдиній формі - за допомогою множення матриць. Цю проблему можна вирішити за рахунок введення третьої компоненти в вектори точок і. тобто пред-ставлю їх у вигляді і. Матриця перетворення по-сле цього стає матрицею розміру 3х2:
Це необхідно, оскільки число стовпців в матриці, яка описує точку, має дорівнювати числу рядків в матриці перетворення для виконан-ня операції множення матриць. Таким чином
звідки випливає, що константи т, п викликають зміщення х * й y * відносно х і у. По-кільки матриця 3х2 не є квадрат-ний, вона не має зворотної матриці. Цю працю-ність можна обійти, доповнивши матрицю перетворень-тання до квадратної розміру 3х3. На-приклад,
Зауважимо, що третій компонент векторів положення точок не змінюється при додаванні третього стовпця до матриці перетворень-тання. Використовуючи цю матрицю в соот-носінні, напів-чаєм перетворений вектор [х * у * 1]. Додати-ня третього елемента до вектору положення і третього стовпчика до матриці перетворення дозволяє ви-конати зміщення вектора положення. Третій елемент тут можна розглядати як додаткового-тільну координацію-нату століття-тора положення. Отже, вектор положення [х у 1] при впливі на нього матриці 3х3 стає ВЕКТА-ром положення в загальному випадку виду [X Y Н]. Поставши-ленне перетворення було виконано так, що [X Y Н] = [х * у * 1].
Перетворення, що має місце в тривимірному просторі, в нашому слу-чаї обмежена площиною, по-кільки H = 1. Якщо, проте, третій стовпець матриці перетворення Т розміру 3 х 3 відмінний від 0, то в ре-док матричного перетворення отримаємо [х у 1] = [х Y Н], де Н ¹ 1.
Площина, в якій тепер лежить перетворений вектор положення, знаходиться в тривимірному просторі. Однак зараз нас не цікавить те, що відбувається в трьох-вимірному про-просторі.
Отже, знайдені х * й у * отримані за допомогою пучка променів, що проходять через на-чало координат. Результат пре-утворень показаний на рис. 3.3.
Мал. 3.3 Геометричне уявлення однорідних координат
З розгляду подібних трикутників видно, що і. Розглядають-рівая три компо-ненти, запи-шем це в вигляді
Подання двовимірного вектора тривимірним або в загальному випадку n-мірного вектора (п + 1) -мірним називаються вають однорідним координатним вос-твором. При однорідному координат-ном відтворенні n-мірного вектора воно виконується в (п + 1) -мірному просторі, і кінцеві результа-тати в n-вимірному просторі напів-ють за допомогою зворотного Перетворюва-ня. Таким чином, двовимірний вектор [х у] представляється трехкомпонент-ним вектором. Розділивши компоненти вектора на однорідну ко-ординату h, отримаємо
Не існує єдиного однорідного координатного перед-уявлення точки в дво-вимірному просторі. На-приклад, однород-ні координати (12, 8, 4), (6, 4, 2) і (3, 2, 1) представляють результат-ву точку [3 2]. Для простоти ви-чисельний вибираємо [х у 1], щоб уявити не перетворену точку в двовимірних одно-рідних Координа-тах. перетворення
в додаткових координатах задається виразом в однород-них координатах у вигляді
Виконання зазначених вище перетворень показує, що Х = х *, Y = у *, а Н = 1. Рівність одиниці до-полнительной координати означає, що перетворені одне-рідні координати рівні вихідним координатам.
У загальному випадку Н ¹ 1, і перетворені звичайні координацію-нати виходять за рахунок нормалізації однорідних координат, т. Е.
Геометрично все перетворення х і у відбуваються в пло-скостити Н = 1 по-сле нормалізації перетворених однород-них координат.
Перевага введення однорідних координат виявляється при викорис-танні мат-Ріци перетворень об-ного виду по-рядка 3х3
за допомогою якої можна виконувати і інші перетворення, такі як зміщення, операції зміни мас-штабу і зсуву, обумовлені матріч-ними елементами а, b, с і d. Зазначені операції розглянуто раніше.
Щоб показати вплив третього стовпця матриці преоб-утворень 3х3, рассмот-рим наступну операцію:
тут Х = х, Y = у, а Н = рх + qy + 1. Змінна Н, ко-торая визначає площину, з-тримає перетворений-ні точки, представлені в одно-рідних координатах, тепер обра-зует рівняння площини в тривимірному про-просторі.
Мал. 3.4 Перетворення лінії в однорідних координатах
Це преоб-разование показано на рис. 3.4, де лінія АВ, що лежить в пло-ско-сти ху, спроек-тірован на лінію CD площині рХ + qY Н + 1 = 0. На ри-рисунку величини р = q = 1.Виполніте нормалізацію для того, щоб підлозі -чіть зви-ні координати:
Вважаючи р = q = 1, для зображених на малюнку точок А і В з координатами відповідно (1, 3) і (4, 1) по-лучім
Після перетворення А в С * і В у D * маємо
Однорідні координати для точок С * і D *, показані на малюнку, відповід-повідно дорівнюють і.
Результатом нормалізації є переклад тривимірної лінії CD в її проекцію C * D * на площину Н = 1. Як показано на малюнку, центром про-проекції є початок координат.
Основна матриця перетворення розміру 3х3 для дво-мірних однорідних координат може бути підрозділена на че-тире частини:
Як ми бачимо, а, b, с і d здійснюють зміна масштабу, зрушення і вра-щення; т і п виконують зсув, а р і q - напів-чення проекцій. Залишати-шаяся частина матриці, еле-мент s, вироб-водить повна зміна масштабу. Щоб показати це, рассмо-трим преоб-разование
Тут Х = х, Y = у, а Н = s. Це дає х * = x / s і y * == y / s. В результаті пре-освіти [х у 1] -> [x / s y / s 1] має місце однорідне зміна мас-штабу вектора положення. при s <1 происходит увеличение, а при s> 1 зменшення масштабу.