Как бы вы подробно объяснили упругое столкновение двух вращающихся тел человеку с базовыми знаниями классической механики?
Я пишу простой физический движок, но сейчас только симулирую невращающиеся сферы и хотел бы немного его усовершенствовать. Итак, какое чтение вы порекомендуете, чтобы я мог понять, что именно происходит, когда сталкиваются две сферы или коробки (идеально в двух измерениях)?
Я работал над физическим движком, написанным на C#, который делает именно это.
Вот мои заметки на эту тему.
Объекты обладают как поступательным, так и вращательным импульсом.
Когда два объекта сталкиваются, общий алгоритм выглядит следующим образом:
1> Найдите общий импульс обоих объектов. Вычислите поступательный и вращательный импульсы, векторная сумма которых является полным импульсом объекта.
2> Разделите импульс, используя обычное уравнение разделения импульса, которое вы обычно используете. (как здесь )
Каждый объект теперь имеет свой новый импульс. Следующий шаг — решить, какая часть этого импульса является поступательной и вращательной.
3> Представьте себе вектор A, который идет от точки столкновения к центру масс объекта, в который попали. Компонент входящего вектора импульса, который параллелен A, образует новый вектор поступательного импульса, остальная часть вектора представляет собой вращательный момент.
Дополнительные примечания, на которые я ссылаюсь, показывают более подробную информацию о моей математической работе, а также описание того, как справляться с неупругими столкновениями.
Вы можете найти физический движок здесь , а реализацию обработки столкновений здесь.
Мартин Эндер