МЕТОДИ ГЕОМЕТРИЧНОГО МОДЕЛЮВАННЯ

ВСТУП

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

Таку можливість надають основні засоби анімації (“оживлення”), підтримувані модульними функціями animate і animate3d, обумовлені plots-модулем мови Maple V. Принцип анімації, підтримуваний даними засобами, складається у швидкій зміні послідовності фреймів (моментальних знімків) геометричного об’єкта один за іншим, створюючи в людському сприйнятті ефект руху, подібно тому, як це робиться в сучасних (та й робилося вже на зорі їхнього зародження) відео засобах.

Модульна animate-функція має наступний формат кодування:

animate(<Функція>,<X-діапазон>,<А-діапазон>{,<Опції>})

де графік функції або декількох функцій являє собою безпосередньо анімаційний об'єкт. Функція F(X,A) повинна бути дійсною від двох аргументів X і A, де X- аргумент визначає власне ведучу перемінну, а А - аргумент - перемінну анімації. Обов'язкові другий і третій фактичні аргументи повинні приймати дійсні значення. Якщо X - діапазон визначає відображувану ділянку виведеного графіка функціональної залежності, то А - діапазон - режим зміни координат при зміні фреймів у процесі анімації. Функція допускає також визначення вертикального Y-діапазону, який кодується безпосередньо за A-діапазоном.

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

У якості фактичного необов'язкового аргументу animate-функція допускає використання plot-опцій, розглянутих вище, а також спеціальної frames-опції, що визначає число фреймів, що беруть участь у процесі анімації, (за замовчуванням покладається frames=16). Разом з тим, при використанні з animate-функцією plot-опцій мається ряд особливостей, які необхідно враховувати.

Фрейми для анімаційної функції F(x,t) на діапазоні t=a..b анімації створюються за наступним простим принципом: t-діапазон анімації розбивається на tk-точки й у них обчислюються “моментальні знімки” (фрейми) анімаційної функції, тобто її F(x,tk)-образи на x-інтервалі по ведучою змінною (k = 1 ¸ frames). Послідовна зміна таких фреймів власне і становить суть процесу анімації.

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

restart: with(plots): with(plottools):

Визначення всіх параметрів програми

for i from 1 to 50 do

Обчислення всіх графічних компонентів і-го кадра анімації

Gr[i] := display(Ll, L2, L3, L4):

end do:

display(seq(Gr[i],i=1..50),scaling=CONSTRAINED,

insequence=true);

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

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

¨ форми струменя води в залежності від діаметра ствола і кута його нахилу;

¨ форми викиду зі ствола вогнегасної речовини;

¨ руху кулачків пресс-экструдера для здрібнювання вогнегасного порошку;

¨ треків альфа-частинок у полі частки диму в залежності від положення цієї частки;

¨ величини теплового потоку в залежності від форми факелу;

¨ кромки вигоряння рослинного матеріалу в залежності від часу;

¨ форми вибухових хвиль в залежності від форми відбивача;

© 2004 Академя гражданской защиты Украины