Міністерство освіти РБ
Установа освіти «Вітебський державний технологічний університет»
Кафедра «Автоматизація технологічних процесів і виробництв»
Курсова робота
з дисципліни «Системи комп'ютерної графіки»
Розробка програми для створення і перетворення графічних об'єктів
Виконав: студент групи ІТ - 1
Ріпне Бегенч Тіркішмурадовіч
Перевірив: старший викладач
кафедри АТПП
Надійна Наталія Леонідівна
Вітебськ, +2014
Введення
Ця курсова робота виконана на мові програмування високого рівня C ++ з використанням компілятора версії RAD Studio XE4 фірми Embarcadero Technologies.
Метою даної курсової роботи є демонстрація можливості створення програми для створення і перетворення графічних об'єктів на мові програмування С ++.
Виходячи з мети курсової роботи, були виявлені наступні завдання:
розробити структуру програми;
описати графічні об'єкти;
здійснити вибір мови програмування і середовища розробки;
описати алгоритм роботи програми;
надати вихідний код програми;
призвести тестування програми
1. Аналіз вихідного графічного об'єкта і методів перетворення фігур
Рис. 1. Вихідний графічний об'єкт являє собою коло Бенхема. Об'єкт має діаметром величиною d.
Видовими перетвореннями графічних об'єктів називаються перетворення, які ведуть зміни їх місця розташування, форми, розмірів або орієнтації. Видові перетворення поділяються на базові та комбіновані. Базові перетворення відповідають тільки за якийсь один вид перетворення, а комбіновані - здійснюють одразу кілька видів перетворень. До базових видовим перетворенням відносяться перенос, масштабування, відображення. До комбінованих перетворенням відносяться обертання і ін.
Масштабування - це перетворення, при якому об'єкт змінює свої розміри пропорційно заданим значенням.
Відображення - це таке видове перетворення при якому об'єкт відображається щодо осі Х або осі Y або відносно початку координат.
У практичній реалізації видові перетворення являють собою операції перемноження двох матриць.
Перша матриця - це матриця координат вихідної фігури Місх. Друга - матриця видового перетворення Тпреобр. (перенесення, масштабування, відображення, або обертання). У результаті одержують результуючу матрицю координат нового положення об'єкта - Мрез ..
1.1 Математичний опис операцій перетворення плоских фігур
Матричне рівняння видового перетворення вихідної фігури виглядає наступним чином
Місх? Тпреобр=Мрез (1)
Тут Тпреобр - матриця двовимірного видового перетворення, третього рангу, квадратна, здатна перетворювати двовимірні об'єкти, виражені в однорідних координатах, має вигляд:
Кожен елемент цієї матриці відповідає за свій, і тільки свій вид перетворення:
елементи l і m відповідають за перенесення;
елементи b і d відповідають за зрушення;
елементи a, e і s відповідають за масштабування і відображення.
Матриця вихідних координат фігури Місх задається в однорідної системі координат, тобто кожен рядок цієї матриці складається з трьох параметрів: координати однієї з вершин фігури по осі X, координати тієї ж вершини по осіY і скалярного (масштабирующего) множника h. Скалярний множник додається для того, щоб можна було виконувати множення двох матриць: Місх і Тпреобр, і крім цього, він дозволяє додатково масштабувати координати фігури. Як правило, якщо значення координат фігури, заданої в однорідної системі відповідають тим самим значенням в декартовій системі, то скалярний множник h дорівнює одиниці. Тоді матриця вихідних координат фігури, що складається з k вершин, буде мати наступний вигляд
Після підстановки Місх і Тпреобр в рівняння (1) воно буде виглядати наступним чином
Тут результуюча матриця координат Мрез визначає нове неортонормірованное стан фігури в однорідної системі координат після перетворення. Координати неортонорміро...