КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Аффинные преобразования на плоскостиСтр 1 из 5Следующая ⇒ ПРЕОБРАЗОВАНИЕ ОБЪЕКТОВ И СИСТЕМ КООРДИНАТ Координатный метод представления и обработки геометрических объектов был введен в XVII веке французскими математиками Р.Декартом и П.Ферма. На этом методе основывается аналитическая геометрия , которую можно считать фундаментом компьютерной графики.
В современной компьютерной графике широко используется координатный метод: · координаты используются для описания плоских и пространственных объектов. Например, объекты микромира, объекты на поверхности Земли, объекты космического пространства и т.п. Даже тогда, когда отображаются цветовые пятна в каком-то видеоэффекте, то и здесь используются координаты для учета взаимного расположения отдельных элементов. · каждая точка на экране монитора (или на бумаге при печати на принтере) задается координатами – например, пиксельными, текстуры – точками привязки текселов. · при выполнении задач 3D конвейера используются разные системы координат и преобразования из одной системы координат в другую.
Когда пользователь графической системы видит на экране перемещающийся объект, то, как вы считаете, что на самом деле происходит – перемещаются объекты или система координат? Например, если в кино вы видите объекты, вращающиеся по часовой стрелке, то может в действительности это камера поворачивается против часовой стрелки? Преобразование объектов и преобразование систем координат тесно связаны между собой. Движение объектов можно рассматривать как движение в обратном направлении соответствующей системы координат.
Базовые геометрические преобразования объектов (трансформации) включают четыре основных преобразования, к которым относятся перемещение(transfer), вращение (rotation), масштабирования (scale) и симметричное отражение (reflection) относительно каждой из осей координат трехмерного евклидова пространства. Эти основные трансформации опираются на частные случаи аффинных преобразований, имеющих четкую геометрическую интерпретацию.
Рассмотрим математические основы геометрических преобразований на плоскости и в пространстве. Аффинные преобразования на плоскости Аффинное отображение - такое отображение плоскости(пространства) на другую плоскость (пространство), при котором каждая прямая отображается в прямую (рис. 1). Аффинное преобразование есть аффинное отображение плоскости на себя [ 1 ].
Рис. 1
Математический аппарат аффинных преобразований лежит в основе построения изображений в компьютерной графике.
Пусть на плоскости дана прямолинейная система координат. Тогда любой точке М ставится в соответствие упорядоченная пара чисел (x,y) - координаты точки М. Преобразование, которое переводит точку М (x,y) в другую точку М*(x*,y*) (рис. 2) задается формулами:
x* = ax + by + l ( 1 ) y* = g x + dy + m
где a, b, l,g, d, m - произвольные числа, связанные неравенством: A b ¹ 0 G d
В аффинных преобразованиях плоскости особую роль играют несколько важных частных случаев, имеющих четкую геометрическую интерпретацию, а именно: А. Поворот вокруг начальной точки на угол j (рис. 3 ). Это преобразование описывается формулами: x* = x cos j - y sin j ( 2 ) y* = x sin j + y cos j
Б. Растяжение ( сжатие ) вдоль координатных осей ( рис. 4 ). x* = a x ( 3 ) y* = d y
Для растяжения : a > 1; d > 1 Для сжатия : 1 > a > 0; 1 > d > 0
В. Отражение относительно оси абсцисс ( рис. 5 ).
x* = x ( 4 ) y* = - y Г. Перенос ( рис. 6 ). x* = x + l ( 5 ) y* = y + m где l, m - координаты вектора переноса М М*.
Как доказывается в курсе аналитической геометрии, любое преобразование точки М( x , y ) в точку М*(x*,y*) всегда можно представить как последовательное исполнение (суперпозицию) простейших преобразований вида А, Б, В, Г (или части этих преобразований). Для эффективного использования указанных формул в задачах компьютерной графики более удобной является их матричная запись. Для случаев А, Б, В матрицы строятся легко: А. cos j sin j Б. a 0 В. 1 0
- sin j cos j 0 d 0 - 1
Для переноса (случай Г) так просто не получается. Чтобы обеспечить матричный подход в том числе и для переноса ( а значит, и для всего аффинного преобразования в целом ), необходимо перейти к описанию произвольной точки не парой чисел, а упорядоченной тройкой чисел.
|