Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Двумерные преобразования




2-1 ВВЕДЕНИЕ

Изучение математического аппарата, лежащего в основе машинной графики, мы начнем с рассмотрения способов вывода и преобразования точек и линий. Эти способы наряду с соответствующими алгоритмами рисования используются для изображения объектов или визуализации графической информации. Возможность проводить преобразования точек и линий является фундаментом машинной графики. Нарисованный объект может быть представлен в нужном масштабе, повернут, перемещен, преобразован или модифицирован в соответствии с требованиями решаемой задачи. Все эти манипуляции с изображением можно выполнить, используя математический аппарат, изложенный в данной главе.

2-2 ИЗОБРАЖЕНИЕ ТОЧЕК

Точка представляется на плоскости двумя своими координатами, которые определяются как элементы матрицы размером 1х2 [ х у ]. В трехмерном пространстве используется матрица размером 1х3 [ х у z ].

Иначе говоря, точка может задаваться в виде вектора-столбца в двумерном пространстве или в виде в трехмерном. Строку [ х у ]или столбец часто называют координатным вектором. Здесь для формирования такого вектора будем использовать матрицу-строку, т. е. множество точек, каждая из которых определяет координатный вектор в некоторой системе измерения. Данное множество хранится в компьютере в виде матрицы или массива чисел. Положением точек можно управлять путем манипулирования соответствующей матрицей. Линии, соединяющие точки, формируют отрезки, кривые и картинки.

2-3 ПРЕОБРАЗОВАНИЯ И МАТРИЦЫ

В качестве элементов матрицы могут фигурировать различные величины: числа, сетки или коэффициенты системы уравнений. Правила в матричной алгебре определяют допустимые операции над элементами. Многие физические задачи удобно выражаются в матричном представлении. Для моделей физических систем задача обычно ставится следующим образом: даны матрицы [ A ] и [ B ], найти результирующую матрицу [ Т ], такую, что [ А ][ Т ] = [ В ]. В этом случае решением является матрица [ T ] = [ A ]-1[ В ], где [ А ]-1—матрица, обратная к квадратной матрице [ А ].

В то же время матрицу [ Т ]можно интерпретировать как геометрический оператор. В этом случае длявыполнения геометрического преобразования точек, представленных векторами положений в матрице [ А ], используется умножение матриц. Предположим, что матрицы [ А ]и [ T ] известны. Требуется определить элементы матрицы [ В ]. Представление [ T ] как геометрического оператора является основой математических преобразований, используемых в машинной графике.

2-4 ПРЕОБРАЗОВАНИЕ ТОЧЕК

Рассмотрим результаты умножения матрицы [ x y ], содержащей координаты точки Р, на матрицу общего преобразования размером 2x2:

(2-1)

Данная запись означает, что исходные координаты точки х и у преобразуются в х и y , где х =ах + су, у = bx + dy. Представляют интерес значения х , у —координаты результирующей, преобразованной точки Р. Рассмотрим некоторые специальные случаи.

При а = d = 1 и с = b = 0 преобразование сведется к единичной матрице

(2-2)

и координаты точки Р останутся неизменными. Как и следовало ожидать, в линейной алгебре умножение на единичную матрицу эквивалентно умножению на 1 в обычной алгебре.

В случае d = l, b = c = 0

, (2-3)

где х = ах — результат масштабирования координаты x. Эффект такого преобразования показан на рис. 2-1а.

Рассмотрим теперь еще случай b = с = 0, т.е.

. (2-4)

Данное преобразование вызывает изменение обеих координат х и у вектора Р (рис. 2-1 b). Если а d, то координаты масштабируются различным образом. При a=d> 1 происходит растяжение вектора Р или масштабирование координат. Если 0 < a = d < 1, то имеет место сжатие.

Если значение a или d отрицательное, то вектор отражается относительно координатных осей или относительно плоскости. Чтобы убедиться в этом, возьмем b = с = 0, d = 1 и a , тогда

(2-5)

и в результате получаем симметричное отражение относительно оси у (рис. 2-1 с).

Если b = с = 0, а = 1, d , то выполняется симметричное отражение относительно оси х.

Если b = с = 0, а = d < 0, то происходит отражение относительно начала координат, это показано на рис. 2-1 d, где а = - 1, d = 1. Заметим, что обе операции отражения и масштабирования зависят только отдиагональных членов матрицы преобразования.

Рассмотрим теперь случай с недиагональными членами. Возьмем сначала значения a = d = l, c = 0, тогда

(2-6)

Заметим, что координата х точки Р осталась неизменной, тогда как координата y * линейно зависит от исходных координат. Данное преобразование называется сдвигом (рис. 2-1е). Аналогично, в случае, когда a = d = l, b = 0, преобразование приведет к сдвигу пропорционально координате у (рис. 2-1 f). Таким образом, видно, что недиагональные члены матрицы преобразования создают эффект сдвига координат вектора точки Р.

Прежде чем закончить с преобразованием точек, разберем действие общего преобразования, заданного выражением (2-1), когда начальный вектор лежит в точке начала координат, т.е.

или, в случае начала координат,

.

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

2-5 ПРЕОБРАЗОВАНИЕ ПРЯМЫХ ЛИНИЙ

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

На рис. 2-2 изображена прямая линия, проходящая между двумя точками A и В. Положение векторов точек А и В задается следующим образом: [ А ]= [0 1] и [ B ] = [2 3].

Рассмотрим матрицу преобразования

(2-7)

которая, как следует из предыдущего обсуждения, приводит к сдвигу изображения. Преобразование векторов А и В с помощью матрицы [ Т ] дает новое положение векторов A и В

(2-8)

и

(2-9)

Таким образом, результирующие координаты для точки А - это х = 3 и у = 1. Аналогично, В — новая точка с координатами x = 11, у = 7. В более компактном виде отрезок АВ может быть представлен матрицей размером (2x2):

Умножим эту матрицу на [ T ]:

, (2-10)

где компоненты [ L ]представляют собой преобразование координат векторов[ A *] и [ B *]. Результат преобразования А в А и В в В показан на рис. 2-2, где х и y это исходные оси координат, а х и y — преобразованные оси. Из рисункавидно, что преобразование сдвига [ T ] увеличивает длину отрезка и изменяет его направление.

2-6 ПРЕОБРАЗОВАНИЕСРЕДНЕЙ ТОЧКИ

На рис. 2-2 видно, что(2 х 2)-матрица преобразует прямую линию у= х + 1, проходящую между точками А и В в другую прямую , которая проходит между точками А и В . Фактически с помощью ( 2 х 2 )- матрицы осуществляется преобразование любой прямой в другую прямую. Все точки преобразованнойлинии непосредственно соответствуют всем точкам исходной линии.Этодостаточно очевидно для конечных точек линии. Рассмотрим теперь преобразование средней точки прямой линии АВ. Допустим, что

.

Преобразуем одновременно две крайние точки:

(2-11)

итак, конечные точки преобразованной линии А В имеют следующие координаты

(2-12)

Средняя точка отрезка А В выражается через преобразованные конечные точки

. (2-13)

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

(2-14)

Применив матрицу преобразования [ Т ]к средней точке линии АВ,получаем:

(2-15)

Из сравнения выражений (2-13) и (2-15) видно, что они одинаковы, и поэтому средняя точка линии АВ преобразуется в среднюю точку линии А В . Такой метод можно применить и к любым другим отрезкам разделенной линии. Таким образом, при преобразовании путем умножения на матрицу гарантируется соответствие всех точек линии АВ и А В .




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 659; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.03 сек.