Я хочу смоделировать поведение катящегося куба.
Пока мне удалось рассчитать положение куба для заданного угла поворота. Мне нужно повернуть его вокруг центра тяжести, поэтому мне нужно было рассчитать горизонтальное и вертикальное смещение в зависимости от текущего угла поворота.
Когда я применяю заданное вращение, я получаю правильное линейное движение. Видео .
Честно говоря, я был удивлен, насколько сложны уравнения для этих величин.
Теперь я подумал, что было бы неплохо придать анимации вращения реалистичность. Под этим я подразумеваю, что первые 45 градусов сначала будут медленными, а со временем ускорятся, а вторые 45 градусов вращения будут свободным падением.
Насколько я помню, мне нужно:
Во-первых, верна ли эта процедура? Во-вторых, не могли бы вы помочь мне начать работу над этой forces
частью. Я действительно не знаю, с чего начать, как применить трение (я предполагаю, что вращение происходит без скольжения).
Я полчаса играл с пакетом сока, но не могу понять, как распределяются эти силы.
Я ценю всю помощь.
Предположим, что под углом , куб отскакивает от пола без рассеивания энергии. Вспомните, как вы говорите, вращение происходит без скольжения. Таким образом, энергия куба (кинетическая плюс потенциальная) сохраняется, и для поддержания его движения не требуется никакой внешней силы.
Для такого рода задач удобно использовать лагранжев формализм механики систем со связями. Действительно, задача может быть сведена к движению центра масс, вынужденного двигаться только по квартер-окружностям; надо только не забыть учесть еще и кинетическую энергию вращения.
Введем угол что более естественно для системы:
Поскольку движение будет «периодическим», мы будем рассматривать только , которые соответствуют конфигурациям между «лежать на боку» и «лежать на соседней стороне». Эта система на самом деле представляет собой физический маятник , хотя и перевернутый (с центром масс над стержнем).
Чтобы найти уравнение движения, выразите вертикальную и горизонтальную координаты центра масс через и сторона куба, :
Вычислите их производные по времени, чтобы получить квадрат скорости:
Зная момент инерции куба
Уравнение Лагранжа для нашей степени свободы читает:
Конкретно,
или, другими словами
По сути, это уравнение математического маятника . Его можно интегрировать, чтобы уменьшить порядок на единицу:
и решаться либо явно с помощью специальных функций, либо численно.
Редактировать: для того, чтобы куб преодолел край и действительно катился, а не раскачивался, нужно выбрать достаточно высокую начальную скорость, закодированную в C.
Это сложная проблема, поэтому вместо того, чтобы пытаться предложить всеобъемлющее решение, давайте просто посмотрим на действующие силы:
Красным цветом обозначен вектор силы, который мы заставим действовать как движущую силу. , черным цветом гравитация, зеленым цветом нормальная сила и фиолетовым цветом сила трения (ни один из них не соответствует масштабу).
Во-первых, при отсутствии других сил, действующих на -направление (вертикальное), Нормальная сила всегда представляет собой реактивную силу пола (необходимую для предотвращения погружения куба в пол) по отношению к силе тяжести:
Трение теперь будет сопротивляться движению в -направление (горизонтальное) и обычно моделируется как:
Для предотвращения скольжения:
Если тогда произойдет угловое ускорение по часовой стрелке.
Это также позволяет нам дополнительно определить , так как предельный случай:
Итак, минимальное значение:
Угловое ускорение легче рассматривать как проблему сохранения энергии, так как работа, совершаемая равно изменению (вращательной) кинетической энергии :
Из тригонометрии:
При интеграции имеем:
( член выпадает, потому что нет изменения потенциальной энергии над )
Итак, в конце «кувырка»:
Но поскольку у куба теперь есть кинетическая энергия, а вектор тангенциальной скорости направлен строго вниз, куб должен отскочить . Ни трение, ни сила может предотвратить это.
Что-то вроде этого:
Но это только приблизительное размышление, тем не менее, оно красивое, и вы можете применить его к любой фигуре в целом.
пользователь108787
Герт
Куба Шимановский
Джон Алексиу
Джон Алексиу
Куба Шимановский
Сэмми Песчанка
Джон Алексиу
Куба Шимановский
Джон Алексиу
Куба Шимановский