После полудня. Это мой первый вопрос, так что дайте мне знать, если я делаю что-то не так. Нужна помощь в создании 2D-физического игрового движка с телами, разделяющимися пополам:
у меня двухмерное тело , с угловой скоростью , линейный вектор скорости , масса и момент инерции . Если тело мгновенно разделится на два тела и , каков новый вектор угловой и линейной скорости каждого тела?
Каждое новое тело имеет известные векторы расстояния центра масс от центр масс , массы (которые в сумме ), а момент инерции .
Мне было трудно найти что-либо в Интернете, связанное с этим, трудная часть - это угловой момент, который преобразуется в линейный, когда части разлетаются. Но по сути можно ли рассматривать это как неупругое столкновение в обратном направлении?
Мое решение (которое я вывел сам и, следовательно, не полностью убежден):
Линейная скорость нового тела такая же, плюс чтобы куски «раскручивались». Этот полученный линейный импульс вычитается из начального углового момента (используя ), а остаток разделился между двумя новыми телами в соответствии с отношением их моментов инерции. Это предполагает, что один и тот же знак для обоих.
Любая помощь приветствуется. Идеальной была бы формула для новых угловых скоростей.
Я пишу это, предполагая, что вы говорите о чем-то вроде диска, который трескается, и его части двигаются, не взаимодействуя друг с другом.
Вам необходимо экономить энергию:
где , , и - величины скоростей
Вам также необходимо сохранить линейный и угловой момент:
или
Теперь самое сложное — понять механизм разделения системы. Если вы начнете крутить камень на веревке длиной , и струна порвется, камень будет отброшен в направлении его тангенциальной скорости в тот же миг порвалась струна. К этому вы добавляете исходную скорость системы. Вы можете применить это и к своему телу, используя систему центра масс, которую вы нам предоставили:
Поскольку система находится в 2D, измерение z просто действует, чтобы получить нам перпендикулярное произведение и определить вращение по часовой стрелке и против часовой стрелки с отрицательными и положительными знаками соответственно. и всегда должны быть коллинеарными и указывать в противоположных направлениях. Вы можете разбить их, чтобы получить:
Важно отметить, что компоненты xy в моей разработке являются общими и не учитывают и быть коллинеарным и противоположным. Это будет учитываться с ВАШИМИ начальными условиями.
Давайте решим эту проблему, рассмотрев обращенный во времени процесс: два вращающихся объекта неупруго сталкиваются. Мы знаем, что линейный и угловой момент сохраняются:
Последнее также можно записать (при условии, что у вас есть моменты инерции) как:
Отношение между и является , где от оси (или точки) вращения. Итак, у вас есть система из 6 уравнений с 6 (связанными) неизвестными (каждый вектор имеет три компонента). Я лично решил бы это, написав уравнения с точки зрения компонентов неизвестных векторов и решив с помощью численного алгоритма (или Mathematica).
Поскольку предполагается (так предполагается, верно?) неразрушенный диск имеет однородную плотность, его центр масс находится в геометрическом центре диска. Тогда, поскольку центр масс двух различных масс лежит на линии, соединяющей их, центры масс двух осколков должны лежать на диаметре диска. Мало того, если радиальное расстояние ЦМ является , а радиальное расстояние является , то так как "=" , / "=" / . Однако, не зная геометрии хотя бы одного из фрагментов, невозможно определить значения и . Предполагая, что вы знаете их, остальное становится легко. Два фрагмента можно рассматривать как точечные массы, связанные бесконечно малой нитью, вращающейся со скоростью вокруг общего центра масс. Поскольку ориентация двух фрагментов фиксирована, каждый фрагмент вращается вокруг своего собственного центра масс в . Каждый фрагмент имеет тангенциальную скорость, пропорциональную его радиальному расстоянию от общей ЦМ, поэтому "=" / , и "=" / . Направление, разумеется, определяется углом линии, соединяющей два ЦМ в момент выпуска. Кроме того, поскольку во время выпуска нет взаимодействия между двумя фрагментами, каждый из них будет поддерживать скорость вращения. вокруг его центра масс.
дргаббл
тетрадный
дргаббл
тетрадный