IT-словарь › Программирование › Решатель ограничений (constraint solver)

Решатель ограничений (constraint solver)

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

Часть физического движка, которая следит за соблюдением правил: тела не проникают друг в друга, шарниры держатся, трение тормозит движение.

Свободное движение — это просто, пока телам не приходится подчиняться правилам: не перекрываться, оставаться закреплёнными в шарнире, не скользить быстрее, чем позволяет трение. Решатель ограничений согласует всё это на каждом шаге. Доминирует метод последовательных импульсов — подход Эрина Катто из Box2D (GDC 2006), который за несколько итераций (Гаусс — Зейдель) ослабляет по одному ограничению, вместо того чтобы решать одну огромную систему.

Он дешёвый, устойчивый и легко делается детерминированным — ценой некоторой «пружинистости» в высоких стопках. Альтернативы — проекционный метод Гаусса — Зейделя для LCP или position-based dynamics — по-другому меняют точность на скорость.

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