Я хочу попробовать написать небольшой физический движок (2D, возможно в перспективе 3D). Для себя, не для коммерческих целей (реализация простой физической игры). Хотел попросить тех, кто знает, набросать список пунктов, в направлении которых нужно копать. Хотелось бы сделать следующее:
Симуляция точечных тел (ньютонова динамика) — 3 закона ньютона, соответствующее перемещение тел
Закон сохрания импульса, упругость/неупругость твердых тел
Гибкие тела (точечные тела, соединенные пружинами) — деформации (упругие и неупругие), разрыв, распад на несколько тел
Простая симуляция жидких тел (сила архимеда, заполнение областей, текучесть)
Простые соединения тел (наподобие шарнирных механизмов)
Я понимаю, выглядит как несвязанный набор всего подряд. Причем каждая из подтем достаточно обширная. Изучать существующие движки не очень хотелось бы (это что-то вроде небольшого исследования).
Насколько реализация всего этого кажется вам возможной? Возможно что-то лучше добавить для полноты картины (или убрать)
Не совсем представляю как делаются вещи наподобие перекатывания кубика (квадрата) по двумерной поверхности. Как рассчитать скорости вершин?
Хотелось бы узнать, на какие законы (только названия, не прошу расписываания всех формул) обратить внимание при разборе этих тем.
Спасибо за любые советы, ссылки и все остальное, кроме ругательств (они тоже приветствуются, в ограниченном количестве

.
Только одна просьба, пишите только если можете что-то подсказать, критики в свой адрес по поводу этой затеи я уже выслушал достаточно. Еще раз спасибо за чтение поста.
Если подобная тема обсуждалась, пожалуйста подскажите где искать