IT-словарь › Программирование › Стабилизация Баумгарте

Стабилизация Баумгарте

Программирование Svenska → Обновлено: 2026-10-24

Приём в решателях ограничений: часть позиционной ошибки подмешивается в целевую скорость, так что тот же решатель, что исправляет скорости, заодно понемногу раздвигает пересекающиеся тела.

Ограничение контакта или шарнира — это на самом деле утверждение о положениях: эти тела не должны пересекаться, — но решатель работает со скоростями. Без коррекции позиционная ошибка незаметно накапливается. Стабилизация Баумгарте добавляет к целевой скорости член β·C/Δt, где C — ошибка (глубина проникновения): решатель получает немного лишней скорости, которая за несколько кадров «съедает» перекрытие.

Метод предложил Йоахим Баумгарте в 1972 году для дифференциально-алгебраических уравнений в динамике многотельных систем. Он дёшев и живёт в бесчисленных игровых движках, но у него известный недостаток: он вносит энергию, поэтому при слишком большом β контакты подпрыгивают и дрожат. Поэтому современные решатели часто переходят на split impulse или отдельный позиционный решатель, который исправляет положение, не трогая энергию.

← Назад к словарю