Open Dynamics Engine

Open Dynamics Engine
Логотип программы Open Dynamics Engine
Скриншот программы Open Dynamics Engine
Столкновение множества объектов
Тип Физический движок
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Дата выпуска 8 мая 2001
Аппаратная платформа кроссплатформенность
Последняя версия
Репозиторий bitbucket.org/odedevs/ode
Лицензия GNU LGPL и BSD
Сайт ode.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе
Простое транспортное средство преодолевает скат

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)

Примечания

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.