Остання редакція: 21-04-2024
Тези доповіді
УДК 004.42
МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ РЕАЛІСТИЧНОГО РУХУ В КОМП'ЮТЕРНИХ ІГРАХ З ВИКОРИСТАННЯМ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ
Бондаренко А.П., науковий керівник Ткаченко О. М.
Комп’ютерні ігри є важливою складовою сьогоденної індустрії розваг. Із удосконаленням технологій, все більше і більше ігор стають реалістичнішими, а гравці, у свою чергу вимагають все більше реалістичних вражень від них.
Використання диференціальних рівнянь для симулювання реалістичного руху віртуальних персонажів є досить поширеним методом, оскільки він дозволяє підвищувати точність анімацій, враховуючи при цьому фізичні закони реального життя.
У сучасному світі існує багато різних методів для створення анімації. Однією з найбільш популярних є векторна анімація, що включає в себе використання таких концептів як інтерполяційні криві та ключові кадри. Контролюючи форму цієї кривої, людина може надавати анімації потрібну поведінку, а ключові кадри, у свою чергу, позначають конкретний момент у часі, коли зміни об’єкта повинні відбуватись.
Процедурна анімація [1], у свою чергу, дозволяє повністю відмовитись від цих принципів і керуватись алгоритмами та правилами, що надає системі можливість рухатись так, як вимагає навколишнє середовище. У даному дослідженні було зосереджено увагу саме на процедурній анімації.
Враховуючи те, що рухи об’єктів у природі залежать не лише від їхньої швидкості, а й від прискорення, то при моделюванні системи, що дозволить відтворювати поведінку руху, було використано диференціальні рівняння другого порядку. Опишемо бажану систему математично, використовуючи за основу природу поведінки гармонічного осцилятора [2].
Нехай маємо певну інформацію на вході x. Для того, щоб описати систему y, яка буде повторювати х, лише з додатковими динаміками, розглянемо наступне рівняння:
Формула 1. Динамічна система другого порядку
Згідно з ресурсом [3], за допомогою другого закона Ньютона, запишемо рівняння, що описує поведінку системи осцилятора:
Формула 2. Система, що описує поведінку осцилятора
За допомогою ресурсу [4] та формулами, які в ньому виведені, розпишемо кожен з коефіціентів рівняння та зведемо його до наступного вигляду:
Формула 3. Рівняння осцилятора після підставлення формул
Оскільки ми намагаємось повторити поведінку системи осцилятора, то ми можемо прирівняти коефіціенти рівнянь (1) та (2), в результаті отримаємо:
Формула 4. Система другого порядку, що описує реалістичний рух
Налаштовуючи три різних змінні, що були описані в формулі 4, ми зможемо надати нашій системі різноманітні динаміки, наприклад, при =0, система буде постійно в стані «вібрації».
Для вирішення цього рівняння існує багато методів, серед яких є інтегрування Верле та метод Ейлера. Останній є легшим у реалізації, але чудово справляється зі своєю задачею.
Після виведення основного рівняння для руху та його коефіціентів, ми тепер можемо розуміти, за що кожен з параметрів k1,k2 та k3 відповідає.
k1 – параметр, що стоїть перед першою похідною та відповідальний за рівень згасання у системі. Тобто, чим більше значення цього параметру, тим сильніше буде ефект затухання.
k2 – коефіціент перед другою похідною, що визначає реактивність системи. Відповідно, високий коефіціент k2 змушує систему бути більш швидкою.
k3 – представляє собою вплив швидкості вхідної інформації на систему. Чим більше значення цього коефіціенту, тим швидше система реагуватиме.
Єдине, що лишається зараз, це імплементувати дану систему на одному з сучасних ігрових двигунів.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
Процедурна анімація. Визначення [Електронний ресурс] – Режим доступу до ресурсу: https://bluebirdinternational.com/procedural-animation/
Гармонічний осцилятор [Електронний ресурс] – Режим доступу до ресурсу: https://byjus.com/physics/harmonic-oscillator/
Системи другого порядку [Електронний ресурс] // MIT – Режим доступу до ресурсу: https://ocw.mit.edu/courses/2-003-modeling-dynamics-and-control-i-spring-2005/57d44d83366ec969c16208c8fac3982d_notesinstalment2.pdf.
Згасні коливання [Електронний ресурс] – Режим доступу до ресурсу: https://www.wikiwand.com/uk/Згасні_коливання