Здавалка
Главная | Обратная связь

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



 

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

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

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

На відміну від звичайних декартових або якогось іншого типу координат, такі координати в загальному випадку називаються узагальненими координатами (декартові, полярні або якісь інші конкретні координати є, таким чином, частковим випадком узагальнених).

Таким чином, щоб побудувати правильну анімацію у тривимірному просторі, необхідно правильно розуміти поняття ступенів свободи:

– тверде тіло, що рухається у тривимірному просторі, максимально може мати шість ступенів свободи: три поступальних і три обертальних;

– автомобіль, якщо його розглядати як тверде тіло, переміщається по площині, а точніше кажучи, у площині деякої двомірної поверхні (в двомірному просторі), він має три ступені свободи (одну обертальну, і дві поступальні);

– поїзд, який змушений переміщатися по рейковому шляху, має тільки одну ступінь свободи.

В загальному випадку, для співвідношення руху об’єкта до розмірності простору, в якому він знаходиться існує формула для розрахунку: де тверде тіло в d вимірах має d∙(d+1)/2 ступенів свободи (d поступальних і d∙(d-1)/2 обертальних).

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

Якщо основним об'єктом аналізу є рух, що викликає великі переміщення (наприклад, рух супутників), то для спрощення розрахунків деформоване тіло приблизно розглядають як абсолютно тверде.

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

Специфічним типом механізму є відкритий кінематичний ланцюг , в якій жорсткі ланки мають рухливі з'єднання, здатні забезпечити одну ступінь свободи (якщо це завісний шарнір або ковзне з'єднання), або два ступені свободи (якщо це циліндричне з'єднання). Подібні ланцюги використовуються в основному в робототехніці, біомеханіки і для космічних механізмів. Наприклад рука людини має 7 ступенів свободи. А робот, що має механізм, здатний контролювати всі 6 фізичних ступенів свободи, називають голономним. Якщо робот має меншу кількість контрольованих ступенів свободи, то його називають неголономним. Робот чи інший об'єкт з кількістю контрольованих ступенів свободи більшим, ніж кількість фізичних ступенів свободи, називають надлишковим.

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

 

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

 

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

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

Нижче наведено приклад простої анімації у тривимірному просторі «обертання фігури навколо крапки О(n, m)».

Приклад:

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

Синтаксис:

A1=[2,4,1];

B1=[4,4,1];

C1=[4,2,1];

D1=[2,2,1];

A2=[2,4,3];

B2=[4,4,3];

C2=[4,2,3];

D2=[2,2,3];

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];

for j=0:360

m=3;

n=3;

k=1;

a=degtorad(j);

A1B1C1D1A1o=[A1,1;B1,1;C1,1;D1,1];

A2B2C2D2A2o=[A2,1;B2,1;C2,1;D2,1];

A1B1B2A2o=[A1,1;B1,1;B2,1;A2,1];

D1C1C2D2o=[D1,1;C1,1;C2,1;D2,1];

A1D1D2A2o=[A1,1;D1,1;D2,1;A2,1];

mp1=[1,0,0,0;0,1,0,0;0,0,1,0;-m,-n,-k,1];

mp2=[1,0,0,0;0,1,0,0;0,0,1,0;m,n,k,1];

Ra=[1,0,0,0;0,cos(a),sin(a),0;0,-sin(a),cos(a),0;0,0,0,1];

A1B1C1D1A1p=A1B1C1D1A1o*mp1*Ra*mp2;

A2B2C2D2A2p=A2B2C2D2A2o*mp1*Ra*mp2;

A1B1B2A2p=A1B1B2A2o*mp1*Ra*mp2;

D1C1C2D2p=D1C1C2D2o*mp1*Ra*mp2;

A1D1D2A2p=A1D1D2A2o*mp1*Ra*mp2;

i=1:4;

Xo=ones(4,4);

Yo=ones(4,4);

Zo=ones(4,4);

Xo(i,1)=A1B1C1D1A1p(i,1);

Yo(i,1)=A1B1C1D1A1p(i,2);

Zo(i,1)=A1B1C1D1A1p(i,3);

Xo(i,2)=A2B2C2D2A2p(i,1);

Yo(i,2)=A2B2C2D2A2p(i,2);

Zo(i,2)=A2B2C2D2A2p(i,3);

Xo(i,3)=A1B1B2A2p(i,1);

Yo(i,3)=A1B1B2A2p(i,2);

Zo(i,3)=A1B1B2A2p(i,3);

Xo(i,4)=D1C1C2D2p(i,1);

Yo(i,4)=D1C1C2D2p(i,2);

Zo(i,4)=D1C1C2D2p(i,3);

Xo(i,5)=A1D1D2A2p(i,1);

Yo(i,5)=A1D1D2A2p(i,2);

Zo(i,5)=A1D1D2A2p(i,3);

fill3(Xo,Yo,Zo,'g','LineWidth',1)

grid on;

xlim([0;6])

ylim([0;6])

zlim([0;4])

pause(0.01);

clf;

end;

Рис. 4.1. Фрагмент анімації – один кадр (фрейм), кут повороту ≈ 240º

 

Завдання

 

Відповідно до свого спискового номера, журналу академгрупи, вибрати варіант нижче описаного завдання. Для виконання даного завдання, за даними таблиці 4.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. Яким чином може бути побудована анімація в середовищі MATLAB?

6. Яким чином будується анімація для кінематичного ланцюга?


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

1. Гонсалес Р., Вудс Р., Еддінс С. Цифровая обработка изображений в среде Matlab / Учебное пособие для вузов. – М.: Техносфера, 2006. – 616с.: ил. ISBN 5-94836-092-X.

2. Дьяконов В., Абраменкова И. Matlab обработка сигналов и изображений / Специальный справочник. – СПб.: Питер, 2002. ­– 602с.

3. Коротаев В., Краснящих А. Телевизионные измерительные системы / Учебное пособие. – СПб.: Гос. Университет ИТМО, 2008. – 110с.

4. Поляков А., Брусенцев В. Методы и алгоритмы компьютерной графики / Справочник для программистов. – СПб.: БХВ-Петербург, 2003. – 560с.: ил. ISBN 5-94157-377-4.

5. Яне Б. Цифровая обработка изображений. – М.: Техносфера, 2007. – 584с.: ил. ISBN 978-5-94836-122-2.

6. Цифровое преобразование изображений: Учеб. пособие для вузов / Р.Е. Быков, Р. Фрайер, К.В. Иванов, А.А. Манцветов; Под ред. Профессора Р.Е. Быкова. – М.: Горячая линия–Телеком. 2003. – 228с.: ил. ISBN 5-93517-119-8.

7. Сайт: Освітній математичний сайт «Exponenta.ru». – 2000. Режим доступу: http://matlab.exponenta.ru/signalprocess/index.php. – заголовок з екрану.


Для нотаток

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________


 
Методичне видання

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

 

 

Редактор: О.С. Гордіюк

 

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.