Мне нужно написать свой собственный физический код (если вам интересно, почему, см. здесь). Моделировать одиночное твердое тело довольно просто. Но у нас есть сборки (смоделированные космические колонии), которые состоят из множества твердых тел, соединенных вращающимися подшипниками.
Вращающийся подшипник должен надежно удерживать две части в постоянном относительном положении и оси вращения и позволять им изменяться только за счет вращения вокруг этой оси.
Первичный механизм для каждой детали - это сохранение углового момента. Иногда это приводит к резкому изменению оси (см. Пример здесь) ). Но если один или другой конец прикреплен к другому объекту, то этот объект будет либо перетаскиваться, либо отменять изменение оси (или некоторая комбинация того и другого - в зависимости от их относительной массы). Все это еще больше усложняется тем фактом, что у другого объекта также может быть угловой момент, который нужно сохранить.
У меня есть Physics for Game Developers, но это не касается суставов. Я искал в сети, но все, что мне удалось найти, это статьи об использовании суставов в различных готовых физических движках. Может кто-нибудь посоветует, как самому смоделировать такой подшипник / шарнир?