← Путь
2004–2006 · C++, OpenGL и свои движки

Physics 2D

Курсовая, из которой выросла 3D-физика моей бакалаврской на Steel Engine: свой движок с физикой и полноценная игра на нём — вдохновлялся Elasto Mania и Half-Life 2. Курсовая 2005 года «Collision Detection» под руководством профессора Паулиса Ķikusts ставила цель: сотня твёрдых многоугольных тел в реальном времени, которые не проходят друг сквозь друга даже при низком FPS. В ней разобрано, как это делали игры, — ограничивающие прямоугольники в Doom и Mario, сетка-хеш в Warcraft, многоугольники в Quake и Havok, — и добавлены мои собственные методы: метод цилиндров, где движущееся и вращающееся тело в пространстве «2D плюс время» становится скрученным цилиндром, и столкновение внутри кванта времени находится точно, последовательный алгоритм определения коллизий и расчёт момента инерции произвольного многоугольника.

C++STLOpenGL

Видео

Картинки

Из курсовой: звезда, которая движется и вращается, в пространстве «плоскость плюс время» превращается в скрученный цилиндр. Определение коллизий сводится к поиску пересечения таких цилиндров.