Двумерные однородные координаты

Двумерные однородные координаты точки имеют следующий вид:

Здесь W - произвольный множитель не равный 0.

Двумерные декартовые координаты (x, y) точки получаются из однородных, делением последних на множитель W:

Однородные координаты можно представить как промасштабированные с коэффициентом W значения двумерных координат, расположенные в плоскости с Z = W.

В силу произвольности значения W в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.

Начнем с простого переноса. Пусть точ­ка переносится в точку , где

Эти уравнения можно переписать в виде:

Такую запись принято называть записью в системе "однородных координат".

Запись каждого преобразования в форме произведения матриц позволяет совмещать несколько преобра­зований в одном. Чтобы показать такое совмещение преобразо­ваний, объединим поворот с двумя переносами. Поворот на угол φ вокруг начала координат О был описан ранее. Заменим это уравнение следующим:

Теперь выведем новую версию уравнений для описания поворота на угол φ вокруг точки ; это уравнение может быть выражено формулой:

,

где через R обозначена матрица размером 3x3. Для нахождения этой матрицы R будем считать, что преобразование состоит из трех шагов с промежуточными точками и .

Преобразование для переноса точки О начала координат в точку :

где

Поворот на угол φ относительно точки О начала координат:

где

Возвращение точки О начала координат на прежнее место:

,

где

Возможность комбинации этих шагов основана на свойстве ассоциативности матричного умножения, то есть (АВ)С = А (ВС) для любых трех матриц А, В и С, имеющих размерности, допу­скающие такое умножение. Для любой части этого уравнения мы можем просто записать ABC. Теперь найдем:

где

Это и будет искомая матрица, которая после выполнения двух матричных умножений дает:

,

где введены обозначения:

Подобным образом можно записать любую последовательность геометрических преобразований на плоскости. Для этого нужно определить, какие преобразования переноса, поворота и масштабирования относительно начала координат необходимо выполнить. Затем сформировать матрицы для каждого из этих преобразований, и перемножить их в той последовательности, в какой выполняются преобразования. Полученная в результате матрица и будет матрицей заданного сложного преобразования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: