Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Однородные координаты и матричное представление двумерных преобразований
Преобразования переноса, масштабирования и поворота в матричной форме имеют вид:
Перенос реализуется с помощью операции сложения, а масштабирование и поворот — операции умножения. Удобно было бы эти преобразования представить в единой форме. Рассмотрим, как это сделать. Если мы выразим точки в однородных координатах, то все три преобразования можно реализовать с помощью операции умножения. В однородных координатах точка записывается как , где — масштабный множитель, не равный нулю. При этом, если точка задана в однородных координатах , то можно найти ее декартовые координаты: Если же , то операция деления не нужна:
Перенос Уравнение переноса (1) запишется в виде матрицы преобразования:
, (10)
или , (11)
где .
Перемножив, получим:
.
Докажем, что если точку перенести в на расстояние , а затем в точку на расстояние , то в результате получим перенос на расстояние .
Доказательство:
Теперь подставим (12) в (13):
.
Матричное произведение и :
то есть перенос — функция аддитивная.
Масштабирование Уравнение масштабирования (4) в матричной форме имеет вид:
(14)
Определяя
,
имеем . (15)
Перемножив, получим:
.
Докажем, что масштабирование — функция мультипликативная, то есть если точку промасштабировать в точку с , а потом — в точку с , то результат будет иметь вид: . Доказательство:
Подставляя (16) в (17):
.
Матричное произведение и : .
Поворот Уравнение поворота (3) можно представить в виде:
. (18)
Полагая
,
имеем:
. (19)
Перемножив, получим:
.
Докажем, что два последовательных поворота аддитивны. Если точку повернуть на угол в точку , а точку — в точку при повороте на угол , то общий поворот равен . Доказательство:
.
Найдем :
|