![]() КАТЕГОРИИ: Архитектура-(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:
Данная запись означает, что исходные координаты точки х и у преобразуются в х При а = d = 1 и с = b = 0 преобразование сведется к единичной матрице
и координаты точки Р останутся неизменными. Как и следовало ожидать, в линейной алгебре умножение на единичную матрицу эквивалентно умножению на 1 в обычной алгебре. В случае d = l, b = c = 0
где х Рассмотрим теперь еще случай b = с = 0, т.е.
Данное преобразование вызывает изменение обеих координат х и у вектора Р (рис. 2-1 b). Если а Если значение a или d отрицательное, то вектор отражается относительно координатных осей или относительно плоскости. Чтобы убедиться в этом, возьмем b = с = 0, d = 1 и a
и в результате получаем симметричное отражение относительно оси у (рис. 2-1 с). Если b = с = 0, а = 1, d Если b = с = 0, а = d < 0, то происходит отражение относительно начала координат, это показано на рис. 2-1 d, где а = - 1, d = 1. Заметим, что обе операции отражения и масштабирования зависят только отдиагональных членов матрицы преобразования. Рассмотрим теперь случай с недиагональными членами. Возьмем сначала значения a = d = l, c = 0, тогда
Заметим, что координата х точки Р осталась неизменной, тогда как координата y * линейно зависит от исходных координат. Данное преобразование называется сдвигом (рис. 2-1е). Аналогично, в случае, когда a = d = l, b = 0, преобразование приведет к сдвигу пропорционально координате у (рис. 2-1 f). Таким образом, видно, что недиагональные члены матрицы преобразования создают эффект сдвига координат вектора точки Р. Прежде чем закончить с преобразованием точек, разберем действие общего преобразования, заданного выражением (2-1), когда начальный вектор лежит в точке начала координат, т.е. или, в случае начала координат,
Видно, что начало координат инвариантно относительно преобразования общего вида. Это ограничение устраняется при использовании однородных координат. 2-5 ПРЕОБРАЗОВАНИЕ ПРЯМЫХ ЛИНИЙ Прямую линию можно определить с помощью двух векторов, задающих координаты ее конечных точек. Расположение и направление линии, соединяющей две эти точки, может изменяться в зависимости от положений векторов. Реальный вид изображения линии зависит от типа используемого дисплея. В этом разделе мы рассмотрим только математические операции над конечными точками линии. На рис. 2-2 изображена прямая линия, проходящая между двумя точками A и В. Положение векторов точек А и В задается следующим образом: [ А ]= [0 1] и [ B ] = [2 3]. Рассмотрим матрицу преобразования
которая, как следует из предыдущего обсуждения, приводит к сдвигу изображения. Преобразование векторов А и В с помощью матрицы [ Т ] дает новое положение векторов A
и
Таким образом, результирующие координаты для точки А
Умножим эту матрицу на [ T ]:
где компоненты [ L 2-6 ПРЕОБРАЗОВАНИЕСРЕДНЕЙ ТОЧКИ На рис. 2-2 видно, что(2 х 2)-матрица преобразует прямую линию у= х + 1, проходящую между точками А и В в другую прямую
Преобразуем одновременно две крайние точки:
итак, конечные точки преобразованной линии А
Средняя точка отрезка А
Возвращаясь к исходной линии AB, можно определить среднюю точкуследующим образом:
Применив матрицу преобразования [ Т ]к средней точке линии АВ,получаем:
Из сравнения выражений (2-13) и (2-15) видно, что они одинаковы, и поэтому средняя точка линии АВ преобразуется в среднюю точку линии А
Дата добавления: 2015-04-25; Просмотров: 693; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |