Рефераты. Задачи графических преобразований в приложениях моделирования с использованием ЭВМ

2. Растяжение (сжатие) вдоль координатных осей можно задать так:


x* = ax, (2.5)

y* = dy, (2.6)

a > 0, d > 0. (2.7)


Растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что a > 1 (a < 1). На рис. 5 a = d > 1.

3.    Отражение (относительно оси абсцисс) (рис. 6) задается при помощи формул:


x* = x, (2.8)

y* = -y. (2.9)


4.      На рис. 7 вектор переноса ММ* имеет координаты l, m. Перенос обеспечивает соотношения:


x* = x + l, (2.10)

y* = y + m. (2.11)


 


M

 

0

 

Y

 

X

 

 






Рис. 4

 

 

 

 

 

M*

 

0

 

Y

 

X

 







Рис. 5

 

M

 

0

 

Y

 

X

 

 






Рис. 6

M*

 
 


 


M*

 
 


M

 

0

 

Y

 

X

 



 




Рис. 7

 

 

 

Выбор этих четырех частных случаев определяется двумя обстоятельствами.

1.        Каждое из приведенных выше преобразований имеет простой и наглядный геометрический смысл (геометрическим смыслом наделены и постоянные числа, входящие в приведенные формулы).

2.        Как известно из курса аналитической геометрии, любое преобразование вида (2.1) всегда можно представить как последовательное исполнение (суперпозицию) простейших преобразований вида 1 – 4 (или части этих преобразований).

Таким образом, справедливо следующее важное свойство аффинных преобразований плоскости: любое отображение вида (2.1) можно описать при помощи отображений, задаваемых формулами (2.3) – (2.11).

Для эффективного использования этих известных формул в задачах компьютерной графики более удобной является их матричная запись. Матрицы, соответствующие случаям 1 – 3, строятся легко и имеют соответственно следующий вид:


cos j sin j a 0 1 0

-sin j cos j 0 d 0 -1




3.     Однородные координаты точки

Пусть М – произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно не равных нулю чисел х1, х2, х3, связанных с заданными числами х и у следующими соотношениями:


x1 / x3 = x, x2 / x3 = y (3.1)


При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М (х, у) плоскости ставится в соответствие точка МЭ (х, у, 1) в пространстве.

Необходимо заметить, что произвольная точка на прямой, соединяющей начало координат, точку О (0, 0, 0), с точкой МЭ (х, у, 1),может быть задана тройкой чисел вида (hx, hy, h).

Будем считать, что h = 0. Вектор с координатами hx, hy, h является направляющим вектором прямой, соединяющей точки О (0, 0, 0) и МЭ (х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.

Тем самым между произвольной точкой с координатами (х, у) и множеством троек чисел вида (hx, hy, h), h = 0, устанавливается взаимно однозначное соответствие, позволяющее считать числа hx, hy, h новыми координатами этой точки.

Широко используемые в проективной геометрии однородные координаты позволяют эффективно описывать так называемые несобственные элементы (по существу, те, которыми проектная плоскость отличается от привычной евклидовой плоскости).

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


х : у : 1 (3.2)


или, более общо,


х1 : х2 : х3 (3.3)


(здесь непременно требуется, чтобы числа х1, х2, х3 одновременно в нуль не обращались).

Применение однородных координат оказывается удобным уже при решении простейших задач.

Рассмотрим, например, вопросы, связанные с изменением масштаба. Если устройство отображения работает только с целыми числами (или если необходимо работать только с целыми числами), то для произвольного значения h (например, h = 1) точку с однородными координатами (0.5, 0.1, 2.5) представить нельзя. Однако при разумном выборе h можно добиться того, чтобы координаты этой точки были целыми числами. В частности, при h = 10 для рассматриваемого примера имеем (5, 1, 25).

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.