Обновление физического движка

Доступная новая бинарная сборка моего физического движка. Повышена точность солвера контактов: тела больше не проникают друг в друга под тяжестью своего веса. Добавлена поддержка интегрирования методом Верле.
Исходники ждите в ближайшем будущем – они вскоре будут интегрированы в Atrium.

physics-test5-win32.zip (0.8 МБ)
physics-test5-linux-x86.tar.bz2 (2.0 МБ)

Кроме того, недавно я завел аккаунт на DropBox – теперь все публичные файлы буду выкладывать туда.

Пример физики на движке Chipmunk

Пример рисования мышью многоугольников, которые сразу же начинают “жить” в физическом мире. В качестве физического движка используется ChipmunkD – прямой порт Chipmunk на D. Демка может быть использована в качестве основы для physics-based 2D-игры. Единственное ограничение – поддерживаются только выпуклые многоугольники, неконвексная геометрия просто отсеивается и не тесселируется до простых форм.

В архиве – исходники и сборки для Win32 и Linux x86:
polyshaper-all-platforms.zip (1.16 МБ)

Внимание! Пример писался достаточно давно – исходный код, скорее всего, не скомпилируется современными версиями DMD без дополнительных “танцев с бубном”.

Сборка физики для Windows

Доступна сборка демки физического движка для Windows:
physics-testbuild1-win32.zip (0.9 МБ)

Физический движок

Не писал уже целый месяц, приношу за это извинения читателям этого блога =) Месяц ушел на создание каркаса физического движка для Atrium. Для решения контактов используется метод Sequential Impulses, поддерживается трение. На данный момент реализованы два типа геометрических объектов – сфера и бесконечная плоскость. Интегрирование пока производится методом Эйлера, планируется поддержка метода Рунге-Кутты.

В представленной демке симулируется система из 6 шаров и плоскости. Красным шаром можно управлять с клавиатуры (клавиши-стрелки). Зеленый шар имеет повышенную массу, большой шар – пониженную.

Сборка для Linux:
physics-testbuild1-linux-glibc28-x86.tar.bz2