logo
Компьютерная графика / МАШ_ГРАФИКА

§2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи

В аналитической форме плоское линейное преобразова-ние можно представить в следующем виде:

x* =ax + by + e;

y* = cx + dy + f;

где x*, y* - преобразованные координаты,

a, b, c, d, e, f – постоянные коэффициенты.

На плоскости точку представляют с помощью двух ее ко-ординат (x, y), поэтому, для однозначного задания коэф-фициентов преобразования (a,b,c,d,e,f) необходимо указать три пары точек (Р1Р1*), (Р2Р2*), (Р3 Р3*), которые должны переводиться одна в другую с помощью линейного преобразования. В этом случае число уравнений

117

равно числу неизвестных (6). Система уравнений связи будет следующая:

x1*= ax1+ by1+ e;

y1*= cx1+ dy1 + f;

x2*= ax2+ by2+ e;

y2*= cx2+ dy2 + f;

x3*= ax3+ by3+ e;

y3*= cx3+ dy3 + f.

В векторной форме зависимость можно представить в виде:

Р*= М∙А , где

x1* a x1 y1 0 0 1 0

y1* b 0 0 x1 y1 0 1

Р* = x2* ; А = c ; М= x2 y2 0 0 1 0 .

y2* d 0 0 x2 y2 0 1

x3* e x3 y3 0 0 1 0

y3* f 0 0 x3 y3 0 1

Определитель матрицы равен 0 тогда и только тогда, ког-да точки Р1 ,Р2 ,Р3 лежат на одной прямой, т.е. размер-ность образуемой ими фигуры меньше 2. Если точки лежат на одной прямой, то координаты одной из них, напри-мер,Р3 , всегда можно представить в виде линейной комбинации координат других:

Р3 = Р1 + Р2 ,

причём + = 1.

Отсюда следует, что две последних строки матрицы могут быть представлены в виде линейных комбинаций соот-ветствующих верхних строк с теми же числовыми коэф-фициентами. Из свойств определителей вытекает: det M=0. Поскольку все приведенные рассуждения обратимы, то из них следует и достаточность утверждения.

118

Если точки не лежат на одной прямой, то определитель не равен 0, и, следовательно, вектор коэффициентовА может быть найден в виде:

А=M -1Р* ,

где М -1 - матрица, обратная к М.

По аналогии с плоскими линейными преобразованиями в пространстве линейное преобразование можно представить в виде:

x*= ax+by+cz+r;

y*= dx+ey+fz+s;

z*= gx+hy+qz+t .

Система уравнений связи имеет вид:

Р* = М∙А,

где

x1* a x1 y1 z1 0 0 0 0 0 0 1. 0 0

y1* b 0 0 0 x1 y1 z1 0 0 0 0 1 0

z1* c 0 0 0 0 0 0 x1 y1 z1 0 0 1

x2* d x2 y2 z2 0 0 0 0 0 0 1 0 0

y2* e 0 0 0 x2 y2 z2 0 0 0 0 1 0

Р*= z2* ; А= f ; М= 0 0 0 0 0 0 x2 y2 z2 0 0 1

x3* g x3 y3 z3 0 0 0 0 0 0 1 0 0

y3* h 0 0 0 x3 y3 z3 0 0 0 0 1 0

z3* q 0 0 0 0 0 0 x3 y3 z3 0 0 1

x4* r x4 y4 z4 0 0 0 0 0 0 1 0 0

y4* s 0 0 0 x4 y4 z4 0 0 0 0 1 0

z4* t 0 0 0 0 0 0 x4 y4 z4 0 0 1

Определитель матрицы М равен 0 тогда и только тогда, когда точки Р1 ,Р2 ,Р3 ,Р4 лежат в одной плоскости и образуют плоскую, а не пространственную фигуру. Это утверждение можно доказать по аналогии с плоским случаем.

119

При пространственном расположении точек det М≠0 и система имеет единственное решение, вида:

А= М -1Р*.

Непосредственное определение линейных преобразований при помощи задания пар точек (Рі ,Рі*) и решение соответствующих уравнений связи мало наглядно и неудоб-но для машинной реализации. Поэтому этот подход мало используется на практике. Как правило, применяют матричное представление линейных преобразований.