Опис проекту - використання gameblender в моделюванні фізичних явищ
Що таке Blender і движок Game Engine?
Blender - це програма для створінь тривимірної комп'ютерної графіки. За допомогою Blender можна створювати графічні моделі, анімацію, моделі реального часу і ін.
Спочатку програма була комерційним проектом, але потім її власники прийшли до рішення відкрити вихідний код, незважаючи на дуже хороші результати продажів. Blender має універсальні можливості моделювання. Висновок про універсальність можна зробити тому, що Blender можна порівняти за своїми можливостями з комерційними програмами для тривимірного моделювання, але при цьому залишається найбільш доступною програмою.
Особливість Blender в тому, що це, швидше за все, єдина програма, за допомогою якої можна створювати моделі реального часу і дуже легко моделювати деякі фізичні закони. Ця можливість в основному використовується для створення комп'ютерних ігор, але не тільки для цього. Також її можна спробувати використовувати для створення «віртуальних лабораторій». Віртуальна лабораторія - це місце, де дозволяється моделювати поведінку об'єктів реального світу в комп'ютерному середовищі. І ці моделі будуть працювати в реальному часі. Тобто вони можуть взаємодіяти з користувачем. Такі моделі створюються за допомогою движка Game Engine, який вбудований в Blender.
Головне призначення цього движка - це швидке створення комп'ютерних ігор. Game Engine - це движок, який об'єднує рух в реальному часі з фізикою і логічними блоками. Логічні блоки складаються з контролерів, активаторів і сенсорів.
Сенсори асоціюються з органами почуттів живих організмів; вони реагують на натискання кнопок, на зіткнення, на контакти з матеріалами (дотик), на разові події або значення властивостей.
Контролери сприймають події сенсорів і направляють їх значення. Наприклад, якщо обрана пункт «AND» то весь час спостерігається передача. У разі вибору «OR» контролер, то ви також можете використовувати скрипти на мові програмування Python.
Активатори виконують дії над об'єктами. Наприклад, активатор руху можна уявити собі як м'яз. Ця м'яз може застосовувати силу до об'єкту для його пересування або перевороту. Є також активатори для програвання певної анімації.
У підсумку можна сказати, що Blender це досить хороша програма, за допомогою якої можна робити багато, в тому числі і моделювати реальний світ.
Моделювання. Можливості моделювання фізики в gameBlender
а) Що таке моделювання?
Моделювання - це процес створення об'єктів-моделей з метою замістити об'єкт-оригінал при вивченні і дослідженні. У моделі «звеличуються» значущі для даного дослідження (досвіду) риси (властивості) оригіналу, а незначні для даного дослідження можна опустити. Моделі застосовуються при вивченні складних явищ, процесів, конструювання нових споруд.
б) Які види моделювання існують?
В силу багатозначності поняття «модель» в науці і техніці не існує єдиної класифікації видів моделювання. Класифікацію можна проводити за характером моделей, по характеру модельованих об'єктів, за сферами застосування моделювання (в техніці, фізичних науках, кібернетики і т.д.). Існує безліч видів моделювання. Більш поширені:
- Комп'ютерне моделювання
- Математичне моделювання
- Імітаційне моделювання
- графічне моделювання
- та ін.
Найчастіше використовується змішане моделювання. Наприклад, імітаційні моделі можуть бути реалізовані за допомогою комп'ютера.
в) «Ньютоновская» фізика
За допомогою графічного комп'ютерного моделювання можна створити віртуальну реальність. Вона може бути фантастичною (що не відповідає дійсності), а може моделювати цілком реальні ситуації. В реальності завжди діють фізичні закони. Всі люди з дитинства звикли бачити, як рухаються і взаємодіють об'єкти. Наприклад: людина не стане бити по цеглині, тому що він великий маси, а м'яч цілком можна вдарити, так як він надутий повітрям і має невелику вагу. Все, що було перераховано - це фізика руху, або по-іншому «ньютоновская» фізика. Найчастіше при моделюванні вона нас і цікавить.
г) Моделювання руху, сил і ін. в Blender
Добре б мати програму, за допомогою якої можна було б моделювати фізику руху. Такою програмою може служити ігровий движок в Blender [Додаток 1].
Логічна панель складається з 4 блоків. Перший блок відповідає за властивості об'єкта: маса, радіус об'єкта, форма взаємодії об'єкта і ін. Наступні 3 блоку логічно пов'язані, так як вони є сенсором, контролером і активатором. Ці блоки дозволяють налаштувати взаємодії об'єктом з користувачем, скриптом, таймером.
Використовуючи цей движок можна віртуально змусити об'єкт падати під силою тяжіння, висіти в невагомості, вдаритися об стіну. Можна змоделювати ефект тертя, еластичності (пружності) об'єкта. Тобто можна змоделювати реальний світ і взаємодія об'єктів в ньому. Звичайно в основному Game Engine використовують для швидкого створення комп'ютерних ігор. Однак ми вирішили використовувати його для створення фізичних моделей, які можуть служити як хороша демонстрація тих чи інших законів фізики, їх вивчення, дослідження. Якщо створити більш складну модель, то, досліджуючи її, можна дізнатися як поведе себе об'єкт в реальному світі. Оскільки в Game Engine можна створювати моделі реального часу, то можна створити модель, що взаємодіє з користувачем.
Нами були зроблені інтерактивні моделі.
Нами була розроблена модель, що ілюструє вплив прикладеної сили на об'єкт. У цій моделі є 4 кулі різної маси. При натисканні на клавішу 1 до всіх кулях прикладається сила в 1 «віртуальний ньютон», при натисканні на клавішу 2 - 2 ньютона і т. Д. До 4 ньютонів.
Спочатку на сцену були додані площині і кулі. Після чого за допомогою Game Engine була змодельована маса. Були налаштовані контролери, сенсори і активатори. Наприклад, всі кулі рухаються при натисканні клавіш [Додаток 2].


б) Еластичність
Ця модель демонструє як взаємодіють між собою об'єкти, що володіють еластичністю і не володіють їй.
На сцену були поміщені чотири кулі. При натисканні на клавішу Пропуск вони стикаються парами. У першій парі стикаються дві кулі, що не володіють еластичністю (наприклад, ядра), у другій парі - обидві кулі еластичні (наприклад, м'ячі).
У Blender настройка еластичності здійснюється на панелі Матеріалів (движок Restitut) [Додаток 3].


Модель важеля є більш цікавою, ніж перші дві. Вона моделює відому фізичну закономірність: важіль урівноважений, коли добуток маси на довжину одного плеча дорівнює добутку маси на довжину іншого плеча.
У цій моделі користувач може пересувати віртуальні маси на колоді, домагаючись рівноваги [Додаток 4].


г) Сила - векторна величина (точка прикладання сили)
Оскільки сила векторна величина, то у неї завжди є точка прикладання. У даній моделі показано як рух об'єкта залежить від точки прикладання сили. На площині знаходяться два циліндра. У одного циліндра точка прикладання сили знаходиться вгорі, а в іншого - внизу. Тому коли діє сила, то перший циліндр починає падати і перевертатися, а другий рівно їхати [Додаток 5].


За допомогою gBlеnder можна створювати і більш складні моделі, які дозволяти моделювати якусь більш реальну ситуацію і спостерігати як поведуть себе об'єкти. Наприклад, можна створити будова і подивитися яка сила і куди спрямована може його зруйнувати [Додаток 6]. Або оцінити, як будуть взаємодіяти об'єкти в невагомості і під силою тяжіння. Тому gBlender може використовуватися для вивчення фізики руху, створення демонстраційних моделей та віртуальних лабораторій (тому що можлива інтерактивність), створення складних моделей для дослідження поведінки реальних об'єктів в різних умовах (тому що можливо ускладнення моделей за допомогою скриптів).
