- •Комп’ютерна графіка
- •Опис практичного курсу дисципліни
- •Практична робота №1 Перетворення в двомірному просторі
- •Опис програмного продукту
- •Інформаційна частина
- •Практична частина
- •Завдання
- •Варіанти завдання
- •Контрольні запитання
- •Практична робота №2 Побудова розрахункової покадрової анімації у двомірному просторі
- •Інформаційна частина
- •Практична частина
- •Завдання
- •Варіанти завдання
- •Контрольні запитання
- •Практична робота №3 Перетворення у тривимірному просторі
- •Інформаційна частина
- •Практична частина
- •Завдання
- •Варіанти завдання
- •Контрольні запитання
- •Практична робота №4 Побудова розрахункової покадрової анімації у тривимірному просторі
- •Інформаційна частина
- •Практична частина
- •Завдання
- •Варіанти завдання
- •Контрольні запитання
- •Список рекомендованої літератури та Інтернет ресурсів
- •Для нотаток
Практична частина
Практична частина роботи повинна включати лістинг програмного модуля та результат виконання практичного завдання з попередньо записаною умовою.
Побудова фігури.
В загальному випадку, для побудови фігур у тривимірному просторі середовища 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. Зображення початкової та перетвореної (повернутої) фігури