Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2002
Тип роботи:
Методичні вказівки до лабораторної роботи
Предмет:
Комп'ютерна графіка

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет «Львівська політехніка»  ПОБУДОВА РУХОМИХ ЗОБРАЖЕНЬ Методичні вказівки до лабораторної роботи № 4 з курсу «КОМП’ЮТЕРНА ГРАФІКА» Затверджено на засiданнi кафедри "Автоматика та телемеханiка" Протокол № 8 вiд 26.12.2002p. Львів 2002 Побудова рухомих зображень: Методичні вказівки до лабораторної роботи з курсу "Комп'ютерна графіка" для студентів спеціальності 6.0914 "Комп'ютеризовані системи, автоматика і управління" / Уклали А.Е.Лагун, В.І.Отенко, Р.А.Гордійчук - Львiв: Національний університет "Львівська політехніка", 2002. – 14 с. Укладачi: А.Е.Лагун, доцент В.І.Отенко, доцент Р.А.Гордійчук, старший викладач Вiдповiдальний за випуск І.М. Ковела, канд.техн.наук, доцент Рецензенти: А.Я.Горпенюк, канд.техн.наук, доцент А.З.Піскозуб, канд.техн.наук, доцент Мета роботи - набути практичних навиків в складанні програм для побудови рухомих зображень на екрані комп’ютера за допомогою матричних перетворень. 1. Короткі теоретичні відомості. Для побудови зображень на екрані комп'ютера використовуються операції переносу, масштабування, повороту та їх композиції.  рис.1 Точку на ху-площині можна перенести в нове положення шляхом додавання до її координат констант переносу:  (рис.1) , . Для векторної форми , , ; , P’=P+T. Перенесення складного об'єкту виконується шляхом перенесення всіх його точок, – реперних точок: . Масштабування точки передбачає домноження її координат на коефіцієнти масштабування:  , . При переході до векторної форми, де , можна записати , P’=P(S При повороті точки на кут  відносно початку координат нові координати  визначаються так (проти годинникової стрілки, додатний поворот): , . В векторній формі, де , , P’=P(R При від'ємному повороті (за годинниковою стрілкою)  Розрахунок повороту в полярних координатах можна виразити наступним чином (рис.2): ; , . На практиці наведені елементарні перетворення при побудові зображень на екрані поєднують. Для цього координати точки приводяться до однорідних координат. При цьому всі перетворення можна реалізувати за допомогою множення матриць. При від'ємному повороті (за годинниковою стрілкою)  Розрахунок повороту в полярних координатах можна виразити наступним чином (рис.2): ; , .  рис.2 На практиці наведені елементарні перетворення при побудові зображень на екрані поєднують. Для цього координати точки приводяться до однорідних координат. При цьому всі перетворення можна реалізувати за допомогою множення матриць. Даний метод полягає в тому, що кожна точка в -мірному просторі є проекцією точки з -мірного простору. Так точка на площині може бути проекцією точки з простору , де  може набувати будь-яких значень, крім . Для  координати є нормалізованими. Декартові координати точки  на площині враховуються як: . Надалі двомірні перетворення в площині екрану будемо розглядати як перетворення в однорідних нормалізованих координатах . Для перетворень в нормалізованих однорідних координатах розмірність матриць і векторів перетворень збільшується на 1. Перенесення. , ,  P’=P(T(Dx,Dy)  Масштабування.  P’=P(S(Sx,Sy) . Поворот.  P’=P(R(()  Всі базові перетворення виконуються відносно початку координат. Для виконання перетворень відносно будь-якої точки використовують композицію базових перетворень. Розглянемо поворот об'єкту в площині екрану навколо довільної точки . Таке перетворення можна здійснити в результаті послідовності двох базових перетворень: перенесення поворот перенесення. Перенесення т. в початок координат (рис.3).  Поворот об'єкту на кут  (рис.4).  Перенесення, при якому т. повертається у початкове положення (рис.5).  Матриця результуючого перетворення буде такою:   рис.3. рис.4. рис.5. Якщо при повороті навколо т. необхідно виконати масштабування відносно цієї ж точки, то послідовність базових перетворень буде мати вигляд: перенесення масштабування поворот перенесення. Як відомо, перемноження матриць некомутативне в загальному випадку (результат залежить від переставлення матриць). Це означає, що результуюче перетворення залежить від порядку виконання базових перетворень. Однак, в окремих випадках для двох базових перетворень  і  виконується закон комутативності (порядок їх виконання не вилине на кінцевий результат).  Композиція загального вигляду, складена з послідовності , описується матрицею . Елементи  утворюють об'єднану матрицю , а і  описують сумарне перенесення. Для розрахунку , тобто для виконання результуючого перетворення, необхідно виконати перемноження вектора  на матрицю . Це вимагає 9 операцій множення і 6 операцій підсумовування. Структура останнього стовпця матриці  дозволяє спростити такі розрахунки: , тобто звести їх до 4 операцій множення і 4 підсумовування. Спрощення розрахунків тим більше відчутне в часі, чим більше точок об'єкту вимагають перетворень. Тому для прискорення геометричних перетворень на екрані є доцільним аналітичний вивід результуючої матриці і використання її коефіцієнтів для розрахунку кожної точки об'єкту перетворення. В тривимірній комп'ютерній графіці найчастіше використовується лівостороння система координат, оскільки її легше накладати на поверхню екрану. Додатнім вважаються повороти за годинниковою стрілкою. Матриця тривимірного переносу має вигляд , звідки перенос точки в точку  буде мати вигляд (у векторній формі):  Матриця тривимірного масштабування: , звідки масштабування точки буде мати вигляд: . При виконанні тривимірного повороту розглядають повороти відносно кожної з осей: Поворот навколо осі :  Поворот навколо осі :  Поворот навколо осі :  Стовпці і рядки верхньої лівої підматриці  матриць  і  є взаємно-ортогональними одиничними векторами. Всі матриці тривимірних перетворень мають обернені матриці. Матриця  отримується шляхом підстановки знака "-" перед ; --заміною  на обернені їм значення; --шляхом вибору від'ємного кута повороту. Результатом довільної послідовності поворотів навколо осей і є матриця:  Підматриця повороту  є ортогональною, оскільки її стовпці є взаємноортогональними одиничними векторами. При виконанні тривимірних перетворень відносно довільної точки простору використовують композицію елементарних перетворень. При цьому поворот на довільний кут розбивається на окремі повороти навколо кожної з осей. 2. Завдання. 2.1. Домашня пiдготовка до роботи 1. Вивчити основні матричні перетворення на площині для побудови рухомих зображень. 2. Вивести результуючу матрицю руху для свого варіанту завдання, визначеного викладачем. Параметри зображення задані в таблиці 1 в пікселах. 3. Написати програму мовою Турбо-Паскаль, що дозволяє сформувати на екрані комп’ютера рухоме зображення. Таблиця 1. № варіанту Структура зображення Пояснення   1    Рух кульки по видимому квадратному контуру проти годинникової стрілки. Кольори кульки і контуру різні. Параметри : d=16, a=60   2    Рух кульки по видимому круговому контуру за годинниковою стрілкою. Кольори кульки і контуру різні. Параметри : d=16, R=30   3   Рух кульки по видимому ромбовидному контуру проти годинникової стрілки. Кольори кульки і контуру різні. Параметри : d=18, a=50  № варіанту Структура зображення Пояснення   4   Рух кульки по круговому ( подібному контуру. Зміна центрів обертання в точці А. Параметри : d=16, R=30   5   Рух кульки по видимому контуру у вигляді рівностороннього трикутника проти годинникової стрілки. Кольори кульки і контуру різні. Параметри : d=18, a=70   6    Рух квадрата по невидимому круговому контуру за годинниковою стрілкою. Відрізок радіуса між квадратом і центром контура видимий. Радіус і сторона квадрата взаємно перпендикулярні. Параметри : a=16, R=30   7    Рух квадрата по невидимому круговому контуру проти годинникової стрілки. Орієнтація сторін квадрата відносно сторін вікна під час руху не змінюється. Параметри : a=18, R=35  № варіанту Структура зображення Пояснення   8    Рух сектора проти годинникової стрілки із зміною його кольору (сім кольорів). Параметри: R=40; (=30(   9    Рух кульки по контуру фігури у вигляді місяця. Відстань між центрами дуг становить a. Кольори контуру і кульки різні. Параметри : d=30, a=30, R=100.   10    Незатухаючі коливання маятника. Нитка маятника видима. Кольори кульки і нитки різні. Параметри : R=6090d=18   11    Рух квадрата по видимому квадратному контуру за годинниковою стрілкою. В кожній вершині контура квадрат повертається на 90Кольори контура і квадрата різні. Параметри : a=20, A=80  № варіанту Структура зображення Пояснення   12    Взаємно протилежний рух двох кульок по круговій поверхні в межах сектора. При зустрічі кульки відштовхуються. Кольори кульок і поверхні різні. Параметри : v1=v2, R=80, d=20, (=90(   13    Плавне обертання квадрата з кульками в кожній вершині навколо власного центру проти годинникової стрілки. Кольори квадрата і кульок різні. Параметри : d=18, A=90   14    Взаємно протилежний рух двох кульок по горизонтальній поверхні в межах відрізка. При зустрічі кульки відштовхуються. Кольори кульок і поверхні різні. Параметри: v1(v2, d=20, L=200.   15    Затухаючі коливання кульки по круговій поверхні. Перший раз кулька проходить весь сектор. Кольори кульки і поверхні різні. Параметри: R=80, d=18, (=90(  № варіанту Структура зображення Пояснення   16    Затухаючі відскоки кульки від поверхні. Параметри: H=100, d=20.   17   Кулька переміщується вздовж радіуса кругового контура. При переміщенні до центру діаметр кульки зменшується, при переміщенні від центру – збільшується. Після проходження кулькою всього радіусу радіус повертається на 15( проти годинникової стрілки. Лінії контуру обертання і радіусу невидимі. Параметри: R=50, D=20, d=10   18    Кулька зіскакує по сходинках. Параметри : h=25, d=16   19    Обертання квадрату по видимому круговому контуру проти годинникової стрілки з одночасним обертанням квадрату навколо власного центру за годинниковою стрілкою. Параметри: R=45, a=20.  № варіанту Структура зображення Пояснення   20    Обертання еліпса по невидимому круговому контуру за годинниковою стрілкою із зміною власного розміру. Параметри: R=50, Rx=30, Ry=15, rx=10, ry=5.   21    Рух правильного шестикутника по видимому квадратному контуру за годинниковою стрілкою. В кожній вершині контура шестикутник обертається навколо неї, спираючись на попередню сторону. Кольори шестикутника і контура різні. Параметри : A=100, a=20.   22    Обертання кульки по видимому круговому контуру проти годинникової стрілки із зміною власного розміру. Параметри : R=50, D=40, d=20.   23   Коло з чотирма спицями безперервно котиться по горизонтальній поверхні. При досягненні стінок напрямок кочення змінюється на протилежний. Параметри : L=120, d=20.  № варіанту Структура зображення Пояснення   24   Замальований квадрат котиться по горизонтальній поверхні. При досягненні стінок напрямок руху змінюється на протилежний. Параметри : L=150, a=25.   25    Коло з чотирма спицями скочується по сходинках. Параметри : L=70, a=40, d=18   2.2. Робота в лабораторiї 1. Ввести в комп'ютер програму мовою Турбо-Паскаль за отриманим завданням. 2. Здійснити відлагодження введеної програми, виправивши виявлені помилки. 3. Виконати програму. Текст відлагодженої програми та отримані результати оформити в звіт з лабораторної роботи. Зміст звіту. 1. Повний текст завдання. 2. Блок-схему алгоритму програми. 3. Список ідентифікаторів констант, змінних та підпрограм, використаних в програмі. 4. Остаточно відлагоджений текст програми згідно з отриманим завданням. 5. Результати виконання програми. ЛІТЕРАТУРА 1. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль.- 2-е изд. - М.: Изд-во МГТУ, 1992. 2. Белецкий Ян. Турбо Паскаль с графикой для персональных компьютеров: Пер. с пол. - М.: Машиностроение, 1991. 3. Фоли Дж., Вэн Дэм А. Основы интерактивной машинной графики: в 2-х кн. Пер. с англ. - М.: Мир, 1985. 4. Эгрон Ж. Синтез изображений. Базовые алгоритмы. - М.: Радио и связь, 1993.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!