МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
EMBED Word.Picture.8
Побудова зображень на екрані комп’ютера
Методичні вказівки
до графічно-розрахункових робіт
з курсу «КОМП’ЮТЕРНА ГРАФІКА»
Затверджено
на засiданнi кафедри
"Автоматика та телемеханiка"
Протокол № 8 вiд 26.12.2002p.
Львів 2002
Побудова зображень на екрані комп’ютера: Методичні вказівки до графічно-розрахункових робіт з курсу "Комп'ютерна графіка" для студентів спеціальності 6.0914 "Комп'ютеризовані системи, автоматика і управління" / Уклали А.Е.Лагун, В.І.Отенко, Р.А.Гордійчук - Львiв: Національний університет "Львівська політехніка", 2002. – 18 с.
Укладачi: А.Е.Лагун, доцент
В.І.Отенко, доцент
Р.А.Гордійчук, старший викладач
Вiдповiдальний за випуск І.М. Ковела, канд.техн.наук, доцент
Рецензенти: А.Я.Горпенюк, канд.техн.наук, доцент
А.З.Піскозуб, канд.техн.наук, доцент
Мета роботи - набути практичних навиків в складанні програм для побудови зображень на екрані комп’ютера за допомогою засобів мови Турбо Паскаль.
Графічно-розрахункова робота №1
Короткі теоретичні відомості.
Для адекватного відображення числових результатів на екрані необхідно для кожної прикладної задачі розробити чіткий алгоритм приведення реальних координат об’єкту дослідження до машинних координат. Це передбачає відображення центру реальних координат на екрані в машинних координатах та одержання функціональних залежностей для розрахунку машинних координат.
При побудові графіків для приведення реальних координат до машинних в загальному випадку використовують такі вирази:
EMBED Equation.2 ; (1)
EMBED Equation.2 , (2)
де Xмаш , Yмаш - поточні машинні координати точки в пікселях ;
EMBED Equation.2 , EMBED Equation.2 - відображення центру реальних координат на екрані в машинних координатах ;
Xреальн ,Yреальн - поточні реальні координати точки ;
kX, kY - коефіцієнти перетворення .
Коефіцієнти перетворення в загальному випадку розраховують за наступними співвідношеннями :
EMBED Equation.2 ; (3)
EMBED Equation.2 . (4)
Таким чином, для побудови графіка довільної функції можна скористатися алгоритмом:
Протабулювати задану функцію на проміжку зміни аргументу з метою визначення максимального та мінімального значень функції.
Визначити значення коефіцієнтів перетворення для стискання (у випадку, якщо максимальні значення функції або аргументу перевищують допустиму роздільну здатність монітора) або розширення діапазонів значень функції і аргументу для нормального візуального сприйняття заданої функції на екрані монітора.
Побудувати графік функції за попередньо обрахованими значеннями координат точок функції.
Здійснити розмітку осей через певні проміжки табулювання для X та Y.
Завдання.
Побудувати графік функції (таблиця 1), заданої таблично. Графік повинен відображати результати розрахунків, які записані у файлі на диску. Масштаб розмітки осей координат графіка повинен відповідати реальним результатам розрахунків. Параметри для побудови графіка визначені в таблиці 2. Варіант завдання визначає викладач.
Необхідно передбачити “плаваючий” центр координат – основну частину екрану мають займати ті чверті, в яких знаходиться графік функції.
Таблиця 1.
Таблиця 2
Зміст пояснювальної записки
Завдання.
Розрахунок функціональних залежностей для побудови графіка.
Список ідентифікаторів програми.
Блок-схеми основної програми та окремих процедур і функцій.
Текст програми.
Висновок.
Графічно-розрахункова робота №2
Короткі теоретичні відомості.
В основі побудови зображень на екрані комп'ютера лежать операції переносу, масштабування (гомотетії) і повороту, а також їх композиції.
Точку на ху-площині можна перенести в нове положення шляхом додавання до її координат констант переносу: EMBED Equation.3 EMBED Equation.3
EMBED Equation.3 , EMBED Equation.3 .
Для векторної форми
EMBED Equation.3 , EMBED Equation.3 ,
EMBED Equation.3 ;
EMBED Equation.3 ,
P’=P+T.
Перенесення складного об'єкту виконується шляхом перенесення всіх його точок, – реперних точок: EMBED Equation.3 .
Масштабування точки EMBED Equation.3 передбачає домноження її координат на коефіцієнти масштабування:
EMBED Equation.3 , EMBED Equation.3 .
При переході до векторної форми, де
EMBED Equation.3 ,
можна записати
EMBED Equation.3 ,
P’=PS
При повороті точки EMBED Equation.3 на кут EMBED Equation.3 відносно початку координат нові координати EMBED Equation.3 визначаються так (проти годинникової стрілки, додатний поворот):
EMBED Equation.3 ,
EMBED Equation.3 .
В векторній формі, де EMBED Equation.3 ,
EMBED Equation.3 ,
P’=PR
При від'ємному повороті (за годинниковою стрілкою) EMBED Equation.3
Розрахунок повороту в полярних координатах можна виразити так:
EMBED Equation.3 ;
EMBED Equation.3 ,
EMBED Equation.3 .
На практиці наведені елементарні перетворення при побудові зображень на екрані поєднують. Для цього координати точки приводяться до однорідних координат. При цьому з’являється можливість всі перетворення реалізувати з допомогою множення матриць.
Даний метод полягає в тому, що кожна точка в EMBED Equation.3 -мірному просторі є проекцією точки з EMBED Equation.3 -мірного простору. Так точка на площині EMBED Equation.3 може бути проекцією точки EMBED Equation.3 з простору EMBED Equation.3 , де EMBED Equation.3 може набувати будь-яких значень, крім EMBED Equation.3 .
Для EMBED Equation.3 координати є нормалізованими.
Декартові координати точки EMBED Equation.3 на площині враховуються як:
EMBED Equation.3 .
Надалі двомірні перетворення в площині екрану будемо розглядати як перетворення в однорідних нормалізованих координатах EMBED Equation.3 .
Для перетворень в нормалізованих однорідних координатах розмірність матриць і векторів перетворень збільшується на 1.
Перенесення.
EMBED Equation.3 , EMBED Equation.3 ,
EMBED Equation.3 EMBED Equation.3
P’=PT(Dx,Dy)
EMBED Equation.3
Масштабування.
EMBED Equation.3
P’=PS(Sx,Sy)
EMBED Equation.3 .
Поворот.
EMBED Equation.3
P’=PR()
EMBED Equation.3
Всі базові перетворення виконуються відносно початку координат. Для виконання перетворень відносно будь-якої точки використовують композицію базових перетворень.
Розглянемо поворот об'єкту в площині екрану навколо довільної точки EMBED Equation.3 . Таке перетворення можна здійснити в результаті послідовності двох базових перетворень: перенесення EMBED Equation.3 поворот EMBED Equation.3 перенесення.
Перенос т. EMBED Equation.3 в початок координат.
EMBED Equation.3
Поворот об'єкту на кут EMBED Equation.3 .
EMBED Equation.3
Перенос, при якому т. EMBED Equation.3 повертається у початкове положення.
EMBED Equation.3
Матриця результуючого перетворення буде такою:
EMBED Equation.3
Якщо при повороті навколо т. EMBED Equation.3 необхідно виконати масштабування відносно цієї ж точки, то послідовність базових перетворень буде мати вигляд: перенесення EMBED Equation.3 масштабування EMBED Equation.3 поворот EMBED Equation.3 перенесення.
Тому для прискорення геометричних перетворень на екрані доцільним є аналітичне виведення результуючої матриці і використання її коефіцієнтів для розрахунку кожної точки об'єкту перетворення.
Завдання.
Створити на екрані комп’ютера графічне вікно і сформувати в ньому рухоме зображення. Вікно розмістити в верхньому правому куті екрану. Навести межі вікна. Параметри рухомого зображення визначені в таблиці 3. Параметри зображення задані в пікселах. Варіант завдання визначає викладач.
Графік і вікно з рухомим зображенням повинні бути присутні на екрані одночасно, причому вікно не має перекривати графік (рис.1).
EMBED CorelFLOW.Diagram.3
Рис.1. Розташування графіка і рухомого зображення на екрані комп’ютера
Таблиця 3
Зміст пояснювальної записки
Завдання.
Розрахунок матриці перетворень для рухомого зображення.
Список ідентифікаторів програми.
Блок-схеми основної програми та окремих процедур і функцій.
Текст програми.
Результат виконання програми.
Висновок.
Список літератури.
ЛІТЕРАТУРА
1. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль.- 2-е изд. - М.: Изд-во МГТУ, 1992.
2. Белецкий Ян. Турбо Паскаль с графикой для персональных компьютеров: Пер. с пол. - М.: Машиностроение, 1991.
3. Прокофьев Б.П., Сухарев Н.Н., Храмов Ю.Е. Графические средства Turbo C и Turbo C++. - М.: Финансы и статистика, СП"Ланит", 1992.
4. Фоли Дж., Вэн Дэм А. Основы интерактивной машинной графики: в 2-х кн. Пер. с англ. - М.: Мир, 1985.
5. Эгрон Ж. Синтез изображений. Базовые алгоритмы: Пер. с франц.-М.: Радио и связь, 1993.
6. Загляднов И.Ю., Касаткин В.Н. Построение изображений на экране персональной ЭВМ.- К.: Тэхника, 1990.
Додаток 1(Титульна сторінка)
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра
«Автоматика і телемеханіка»
ГРАФІЧНО - РОЗРАХУНКОВА РОБОТА №1 (2)
з курсу
«КОМП’ЮТЕРНА ГРАФІКА»
Побудова ГРАФІКА ФУНКЦІЇ (РУХОМОГО ЗОБРАЖЕННЯ) на екрані комп’ютера
Виконав : студент групи ............
Прізвище, ініціали
Перевірив: посада, прізвище, ініціали викладача.
Львів 2002