Interested Article - Open Dynamics Engine

Простое транспортное средство преодолевает скат

Open Dynamics Engine (ODE) — это открытый физический движок , распространяемый бесплатно в виде динамически подключаемой библиотеки. Его основными компонентами являются система динамики абсолютно твёрдого тела и система обнаружения столкновений.

Например, ODE хорошо подходит для симуляции транспортных средств, существ с ногами и движущихся объектов в изменяемом окружении виртуального пространства. ODE имеет очень высокую стабильность интегрирования, поэтому ошибки симуляции не должны выходить из под контроля. С физической точки зрения это значит, что система не должна «взрываться» без причины.

ODE придаёт больше значение скорости и стабильности, чем физической точности. Он быстр, гибок и прост. Движок относится к свободному программному обеспечению и распространяется по двум лицензиям: BSD license и LGPL .

Разработка ODE была начата в 2001 году. Движок успешно используется во многих приложениях и играх, например, в Toribash , BloodRayne 2 , Call of Juarez , серии игр S.T.A.L.K.E.R. , World of Goo .

Возможности и особенности

  • Имеет встроенную систему определения столкновений.
  • Возможность использовать свою систему определения столкновений.
  • Имеет C интерфейс (хотя почти вся ODE написана на C++).
  • C++ интерфейс поверх C интерфейса.
  • Написано множество юнит тестов, и много пишутся сейчас.
  • Специфические оптимизации для различных платформ.
  • Поддерживаемые базовые геометрические формы:
    • Луч ( ray )
    • Плоскость ( plane )
    • Параллелепипед ( box )
    • Сфера ( sphere )
    • Капсула ( capsule , цилиндр с двумя полусферами на концах)
    • Цилиндр ( cylinder , реализован в нестабильном варианте)
    • Выпуклый многогранник ( convex )
    • Карта высот ( heightmap )
    • Треугольная сетка ( triangle mesh , динамические сетки и обнаружение столкновений для двух сеток пока реализованы не до конца)
  • Поддерживаемые типы соединений ( joints ) твёрдых тел
    • Контактное соединение (между соприкасающимися телами)
    • Шаровое шарнирное соединение ( ball joint , соединяет тела в одной точке, не ограничивая вращения)
    • Шарнир ( hinge joint , соединение с одной осью вращения)
    • Двухосное соединение ( hinge2 joint , соединение с двумя осями вращения, которое часто используют для реализации автомобильной подвески)
    • Кардан ( universal joint )
    • Фиксирующее соединение ( fixed joint )
    • Угловой мотор ( angular motor , управляет относительным вращением двух тел)
    • Телескопическое соединение ( piston joint )

Примечания

Ссылки

Same as Open Dynamics Engine