ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Опис практичного курсу дисципліни

Комп’ютерна графіка

 

Частина 1

«Математичні основи комп’ютерної графіки»

 

 

Методичні вказівки до виконання практичних занять

для студентів спеціальності /6.050202/

«Автоматизоване управління технологічними процесами»

денної, заочної форми навчання та ФПС

 

Редакційно-видавничий відділ

Луцький національний технічний університет

 

Луцьк – 2012

 
 

УДК 621.325.5, 621.382.049.77

ББК 34.5

Методичні вказівки до виконання практичних занять з дисципліни: «Комп’ютерна графіка» для студентів денної та заочної форм навчання, спеціальності /6.050202/ «Автоматизоване управління технологічними процесами» / С.С. Костєлов – Луцьк: ЛНТУ, ФКНІТ, АУВП, 2012. – 38с.

 

Укладач: С.С. Костєлов,

Л.М. Маркіна

 

 

Рецензент: О.Ю. Повстяной

 

 

Відповідальний за випуск: Л.О. Гуменюк

 

Затверджено науково-методичною радою ЛНТУ,

протокол № ______ від_________ 2012 р.

 

 

Рекомендовано до друку методичною комісією

факультету КНІТ,

протокол № ______ від__________ 2012 р.

Розглянуто на засіданні кафедри автоматизованого

управління виробничими процесами,

протокол № ______ від__________ 2012 р.

 
 
 

Зміст

 


Стор.

 

Вступ..................................................................................................... 4

Опис практичного курсу дисципліни.................................................. 5

1. Практична робота №1......................................................................... 6

2. Практична робота №2......................................................................... 19

3. Практична робота №3......................................................................... 24

4. Практична робота №4......................................................................... 31

Список рекомендованої літератури та Інтернет ресурсів.................. 36

 


Вступ

 

Сучасна комп'ютерна графіка становить ряд напрямів і різноманітних застосувань. Для одних із них основою є автоматизація креслення технічної документації, для інших – проблеми оперативної взаємодії людини й комп'ютера, а також задачі числової обробки, розшифрування, передачі зображень з використанням телевізійних вимірювальних засобів.

Однією з основних підсистем САПР та ТВЗ, що забезпечує комплексне виконання проектних та вимірювальних задач на основі ЕОМ, є комп'ютерна графіка (КГ).

Комп'ютерною, або машинною, графікою називають наукову дисципліну, яка розробляє сукупність засобів та прийомів автоматизації кодування, обробки та декодування графічної інформації. Іншими словами, комп'ютерна графіка розробляє сукупність технічних, програмних, інформаційних засобів і методів зв'язку користувача з ЕОМ на рівні зорових образів для розв'язання різноманітних задач при виконанні конструкторської та технічної підготовки виробництва.

Дисципліна «Комп'ютерна графіка» є складовою частиною нормативно-методичного забезпечення навчального процесу для підготовки бакалаврів напрямку «Автоматизація та комп’ютерно-інтегровані технології» за спеціальністю 6.050202 «Автоматизоване управління технологічними процесами». Тому вивчення даної дисципліни пов'язане з інтенсивним розвитком комп'ютерної та мікропроцесорної техніки, поширенням ідей та методів візуального моделювання, а також цифрової обробки зображень.

Вивчення курсу «Комп'ютерна графіка» базується на матеріалі, що був засвоєний студентами в процесі вивчення таких курсів, як: математика, інформатика, алгоритмічні мови та комп'ютерна техніка.

Вивчення даного курсу є спеціалізованим предметом у галузі підготовки спеціалістів з даного напрямку і дає загальні поняття про цифрову обробку зображень. Цей курс має охопити широке коло теоретичних знань з області комп'ютерної графіки та цифрової обробки зображень.


Практична робота №1

 

Перетворення в двомірному просторі

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

Опис програмного продукту

MATLAB – це інтерактивна система, основним об'єктом якої є масив, для якого не потрібно вказувати розмірність у явному вигляді. Це дозволяє вирішувати багато обчислювальних задачі, пов'язаних з векторно-матричними формулюваннями, істотно скорочуючи час, який знадобився б для програмування на скалярних мовах типу C або FORTRAN.

Одне з призначень математики, яка являється основою для програмного даного продукту – служити мовою спілкування між вченими та інженерами. Матриці, диференціальні рівняння, масиви даних, графіки – це загальні об'єкти і конструкції, використовувані як у прикладній математиці, так і в системі MATLAB. Саме ця фундаментальна основа забезпечує системі MATLAB неперевершену потужність і доступність.

Система MATLAB – це одночасно і операційна середа і мова програмування. Одна з найбільш сильних сторін системи полягає в тому, що на мові MATLAB можуть бути написані програми для багаторазового використання. Користувач може сам написати спеціалізовані функції і програми, які оформляються у вигляді М-файлів. У міру збільшення кількості створених програм виникають проблеми їх класифікації і тоді можна спробувати зібрати споріднені функції в спеціальні папки. Це призводить до концепції пакетів прикладних програм (ППП), які представляють собою колекції М-файлів для вирішення певної задачі або проблеми.

Насправді ППП – це щось більше, ніж просто набір корисних функцій. Часто це результат роботи багатьох дослідників по всьому світу, які об'єднуються в залежності від області застосування – теорія управління, обробка сигналів, комп’ютерна графіка, ідентифікація і т. п. Саме тому пакети прикладних програм – MATLAB Application Toolboxes, що входять до складу сімейства продуктів MATLAB, дозволяють перебувати на рівні найсучасніших світових досягнень.

 

Інформаційна частина

Як відомо, оновою двомірного простору є двомірна система координат, відповідно до якою графічно можна представити фактично будь-який об’єкт на площині. В інженерній практиці існує декілька двомірних систем координат (Декартова, полярна, сферична, тощо), але при побудові об’єктів у машинній графіці найбільше нас цікавить саме Декартова, так як вона являється основою для проектування та відтворення зображень у площині.

Декартова система координат – основа чисельного моделювання об'єктів. За поодинокими винятками, всі графічні пристрої працюють на базі цієї системи. Інженери при необхідності використовують і інші системи, а безпосередньо перед виведенням інформації на графічні пристрої значення можуть бути перераховані.

Як задається точка знають всі, а як задаються інші фігури? Окружність задається трьома числами: xy-координатами центру та радіусом; для еліпса на додаток до координат центру потрібно додати величини двох його півосей і ще напрям однієї з осей. Одну і ту ж фігуру можна задати різними способами, але зазвичай виділяють ті, для яких кількість параметрів є мінімальним – це називається параметричним числом образу. Складаючи програми і алгоритми машинної графіки, треба знати параметричні числа основних геометричних образів.

У заданні об'єкта можуть також брати участь «логічні параметри». При цьому можна обмежитися числами 0 і 1 або ж встановлювати параметр по знаку числа. Ці параметри не впливають на параметричні числа об'єктів. Наприклад, точка на колі може бути задана значенням однієї з її координат (X або Y), але треба буде вказати, на який півкола вона може перебувати.

В загальному випадку, для побудови об’єктів у будь-якому просторі може буди використаний один з двох основних способів.

Перший спосіб – це аналітичні моделі. Аналітична модель є набір чисел і, якщо необхідно, логічних параметрів, які грають роль коефіцієнтів і інших величин в рівняннях, аналітичних співвідношеннях, які задають об'єкт даного типу.

Другий спосіб чисельного моделювання геометричних об'єктів в ЕОМ – це координатні моделі. У простих випадках – це набори точок, які належать об'єктам і задаються координатами. Для кривих і ламаних ліній точки розташовуються в тому ж порядку, що і на лінії. Упорядкувати точки поверхні – більш складне завдання: у більшості випадків точки послідовно розміщуються на лініях, проведених на поверхні.

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

Отже, основною метою даної практичної роботи є набуття практичних навичок побудови геометричних образів та їх перетворення у двомірному просторі з використанням координатного моделювання.

Практична частина

 

Практична частина роботи повинна включати лістинг програмного модуля та результат виконання практичного завдання з попередньо записаною умовою.

Побудова фігури.

В загальному випадку, для побудови фігур у двомірному просторі середовища MATLAB використовується декілька основних команд, які являється операціями утворення полігонів між заданими точками. Одні відносяться до стандартних елементів двомірної та тривимірної графіки, другі відносяться до розділу спеціальної графіки.

Для того щоб побудувати контур фігури, достатньо задати точки з відповідними координатами та задати функцію plot для побудови полігонів з’єднання точок.

Команда plot(x,y) відповідає побудові звичайної функції, коли одновимірний масив x відповідає значенням аргументу, а одновимірний масив y – значенням функції. Коли один з масивів X або Y або обидва двовимірні, реалізуються наступні побудови:

– якщо масив Y двовимірний, а масив x одновимірний, то будуються графіки для стовпців масиву Y в залежності від елементів вектора x;

– якщо двовимірним є масив X, а масив y одновимірний, то будуються графіки стовпців масиву X в залежності від елементів вектора y;

– якщо обидва масиву X і Y двовимірні, то будуються залежності стовпців масиву Y від стовпців масиву X.

В будь-якому випадку це є функція побудови полігона за заданими координатами.

 

Приклад:

Задамо трикутник трьома точками із координатами А(3,1), В(1,5), С(6,6).

Для побудови фігури такого вигляду складемо матрицю координат фігури АВС та побудуємо контур за допомогою функції plot для побудови графіка по заданих точках. Для того, щоб контур був замкнений, необхідно в кінці фігури АВС продублювати координати першої точки А, тобто повернутись до початкової точку побудови фігури. Для кращого візуального сприйняття фігури на площині, задано межі площини проектування дещо більші за саму фігуру, з використанням функцій xlim, ylim. Результат побудови зображено на рис. 1.1.

 

Синтаксис:

A=[3,1];

B=[1,5];

C=[6,6];

ABCA=[A;B;C;A];

i=1:4;

X=ABCA(i,1);

Y=ABCA(i,2);

fill(X,Y,'g')

plot(X,Y,'b','LineWidth',3)

grid on;

xlim([0,9]);

ylim([0,9]);

Рис. 1.1. Контур фігури трикутника АВС

 

Для того зоб побудувати зафарбований контур фігури, достатньо задати точки з відповідними координатами та задати функцію fill для зафарбовування контуру, який заданий відповідними точками (рис. 1.2.).

Команда fill(x,y,'b') зафарбовує багатокутник, заданий одновимірними масивами x, y, кольором, який може бути заданий або одним із символів 'r', 'g', 'b', 'c', 'm', 'y', 'w', 'k', або вектором [rgb]. Вершини багатокутника задаються відповідними парами елементів масивів x, y однакового розміру. Багатокутник повинен бути замкненим, тому його перша і остання вершини, якщо це можливо, з'єднуються лінією.

 

Синтаксис:

fill(X,Y,'g')

Рис. 1.2. Зафарбований контур фігури трикутника АВС

 

Також для побудувати зафарбованого контуру фігури, може бути використана функція patch, за допомогою якої будується заповнена двомірна область відповідно до заданих координат.

Команда patch(X,Y,C) додає заповнені 2-D фрагменти об'єкта до поточних осей. Фрагмент об'єкта одного або декількох полігонів визначаються відповідно до координат його вершин. Матриці X і Y вказують вершин багатокутника. Якщо X і Y є матрицею розміром m×n, тоді MATLAB повертає n полігони з вершинами m. C – визначає колір фрагменту.

 

Синтаксис:

patch(X,Y,'c')

Рис. 1.3. Зафарбований фрагмент фігури – трикутник АВС

Зауважимо, що для того щоб побудувати коло, або еліпс, задача складання матриці координат точок буде іншою. Для побудови кола необхідною умовою є значення координат центру та радіуса, для еліпса значення двох радіусів (малого та великого). Знаючи ці значення, слід скласти алгоритм розрахунку координат зсуву крапки радіуса кола і записати їх у координатну матрицю. Для наочного представлення вирішення даної задачі розглянемо приклад.

 

Приклад:

Задамо центр кола точкою з координатами О(3,3), а також радіус r = 2.

Для побудови фігури такого вигляду складемо матрицю координат руху крапки по заданому радіусу. Оскільки крапка рухається по колу, спочатку, слід задати значення кутового параметра φ для задання траєкторії. При заданні кутового параметру потрібно врахувати крок зсуву крапки.

 

Синтаксис:

R=2;

x0=3;

y0=3;

phi=degtorad(0):0.1:degtorad(360);

X=x0+R*cos(phi);

Y=y0+R*sin(phi);

fill(X,Y,'y');

grid on;

xlim([0;6]);

ylim([0;6]);

Рис. 1.4. Зафарбований фрагмент фігури – коло

Зсув фігури.

Операція зсуву реалізовується з використанням матриці перетворення (зсуву) з попереднім представленням фігури у системі однорідних декартових координат:

 

 

Приклад:

Задамо трикутник трьома точками із координатами А(3,1), В(1,5), С(6,6).

Для зсуву даної фігури складемо матрицю АВС в однорідних координатах та матрицю перетворення, у якій вкажемо зсув фігури на 2 одиниці відносно осі x і на 3 одиниці відносно осі y. Перемножимо ці матриці відповідно до вказано правила перетворення та побудуємо фігуру перетвореної фігури.

Синтаксис:

ABCo=[A,1;B,1;C,1];

mp=[1,0,0;0,1,0;2,3,1];

i=1:3;

ABCp=ABCo*mp;

Рис. 1.5. Зображення початкової та перетвореної (зміщеної) фігури

 

Масштабування фігури.

Операція масштабування реалізовується з використанням матриці перетворення (зміни масштабу) з попереднім представленням фігури у системі однорідних декартових координат:

 

 

Приклад:

Задамо трикутник трьома точками із координатами А(3,1), В(1,5), С(6,6).

Для зміни масштабу даної фігури складемо матрицю АВС в однорідних координатах та матрицю перетворення, у якій вкажемо зменшення фігури на 0,5 відносно осі x і на 0,5 одиниці відносно осі y. Перемножимо ці матриці відповідно до вказано правила перетворення та побудуємо фігуру перетвореної фігури. Результат перетворення зображено на рис. 1.6.

Синтаксис:

ABCo=[A,1;B,1;C,1];

mp=[0.5,0,0;0,0.5,0;0,0,1];

i=1:3;

ABCp=ABCo*mp;

Рис. 1.6. Зображення початкової та перетвореної (зменшеної) фігури

 

Поворот фігури на довільно заданий кут θ.

Операція повороту фігури на заданий кут реалізовується з використанням матриці перетворення (повороту) з попереднім представленням фігури у системі однорідних декартових координат:

 

де – кут, на який потрібно повернути точку (x, y).

Зверніть увагу: поворот відбувається відносно точки (0,0) декартової системи координат проти годинникової стрілки!

Приклад:

Задамо трикутник трьома точками із координатами А(2,2), В(6,2), С(4,6). Для повороту, складемо матрицю перетворення (повороту), попередньо перевівши значення кута θ з градусів у радіани, за допомогою функції degtorad.

 

Рис. 1.7. Зображення початкової та перетвореної (повернутої) фігури

Завдання

 

Відповідно до свого спискового номера, журналу академгрупи, вибрати варіант завдання з таблиці 1.1. Для виконання даного завдання, за заданими координатами, побудувати фігуру заданого кольору і типу, а також виконати наступні перетворення: зсув у площині, відображення відносно вертикальної та горизонтальної осей координат, масштабування, поворот навколо точки за заданим кутом. Зробити відповідні висновки та оформити звіт.

Варіанти завдання

Таблиця 1.1

Параметри завдання для практичного виконання

№ п/п Точки фігури Тип Колір Значення зсуву Значення масштабу Крапка та кут повороту
1. А (1, 1) В (4, 2) С (3, 4) Лінійна l = 3 Синій m = 2 n = 3 a = 0,5 d = 0,5 D (2, 2) α = 45º
2. А (3, 1) В (5, 2) С (3, 5) D(1, 4) Площина Зелений m = 3 n = 0 a = 1,5 d = 1,5 Е (3, 3) α = 60º
3. А (2, 2) В (5, 3) С (2, 5) Площина Жовтий m = 1 n = 2 a = 2 d = 2 D (3, 4) α = 35º
4. O (3,4) R = 2 Лінійна l = 4 Пурпур. m = 3 n = 0 a = 0,7 d = 2,2 ­
5. А (7, 1) В (8, 6) С (4, 5) Площина Червоний m = -2 n = -3 a = 0,5 d = 0,5 D (6, 4) α = 50º
6. А (5, 3) В (9, 5) С (7, 10) D(3, 8) Лінійна l = 3 Синій m = -1 n = -2 a = 0,3 d = 0,3 Е (6, 7) α = 30º
7. А (7, 4) В (8, 8) С (5, 7) Площина Голубий m = -3 n = -2 a = 2 d = 2 D (7, 7) α = 75º
8. А (5, 4) В (8, 7) С (5, 10) D(2, 7) Лінійна l = 4 Зелений m = 1 n = -3 a = 0,5 d = 1,3 Е (5, 7) α = 45º
9. А (5, 2) В (7, 1) С (9, 5) Площина Пурпур. m = -3 n = 4 a = 1,8 d = 1,8 D (5, 2) α = 90º

Продовження таблиці 1.1

10. O (5,5) R1= 3 Площина Жовтий m = 0 n = 3 a = 0,4 d = 0,4
11. А (4, 4) В (8, 4) С (6, 7) Лінійна l = 4 Червоний m = -1 n = -2 a = 2 d = 3 D (5, 7) α = 30º
12. А (4, 4) В (8, 4) С (10, 7) D(6, 7) Площина Голубий m = -3 n = -4 a = 2 d = 2 Е (4, 4) α = 25º
13. А (3, 1) В (7, 1) С (2, 4) Лінійна l = 3 Зелений m = -1 n = 5 a = 1,5 d = 1,5 Е (3, 6) α = 45º
14. O (-4,4) R = 3 Площина Синій m = 3 n = -4 a = 1 d = 0,5
15. А (7, 1) В (6, 6) С (2, 4) Площина Пурпур. m = 2 n = 3 a = 0,7 d = 0,5 D (5, 6) α = 30º
16. А (8, 4) В (10, 7) С (8, 10) D(6, 7) Лінійна l = 5 Червоний m = -4 n = -7 a = 1 d = 0,3 Е (4, 3) α = 55º
17. А (4, 4) В (7, 8) С (3, 8) Площина Жовтий m = 2 n = -5 a = 1,5 d = 1,3 D (3, 4) α = 75º
18. O (6,-6) R1= 3 Лінійна l = 3 Зелений m = -2 n = -4 a = 0,7 d = 0,7
19. А (5, 2) В (8, 4) С (3, 8) Площина Синій m = -2 n = 1 a = 1,2 d = 1,5 D (7, 7) α = 45º
20. O (1,2) R = 4 Лінійна l = 4 Пурпур. m = 3 n = 0 a = 0,6 d = 1,2

Контрольні запитання

1. Які типи координат використовуються у двомірній графіці?

2. Що називається параметричним числом образу?

3. Опишіть координатну модель побудови об’єктів.

4. Охарактеризуйте аналітичну модель побудови об’єктів.

5. Яким чином може реалізовуватись побудова об’єктів в MATLAB?

6. Яким чином виконується поворот фігури на заданий кут?

7. Що представляє собою матриця в однорідних координатах?

8. Для чого використовуються однорідні координати в машинній графіці?


Практична робота №2

 

Інформаційна частина

 

Анімація – це послідовність зображень (кадрів, або фреймів), при послідовному перегляді яких виникає ілюзія руху, або зміни властивостей чи форм об’єкта.

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

1. За методом створення (анімування) :

Покадрова технологія – це технологія, за якою кожен кадр малюється окремо. Найбільш складна і часотривала, вимагає високої майстерності, досвіду та інтуїції. Проте ця технологія дозволяє здійснити практично будь-які зміни об'єкта, реалізувати найвибагливіші задуми.

Технологія «Ключових кадрів» – полягає в тому, що створюються не всі кадри, а лише «ключові», між ними «проміжні кадри» малюються автоматично, за вказаним алгоритмом програмного середовища.

Технологія «Захоплення руху» («Motion capture») – відносно молода технологія, де об'єкти рухаються або змінюють форму внаслідок аналогічних дій реальними істотами або неживих об'єктів, до яких прикріпленні датчики, що фіксуються в просторі та передають дані до комп'ютера. Ця технологія допомагає схопити найбільш складні реалістичні рухи.

2. За типом змінюваних параметрів об'єктів:

Технології руху – технології, що дозволяють передати рух об'єкта або його частин.

Технології форми «Морфінг» («Morphing») – технології зміни форми. Часто використовуються для перетворення одного об'єкта в інший. Зазвичай виконується з допомогою технології «ключових кадрів».

Кольорова анімація – технології трансформації забарвлення об'єкта.

Таким чином, можемо сказати, що при інженерних розрахунках, коли необхідно побудувати імітаційну модель з елементами руху частинок та об’єктів, інженери також застосовують анімацію. Але застосування такого типу анімації є дещо відмінним від дизайнерської, так як кожен рух, або зміна положення частинки супроводжується складними розрахунками відповідно до фізико-хімічних законів. Якщо для дизайнера, або мультиплікатора метою є відтворення біль-менш реалістичного руху, то для інженера, в першу чергу це відтворення дійсності протікання того чи іншого процесу.

Отже, можна зробити не великий висновок, що імітація тісно пов’язана з анімуванням, але потребує складних математичних розрахунків відповідно до фізико-хімічних законів. А тому, для інженера дуже важливо знати та вміти користуватись математичними та алгоритмічними методами відтворення реальних процесів.

 

Практична частина

 

Завданням на практичну роботу являється побудова розрахункової анімації відповідно до першого кадру (фрейму), або вихідного зображення за вказаним завданням у двомірному просторі. У завданні задається яким чином має проходити зміна положення або форми об’єкта по відношенню до початкового зображення фігури.

Практична частина роботи повинна включати лістинг програмного модуля та результат виконання практичного завдання з попередньо записаною умовою.

Завдання

 

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

Варіанти завдання

Таблиця 2.1

Параметри завдання для практичного виконання

№ п/п Фігура Параметри траєкторії руху крапки
1. Трикутник x = 1:0.1:6
2. Прямокутник x = 1:0.2:6
3. Квадрат x = 1:0.1:5
4. Паралелограм x = 1:0.1:6
5. Ромб x = 1:0.1:7
6. Трикутник x = 1:0.2:8
7. Прямокутник x = 1:0.1:6
8. Квадрат x = 1:0.1:5
9. Паралелограм x = 1:0.2:6
10. Ромб x = 1:0.1:7
11. Трикутник x = 1:0.1:8
12. Прямокутник x = 1:0.2:6
13. Квадрат x = 1:0.1:5
14. Паралелограм x = 1:0.1:6
15. Ромб x = 1:0.1:7
16. Трикутник x = 1:0.2:8
17. Прямокутник x = 1:0.1:6
18.. Квадрат x = 1:0.1:5
19. Паралелограм x = 1:0.2:6
20. Ромб x = 1:0.1:7

Контрольні запитання

1. Що таке анімація?

2. Які існують методи побудови анімації?

3. Назвіть основні типи анімації?

4. Поясніть технологію побудови анімацію методом «покадрових рухів».

5. Поясніть технологію побудови анімацію методом «ключових кадрів».

6. Що таке морфінг?

7. Що собою представляє розрахункова анімація?

8. Яка різниця між імітацією і анімацією?

9. Яким чином може бути побудована анімація в середовищі MATLAB?

10. Якими способами може задавить перетворення при побудові анімації?


Практична робота №3

Інформаційна частина

 

Практична частина

 

Практична частина роботи повинна включати лістинг програмного модуля та результат виконання практичного завдання з попередньо записаною умовою.

Побудова фігури.

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

Для того щоб побудувати контур фігури, достатньо задати точки з відповідними координатами та задати функцію plot3 для побудови ліній з’єднання точок (рис. 2.1.).

Команда plot3(x,y,z)являється тривимірним аналогом функції plot, де x, y, z – одномірні масиви однакового розміру, будує точки з координатами x(i), y(i), z(i) і з'єднує їх прямими лініями.

Команда plot3(x,y,z), де X, Y, Z – двовимірні масиви однакового розміру, будує точки з координатами x(i,:), y(i,:), z(i,:) для кожного стовпця і з'єднує їх прямими лініями.

Команда plot3(x,y,z,s) дозволяє виділити графік функції z(x,y), вказавши спосіб відображення лінії, спосіб відображення точок, колір ліній і точок за допомогою строкової змінної s, яка може включати до трьох символів.

 

Приклад:

Для побудови даної фігури за допомогою координатної моделі, задамо координатами вершин, параметри куба по наступних точках А1(2,4,0), В1(4,4,0), С1(4,4,0), D1(2,2,0), А2(2,4,2), В2(4,4,2), С2(4,4,2), D2(2,2,2) і побудуємо його з використанням функції plot3.

Для побудови фігури такого вигляду складемо матрицю координат двомірних площин, з яких вона будується. Після чого запишемо загальну матрицю фігури, розміром 5×5.

Нижче наведено найпростіший координатний метод побудови фігури.

 

Синтаксис:

A1=[2,4,0];

B1=[4,4,0];

C1=[4,2,0];

D1=[2,2,0];

A2=[2,4,2];

B2=[4,4,2];

C2=[4,2,2];

D2=[2,2,2];

A1B1C1D1A1=[A1;B1;C1;D1;A1];

A2B2C2D2A2=[A2;B2;C2;D2;A2];

A1B1B2A2=[A1;B1;B2;A2;A1];

D1C1C2D2=[D1;C1;C2;D2;D1];

A1D1D2A2=[A1;D1;D2;A2;A1];

i=1:5;

X=ones(5,5);

Y=ones(5,5);

Z=ones(5,5);

X(i,1)=A1B1C1D1A1(i,1);

Y(i,1)=A1B1C1D1A1(i,2);

Z(i,1)=A1B1C1D1A1(i,3);

X(i,2)=A2B2C2D2A2(i,1);

Y(i,2)=A2B2C2D2A2(i,2);

Z(i,2)=A2B2C2D2A2(i,3);

X(i,3)=A1B1B2A2(i,1);

Y(i,3)=A1B1B2A2(i,2);

Z(i,3)=A1B1B2A2(i,3);

X(i,4)=D1C1C2D2(i,1);

Y(i,4)=D1C1C2D2(i,2);

Z(i,4)=D1C1C2D2(i,3);

X(i,5)=A1D1D2A2(i,1);

Y(i,5)=A1D1D2A2(i,2);

Z(i,5)=A1D1D2A2(i,3);

plot3(X,Y,Z,'b','LineWidth',3)

grid on;

xlim([0;6])

ylim([0;6])

zlim([0;4])

Рис. 2.1. Контур фігури куба А1В1С1D1А2В2С2D2

Зверніть увагу: оскільки принцип побудови графічного об’єкта в середовищі MATLAB заключається в тому, що утворюється контур за послідовно заданими точками. Тому дана фігура може бути побудована за допомогою аналітичної моделі, для чого слід записати функцію послідовної задачі координат по відповідних вершинах за оптимальною траєкторією з поверненням до початкової точки.

 

Для того щоб побудувати полігональну модель фігури, потрібно задати функцію fill3 для побудови полігонів з’єднання точок двомірних площин із подальшим їх складанням у тривимірному просторі (рис. 2.2.).

 

Рис. 2.2. Полігональна фігура куба А1В1С1D1А2В2С2D2

 

Наведемо нижче приклад одного з перетворень у тривимірному просторі.

 

Приклад:

Виконаємо поворот попередньо заданої фігури навколо точки Е(3,3,1) на кут α = 45º відносно осі х. Для цього побудуємо матрицю фігури, потім складемо матрицю перетворення і перемножимо їх відповідно за вище описаним правилом, попередньо перевівши їх до однорідних координат.

Рис. 2.3. Зображення початкової та перетвореної (повернутої) фігури


Завдання

 

Відповідно до свого спискового номера, журналу академгрупи, вибрати варіант завдання. Для виконання практичної роботи, відповідно до свого варіанту потрібно побудувати каркасну та полігональну модель фігури у тривимірному просторі за довільно вибраними значеннями координат. Також, відповідно до свого варіанту, виконати наступні перетворення: масштабування, поворот навколо точки за заданими кутами. Зробити відповідні висновки та оформити звіт.

Варіанти завдання

Таблиця 2.1

Параметри завдання для практичного виконання

№ п/п Фігура Коеф. масштабу Крапка повороту Кут повороту по осі x Кут повороту по осі y Кут повороту по осі z
1. Тетраедр k = 0,5 Вершина фігури α = 35º β = 40º
2. Куб k = 1,2 Центр фігури α = 50º γ = 25º
3. Піраміда k = 1,5 Центр основи β = 60º γ = 30º
4. Паралелепіпед k = 1,7 Середина бічної грані α = 20º γ = 45º
5. Призма k = 2 Центр основи α = 75º β = 25º
6. Тетраедр k = 0,3 Вершина фігури α = 40º β = 35º
7. Куб k = 1,6 Центр фігури α = 25º γ = 50º
8. Піраміда k = 2 Центр основи β = 30º γ = 60º
9. Паралелепіпед k = 0,7 Середина бічної грані α = 45º γ = 20º

Продовження таблиці 2.1

10. Призма k = 1,3 Центр основи α = 80º β = 35º
11. Тетраедр k = 0,9 Вершина фігури α = 35º β = 40º
12. Куб k = 1,6 Центр фігури α = 50º γ = 25º
13. Піраміда k = 2,1 Центр основи β = 60º γ = 30º
14. Паралелепіпед k = 1,8 Середина бічної грані α = 20º γ = 45º
15. Призма k = 2,2 Центр основи β = 80º γ = 35º
16. Тетраедр k = 0,5 Вершина фігури α = 45º β = 35º
17. Куб k = 1,2 Центр фігури α = 20º γ = 55º
18. Піраміда k = 2 Центр основи β = 35º γ = 60º
19. Паралелепіпед k = 0,4 Середина бічної грані α = 45º γ = 25º
20. Призма k = 0,3 Центр основи α = 75º β = 35º

 

Контрольні запитання

1. Які типи координат використовуються у тривимірній графіці?

2. Яке параметричне число образу фігур другого порядку для тривимірному простору?

3. Опишіть координатну модель для тривимірного простору?

4. Яким чином може реалізовуватись побудова об’єктів в MATLAB у тривимірному просторі?

5. Яким чином виконується поворот фігури на заданий кут навколо крапки у тривимірному просторі?


Практична робота №4

 

Інформаційна частина

 

Як вже говорилося раніше, анімація – це послідовність зображень (кадрів, або фреймів), при послідовному перегляді яких виникає ілюзія руху, або зміни властивостей чи форм об’єкта. Це визначення має однаковий зміст як для двомірного, так і для тривимірного простору. Вся різниця заключається лише в ускладненні розрахунків, які пов’язані з появою третьої координати по осі z.

Коли ми маємо сп

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти