Как численное интегрирование двигает объекты в игровой физике
Физический цикл не вычисляет траекторию сразу. Он делит силу на массу, получает ускорение и малыми шагами обновляет координату и скорость объекта.
Цена метода видна на цифрах. Явный метод Эйлера сначала меняет координату по старой скорости, затем скорость по ускорению. При постоянном ускорении и шаге в одну секунду пример даёт 450 метров вместо точных 500 через 10 секунд. При шаге 1/100 секунды получается 499,497 метра.
Для пружины с меняющимся ускорением явная схема набирает энергию вместо затухания. Полунеявный метод Эйлера переставляет две строки: сначала обновляет скорость, потом координату, и расчёт пружины становится устойчивым. Разбор Гленна Фидлера на Gaffer On Games содержит код схем, сравнение с точным решением и обзор других интеграторов.
Post #2073
718

- 👍 2
- ❤ 1