Симулюючи рух за допомогою калькулу

pic

Я створюю фізичний движок і працюю над механізмами руху. Ця коротка стаття покликана закріпити те, що я вивчив до цього моменту.

pic

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

pic

Тепер, коли ми знаємо, що таке інтеграція, як це стосується симуляції руху? Щоб рухати об'єкт, нам потрібно три речі: прискорення, швидкість та положення цього об'єкта. Прискорення — це швидкість зміни швидкості. Інтегруючи прискорення за часом, ми обчислюємо швидкість об'єкта. Швидкість — це швидкість зміни положення. Інтегруючи швидкість за часом, ми отримуємо положення об'єкта. Цей процес дозволяє нам симулювати рух. Це тип інтеграції, що називається інтеграцією Ейлера, і вона є популярною технікою інтеграції для симуляції руху.

На скріншоті ви можете побачити, що ми використовуємо змінну під назвою deltaTime. Вона представляє собою часовий інтервал для обчислення. Чим менший інтервал, тим точніше наближення.

Як вже згадувалося, це техніка інтеграції Ейлера. Але це не єдиний метод інтеграції, який ми можемо використовувати. Інтеграція Ейлера є однією з найпростіших та найбільш популярних технік інтеграції для ігрової фізики. Вона достатньо точна для більшості ігрових застосувань. Іншою технікою, яку ми могли б використати, є метод інтеграції Верле. Ця техніка забезпечує кращу точність, ніж метод Ейлера, і також використовує менше пам'яті при симуляції великої кількості об'єктів. Останній метод, який я згадаю, це метод інтеграції Рунге-Кутта. Ця техніка акумулює похибки в порядку четвертого похідного, що робить її значно точнішою за метод Ейлера.

pic

Перекладено з: Simulating Movement with Calculus

Leave a Reply

Your email address will not be published. Required fields are marked *