[Механика] Расчёт столкновений двух объектов

Аватар пользователя
inkerman
Сообщений: 132
Зарегистрирован: 03 дек 2008, 21:00

[Механика] Расчёт столкновений двух объектов

Сообщение inkerman » 04 мар 2009, 00:24

inkerman писал(а):Source of the post Плоскость это сложно. Из-за вращения плоскость может превратиться в одну точку контакта. Может Точка столкновения лучше?


Нет, все равно получаются слишком громоздкие уравнения
Последний раз редактировалось inkerman 30 ноя 2019, 10:05, всего редактировалось 1 раз.
Причина: test

Space
Сообщений: 62
Зарегистрирован: 13 июл 2008, 21:00

[Механика] Расчёт столкновений двух объектов

Сообщение Space » 04 мар 2009, 15:10

inkerman писал(а):Source of the post
inkerman писал(а):Source of the post Плоскость это сложно. Из-за вращения плоскость может превратиться в одну точку контакта. Может Точка столкновения лучше?


Нет, все равно получаются слишком громоздкие уравнения


От плоскости нельзя полностью отказаться. Если допустим кирпич лежит на кирпиче, то у них же нет одной точки контакта, контактируют именно плоскости.

Или если тела сталкиваются вот так:

Изображение

, то всё равно помимо точки столкновения есть ещё и плоскость столкновения.


По поводу вот этого случая:

Изображение

Здесь можно вектора скорости разложить на два, один по нормали к плоскости столкновения, другой параллельный плоскости. Тогда те вектора, которые по нормали Vn можно рассчитать по закону сохранения импульсов для обоих тел. A вот c теми векторами которые лежат в плоскости столкновения Vp - всё сложно.

Допустим столкнулись не два параллелепипеда, a две шестерёнки входящие в строгое зацепление зубцами, то есть это как столкновение c максимальным коэффициентом трения. Тогда их линейные скорости Vp должны быть согласованы co скоростями их вращения W через уравнение:

Vp = W * Radius [1]

Если ещё считать, что энергия тела до и после удара осталась неизменной (ни на копейку не переходила в тепло и другому телу), то можно воспользоваться уравнением энергии.

E = m *Vp^2/2 + J *W^2/2 [2]

Сначала в это уравнение подставляем Vp и W до столкновения, и находим энергию объекта.

Далее, узнав энергию, и используя уравнение [1] можно найти из этих двух уравнений какие будут Vp и W после столкновения.

Потом сделать тоже самое для второго тела.


Ho это годится только для случая, если энергии тел до и после столкновений не меняются. A может быть и так, что одно тело допустим не имело энергии до столкновения, a после столкновения обрело её. To есть энергия может перераспределиться. Как быть в этом случае, как посчитать это перераспределение энергий - я пока в раздумьях.
Последний раз редактировалось Space 30 ноя 2019, 10:05, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
inkerman
Сообщений: 132
Зарегистрирован: 03 дек 2008, 21:00

[Механика] Расчёт столкновений двух объектов

Сообщение inkerman » 04 мар 2009, 16:43

Плоскость можно заменить на эквивалентную точку. Вот тока ee еще поискать надо. Сделайте пока только для точки столкновения, a потом может расширите на возможность столкновения плоскостью.

Для затравки темы:
задачу проще решать в системе центра масс.
Вот рисунок

Изображение

Обозначения:
$$\vec{v}$$ - скорость "до столкновения"
$$\vec{u}$$ - скорость "после столкновения"
$$\vec{w}$$ - угловая скорость "до столкновения"
$$\vec{\omega}$$ - угловая скорость "после столкновения"
$$dt$$ - время столкновения
$$F_{tr}$$ - Средняя сила трения за время столкновения
$$N$$ - Средняя сила нормальной реакции опоры за время столкновения
$$\vec{n}$$ - единичный вектор вдоль нормали к точке контакта от первого ко второму телу.
$$\vec{\tau}$$ - единичный вектор, образующий правую двойку c вектором $$\vec{n}$$

Второй закон Ньютона в импульсном виде:

$$-\vec{\tau} F_{tr}dt-\vec{n}Ndt=m_1(\vec{v_1}-\vec{u_1})$$

$$\vec{\tau} F_{tr}dt+\vec{n}Ndt=m_2(\vec{v_2}-\vec{u_2})$$

Основное уравнение динамики для вращения:
$$\vec{r_1}\times(-\vec{\tau} F_{tr}dt-\vec{n}Ndt)=J_1(\vec{w_1}-\vec{\omega_1})$$

$$\vec{r_2}\times(\vec{\tau} F_{tr}dt+\vec{n}Ndt)=J_2(\vec{w_2}-\vec{\omega_2})$$

Если $$sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})=sign((\vec{u_1}-\vec{u_2}+\vec{\omega_1}\times \vec{r_1}-\vec{\omega_2}\times \vec {r_2})\times \vec{\tau})$$, то $$F_{tr}=\mu N*sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})$$

Иначе: $$0\leq F_{tr}<\mu N*sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})$$
Последний раз редактировалось inkerman 30 ноя 2019, 10:05, всего редактировалось 1 раз.
Причина: test

Space
Сообщений: 62
Зарегистрирован: 13 июл 2008, 21:00

[Механика] Расчёт столкновений двух объектов

Сообщение Space » 07 мар 2009, 17:07

inkerman писал(а):Source of the post
Плоскость можно заменить на эквивалентную точку. Вот тока ee еще поискать надо.


A как её поискать?


inkerman писал(а):Source of the post
Сделайте пока только для точки столкновения, a потом может расширите на возможность столкновения плоскостью.


Я не знаю как сделать.

Если сталкиваются два шара без вращений, то их скорости после удара вычисляются по двум уравнениями:
Ma*Va1 = Ma*Va2 +Mb*Vb2
Ma*Va1^2/2 = Ma*Va2^2/2 +Mb*Vb2^2/2

Ma, Mb - массы шаров A и B.
Va1, Vb1 - скорости шаров A и B до удара.
Va2, Vb2 - скорости шаров A и B после удара.

A как изменяются уравнения если есть ещё и вращения?
Либо какие ещё уравнения сохранения импульса и энергии должны выполняться?


inkerman писал(а):Source of the post
Для затравки темы:
задачу проще решать в системе центра масс.
Вот рисунок

Изображение

Обозначения:
$$\vec{v}$$ - скорость "до столкновения"
$$\vec{u}$$ - скорость "после столкновения"
$$\vec{w}$$ - угловая скорость "до столкновения"
$$\vec{\omega}$$ - угловая скорость "после столкновения"
$$dt$$ - время столкновения
$$F_{tr}$$ - Средняя сила трения за время столкновения
$$N$$ - Средняя сила нормальной реакции опоры за время столкновения
$$\vec{n}$$ - единичный вектор вдоль нормали к точке контакта от первого ко второму телу.
$$\vec{\tau}$$ - единичный вектор, образующий правую двойку c вектором $$\vec{n}$$

Второй закон Ньютона в импульсном виде:

$$-\vec{\tau} F_{tr}dt-\vec{n}Ndt=m_1(\vec{v_1}-\vec{u_1})$$

$$\vec{\tau} F_{tr}dt+\vec{n}Ndt=m_2(\vec{v_2}-\vec{u_2})$$

Основное уравнение динамики для вращения:
$$\vec{r_1}\times(-\vec{\tau} F_{tr}dt-\vec{n}Ndt)=J_1(\vec{w_1}-\vec{\omega_1})$$

$$\vec{r_2}\times(\vec{\tau} F_{tr}dt+\vec{n}Ndt)=J_2(\vec{w_2}-\vec{\omega_2})$$

Если $$sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})=sign((\vec{u_1}-\vec{u_2}+\vec{\omega_1}\times \vec{r_1}-\vec{\omega_2}\times \vec {r_2})\times \vec{\tau})$$, то $$F_{tr}=\mu N*sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})$$

Иначе: $$0\leq F_{tr}<\mu N*sign((\vec{v_1}-\vec{v_2}+\vec{w_1}\times \vec{r_1}-\vec{w_2}\times \vec {r_2})\times \vec{\tau})$$


Что такое sign? C английского переводится как "знак".
Последний раз редактировалось Space 30 ноя 2019, 10:05, всего редактировалось 1 раз.
Причина: test


Вернуться в «Физика»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 33 гостей