Преобразования на плоскости (2D преобразования)

Цель работы

Известно, что объекты, которые отображаются на дисплее компьютера, могут быть преобразованы или трансформированы по какому-либо закону для достижения некоторого эффекта. Кроме того, эти графические объекты должны быть представлены в растровом формате, т.к. дисплей является растровым графическим устройством.

Поэтому целью данной работы является изучение алгоритмов:

1. преобразования объектов на плоскости;

2. разложения графической информации в растр.

Теоретическая часть

Преобразования на плоскости (2D преобразования)

Преобразование - это изменение координат некоторой точки М на плоскости по некоторому закону: M(x,y) -> M’(x,y).

Существуют следующие элементарные преобразования на плоскости:

– поворот вокруг начальной точки на угол;

– масштабирование;

– зеркальное отражение;

– параллельный перенос.

Все эти виды преобразований могут быть представлены

общим аффинным преобразованием.

 
 

1. Поворот описывается формулами

       
   
 
 
 


3.

 
 

2. Масштабирование можно задать так:

где коэффициенты масштабирования.

Виды масштабирования

     
растяжение вдоль оси х сжатие вдоль оси х Растяжение вдоль оси у сжатие вдоль оси у

3. Зеркальное отражение задается формулами:

Относительно оси абсцисс Относительно оси ординат
 

 
 

 
 


4. Параллельный перенос можно описать формулами:

 
 

5. Общее аффинное преобразование описывается следующими соотношениями

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

Примеры аффинного преобразования:

1. Поворот фигуры относительно точки С, не являющейся началом координат, на заданный угол осуществляется за 3 шага (см. рис. 5, а):

- параллельный перенос фигуры так, чтобы данная точка С оказалась в точке начале координат (см. рис.5, б);

- поворот фигуры относительно начала координат на заданный угол (см. рис. 5, в);

- параллельный перенос фигуры на исходное место (см. рис. 5, г).

 
 


а) б) в) г)

Рис. 5

2. Зеркальное отражение фигуры относительно прямой, не параллельной ни одной из осей координат осуществляется также за 3 шага (см. рис. 6, а):

- зная тангенс угла наклона прямой, повернуть на этот угол фигуру (см. рис. 6, б);

- зеркально отразить фигуру относительно оси х (см. рис. 6, в);

- повернуть отраженную фигуру на известный угол, взятый с противоположным знаком (см. рис. 6, г).

 
 


а) б) в) г)

Рис. 6


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: