Реакция столкновения между двумя 2d кругами - PullRequest
0 голосов
/ 17 сентября 2011

Я пытаюсь написать сима, в котором два круга столкнутся, а затем отскочит друг от друга в упругом столкновении.Каждый круг имеет положение, скорость, массу и радиус.У меня уже есть детектирование столкновения, но я не знаю, как обеспечить реалистичность получаемых скоростей.

Я знаю, что силы, действующие на каждую из них, будут одинаковыми, и угол уже определениз полученных сил, но мне нужно найти величину сил.Учитывая скорость и скорость, как можно решить для скорости

Я использую силы, потому что это хорошо вписывается в остальную часть программы, если есть более простой способ, пожалуйста, дайте мне знать.

Ответы [ 2 ]

2 голосов
/ 18 сентября 2011

Сначала выясните, как мяч отскакивает от стены с произвольным углом. Если v - вектор скорости, а a - нормаль (единичный вектор, перпендикулярный стене и указывающий на нее), то v ' = v - 2 ( v. a ) a дает вам скорость после отскока.

Во-вторых, рассмотрим столкновение двух шариков с одинаковыми, но противоположными импульсами, подобно двум одинаковым шарикам с одинаковыми, но противоположными скоростями, скользящими друг от друга. Каждый шар будет действовать так, как если бы он ударил стену, а именно линию, касающуюся обоих шаров.

В-третьих, для рассмотрения общего случая мы используем Рамку центра масс . Скорость центра масс равна:

v CM = (м A v A + m B v B * ** 1036 тысячу тридцать пять *) / (м A + т * 1 039 * B ) * +1041 * Это скорость наблюдателя, для которого два шарика имеют равные и противоположные импульсы. Скорости в системе отсчета этого наблюдателя:

v A ' = v A - v CM
v B ' = v B - v CM

Теперь мы используем решение выше («второе»), чтобы найти скорости после столкновения, v A '' и v B '' (все еще в кадре CM). Наконец мы вернемся к исходному кадру:

v A '' ' = v A ' ' + v CM
v B '' ' = v B ' ' + v CM

0 голосов
/ 17 сентября 2011

Используйте законы сохранения импульса и сохранения энергии.Вы должны будете принять некоторые вымышленные массы для каждого круга, так как это позволит вам определить результирующие скорости после столкновения.

Пусть m1 и m2 - массы круга c1 и c2 соответственно, со скоростями v1и v2.тогда

m1.v1 + m2.v2 (до столкновения) = m1.v1 + m2.v2 (после столкновения) (против импульса) Выше eqn - векторное уравнение.

Применить Сохранение энергии: Потенциальный Энерг + Кинетический Энерг (до цв) = Пот Энерг + Киен Энергия (после столкновения)

...