Застосування афінних перетворень до зсуву, повороту, перенесення, віддзеркалення та проектування дво- і тривимірних зображень (Лабораторна робота № 3)

Страницы работы

Содержание работы

Лабораторна робота №3 – Застосування афінних перетворень до зсуву, повороту, перенесення, віддзеркалення та проектування дво- і тривимірних зображень

Теоретичні відомості

          Афінним називається таке відображення площини  (простору)  на  іншу площину  (простір),  при  якому  кожна  пряма відображається в  пряму (рис. 3.1).  Афінне  перетворення – це афінне  відображення площини на  себе.

                           

Рис. 3.1. Приклад афінного перетворення

          Математичний  апарат  афінних  перетворень  лежить в  основі побудови векторних зображень  в  комп’ютерній  графіці.

1

Рис. 3.2.

Нехай на  площині  визначено  прямолінійну  систему координат.  Тоді  будь-якій точці  М  ставиться у  відповідність упорядкована  пара  чисел  (x,y) - координати  точки  М.  Перетворення,  яке  переводить точку  М (x,y)  в  іншу  точку  М*(x*,y*)  (рис. 3.2)  задається  формулами:

                                                                                          (3.1)                                                                  

де  a, b, l, g, d, m  – довільні  числа,  зв’язані  нерівністю:

                                                          

Серед множини можливих афінних перетворень площини  особливу  роль  відіграють кілька  важливих  окремих випадків,  що мають чітку геометричну інтерпретацію,  а  саме поворот, стиснення-розтягнення, відбиття та зсув. В табл. 3.1 наведено


Назва перетворення

Геометрична інтерпретація

Аналітична залежність

1.   

Поворот  навколо початку координат на  кут j 

M2

 

2.   

Стиснення вздовж координатної осі

3.   

Відбиття відносно координатної осі

4.   

Зсув

Для ефективного представлення основних перетворень на базі матричних операцій застосовуються однорідні координати. В загальному вигляді матричний запис афінних перевторень:

.

В тривимірному просторі матриця узагальненого афінного перетворення має вигляд:

.

В бібліотеці Open GL перетворення фігур досягається шляхгм відповідного перетворення системи координат перед виводом фігури. Для перенесення системи координат застосовуються наступні процедури:

glTranslated(dx, dy, dz: double);

де dx, dy, dz – величини зсуву системи координат по відповідним осям.

glRotated(Angle, x, y, z: double);

де x, y, z – координати радіус-вектора, навоколо якого здійснюється поворот системи координат (довжина вектора має дорівнювати 1); Angle – кут повороту в градусах (додатній напрямок проти годинникової стрілки, від’ємний – за годинниковою стрілкою).

glScaled(kx, ky, kz: double);

де kx, ky,kz – коефіцієнти стиснення / розтягу масштабу відповідних координатних осей.

          Для збереження поточного стану координатної системи застосовується процедура pushmatrix, а для його відновлення – popmatrix.   

Завдання

1.  Вивести на екран зображення стрілки та перевірте роботу наведених вище процедур Open GL.

2.  З застосуванням Open GL написати процедуру для виводу на екран зображення кола з центром в початку координат та радіусом 1. 

3.  Шляхом перетворення координат та виклику написаної процедури вивести на екран кілька кіл в різних позиціях та різного радіусу.

4.  Переробити програму малювання графіка з попередньої лабораторної роботи, так, щоб по заданому інтервалу зміни координати х автоматично визначалися необхідні межі виводу по координаті y та на форму виводився весь графік функції цілком.

Похожие материалы

Информация о работе