Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_Г6_116_131.doc
Скачиваний:
2
Добавлен:
24.04.2019
Размер:
195.58 Кб
Скачать

6.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*), которые должны переводиться одна в другую с помощью линейного преобразования. В этом случае число уравнений

119

равно числу неизвестных (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.

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

Р*= М∙А , где

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

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

причём + = 1.

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

120

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

А=M -1Р* ,

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

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

x*= ax+by+cz+r;

y*= dx+ey+fz+s;

z*= gx+hy+qz+t .

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

Р* = М∙А,

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

121

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

А= М -1Р*.

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

6.3. Однородные координаты. Матричные представления линейных преобразований

Определение. Плоскими однородными координатами точки Р(x,y) называется набор чисел (x,y,1). Пространст-венными однородными координатами точкиР(x,y,z) назы-вается набор чисел (x,y,z,1).

Однородные координаты позволяют любое линейное преобразование координат точек представлять в виде умно-жения их слева на некоторую матрицу. Также однородные координаты позволяют оперировать с бесконечно удален-ными точками. Рассмотрим, например, точку на оси x. Ее однородные координаты обозначим через (а,0,0,1). Если устремить точку к бесконечности по оси x, то для ее одно-родных координат справедливо следующее:

lim (a, 0, 0, 1 )= lim a(1, 0, 0, 1/a)= lim a(1, 0, 0, 0).

a→∞ a→∞ a→∞

Таким образом, бесконечно удаленная точка по оси x может быть задана однородными координатами (1, 0, 0, 0). Аналогично могут быть заданы точки, бесконечно удален-ные вдоль осей y, z, а, также других прямых. Геометри-ческий смысл равенства нулю четвёртой координаты бес-

122

конечно удалённых точек состоит в том, что на них не дей-ствуют преобразования сдвига.

В дальнейшем также будут использованы понятия

тождественного и обратного преобразований.

Определение. Тождественным называется преобразо-вание однородных координат точки Р(x, y, z, 1), не изме-няющее их. Матрицей данного преобразования будет еди-ничная матрица

Определение. Пусть некоторое преобразование Т переводит все точки пространства (плоскости) Р в точки Р*. Обратным к Т называется преобразование Т -1, осу-ществляющее обратный перевод точек Р* в Р.

Последовательное выполнение преобразований Т и Т -1 дает тождественное преобразование с единичной матрицей Е: МТ-1МТ = Е. Отсюда получим, что матрица обратного преобразования:

МТ -1 -1Т.

Преобразование Т -1существует только при условии:

det МТ 0.

Определение. Элементарными назовем следующие линейные преобразования: сдвиг, отражение, изменение масштаба, поворот.

1) Сдвиг на вектор (x0, y0, z0). Все координаты точек увеличиваются на постоянные значения: x*=x+x0 ; y*=y+y0 ; z*= z+z0 .

В матричной форме:

123

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

При этом матрица сдвига на вектор (x0, y0, z0) имеет вид:

Мсд(x0, y0, z0) =

Обратное преобразование соответствует сдвигу на обратный вектор (-x0, -y0, -z0):

М -1сд(x0, y0, z0) = Мсд(-x0, -y0, -z0).

2) Отражение. При данном преобразовании одна или несколько координат точек меняют свой знак на проти-воположный. Матрицы преобразований получаются из мат-рицы Е заменой соответствующих диагональных элементов с 1 на (-1). Обратные преобразования отражения совпадают с прямыми. Рассмотрим основные виды отражений.

а) Отражение относительно плоскости -например,0yz (x=0). При этом однородные координаты точек по осям y, z оста-ются неизменны, а по x изменяют свой знак на противопо-

124

положный: Р = (x, y, z, 1) → Р* = ( - x, y, z, 1). Прямая и обратная матрицы преобразования будут следующими:

Мот.(x)= М –1от.(x) =

Матрицы отражений относительно других плоскостей строятся аналогично.

б) Отражение относительно оси - например, . Сохраняют-ся однородные координаты точек по этой оси (x); по остальным ( y, z) - изменяют свой знак на противополож-ный:Р=(x, y, z, 1) →Р*=(x, - y,- z, 1). Матрицы прямого и обратного преобразований:

Мот.(y, z) = М –1от.( y, z) =

При отражении относительно других осей матрицы строятся аналогично.

в) Отражение относительно начала координат . Все одно-родные координаты точек изменяют свой знак на противо-положный:Р=(x, y, z,1) →Р* =( -x, -y, -z,1). Матрицы пре-образования будут следующими:

Мот.(х, y, z) = М –1от.(х, y, z) =

Изменение масштаба.

Координаты всех точек Р(x, y, z) умножаются на фик-сированные положительные числа a, b,c (коэффициенты из-

125

менения по осям x, y, z):

P*=

При отсутствии изменения координаты ее коэффици-ент изменения равен 1.

Матрица для однородных координат при изменении масштаба образуется из Е заменой соответствующих диа-гональных единиц на коэффициенты изменения:

Мим(a, b, c) =

Обратное преобразование соответствует изменению масштаба с коэффициентами (1/a,1/b,1/c):

М -1им(a, b, c) = Мим(1/a, 1/b, 1/c) =

4 ) Поворот. z

α

0

γ β y

x

Рис.6.4

126

Поворот вокруг произвольной оси, проходящей через начало координат, можно представить в виде последо-вательных поворотов вокруг осей x, y, z. Положительные на-правления углов поворота вокруг этих осей обычно задают таким образом, чтобы из положительного направления оси поворот происходил против часовой стрелки. Соот-ветствующие матрицы имеют следующий вид:

а) матрица поворота на угол α вокруг оси z :

Мпz(α) =

б) матрица поворота на угол β вокруг оси y:

Мпy(β) =

в) матрица поворота на угол γ вокруг оси x:

Мпx(γ) =

Матрицы обратных преобразований:

M-1пz(α) = Мпz(-α); M-1пz(β) = Мпz(-β); M-1пy(γ) = Мпy(-γ).

Матрицы аналогичных плоских преобразований полу-

чают из пространственных вычеркиванием строки и столб-ца, соответствующих отсутствующей координате.

127

Функции на языке Autolisp, формирующие матрицы элементарных линейных преобразований, даны в Прило-жении:

  1. сдвиг – функция SD (результат – в списке MSD);

  2. отражение – функция MR (результат – в списке MMR);

  3. изменение масштаба – SC (результат – в списке MSC );

  4. повороты вокруг осей x, y, zRX, RY, RZ (результат, соответственно, в списках MRX, MRY, MRZ ).

Задачи.

Записать прямые и обратные матрицы элементарных преобразований, при помощи которых можно осуществить следующие действия:

  1. увеличение координат x на 10, уменьшение y на 20, z - на 40;

  2. приращение на вектор (∆x,∆z)=(10,-10) в плоскости 0xz;

  3. отражение относительно плоскости Oxz;

  4. отражение относительно оси О z;

  5. увеличение координат x - в 10 раз, z - в 20 раз - в пространстве;

  6. уменьшение координат y в 2 раза, увеличение координат z в 3 раза в плоскости 0yz;

  7. поворот на угол (-45°) вокруг оси x в плоскости 0yz;

  8. поворот на угол 30° вокруг оси y в пространстве.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]