http://thesz.mskhug.ru/svn/lazylists/ Ленивые списки и примитивы из статьи
Generating Power of Lazy Semantics, реализованные на Си. Писал я это дело года два, с большим перерывом - не мог понять, как реализовывать sqrt с помощью Ньютона. ;)
Чтобы можно было демонстрировать ужас, если вдруг придётся.
В качестве демки работы там есть плохо работающая одномерная физика. ;)
В распечатках логов хорошо видно, как плохо работает интеграция движения с жестким ограничением (экспоненциальный потенциал для взаимодействия двуж жёстких тел).
Вдогонку надо сказать, что я так и не придумал удовлетворительной модели трения для такой физики. Хотя то, что мне приходило в голову, должно было давать более реалистичные варианты движения, поскольку отскок одного тела от другого автоматически включал потенциал взаимодействия, появлялся общий объём (одно тело промяло другое и наоборот), а внутри него можно было поставить точку с потенциалом взаимодействия двух тел, пропорциональным разности скорости.
Тут получалось и проскальзывание, и другие эффекты.