КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Преобразование плоской фигуры, заданной координатной моделью.В предыдущем параграфе рассматривались преобразования точки на плоскости. Аналогичным образом можно определить преобразование любой плоской фигуры, заданной с помощью вершин, соединенных прямыми линиями. Так, например, единичный квадрат с углом в начале координат (рис. 9) задается набором своих вершин в виде матрицы:
0 0 V = 1 0 1 1 0 1
или с использованием однородных координат: 0 0 1 V0 =1 0 1 1 1 1 0 1 1
Пусть, например, необходимо выполнить поворот квадрата вокруг начала координат (рис. 9). Применение преобразования “поворот“ с матрицей R приводит к следующему результату:
0 0 1 cos j sin j 0 V* = V0 * R = 1 0 1 * - sin j cos j 0 = 1 1 1 0 0 1 0 1 1
0 0 1 = cos j sin j 1 cos j - sin j sin j + cos j 1 - sin j cos j 1
Матрица V* определяет координаты вершин квадрата A* B* C* D*.
В общем виде любое аффинное преобразование плоской фигуры можно представить формулой:
V* = V0 *P , ( 12 )
где матрица V0 задает однородные координаты вершин исходного многоугольника :
x1 y1 1 x2 y2 1 V0 = . . . ;( 13 ) . . . xn yn 1
V* - матрица вершин результирующего многоугольника; P - матрица сложного аффинного преобразования, полученная путем перемножения соответствующих матриц простейших преобразований. Выбор матриц R, D, M, T и порядок их перемножения зависит от конкретной задачи.
|