Здравствуйте!
Как промоделировать такой процесс как взаимодействие шара и линии?
Дано:
двухмерное пространство
шар (просто круг)
плоскость (просто линия)
шар притягивается вниз силой притяжения
Шар пересекается с линией и шар должен отлететь или катиться по линии.
примерно так:
Тоесть сила реакции опоры отрезка и сила вес шара в сумме заставляют его двигаться вдоль прямой.
Но может быть и другая ситуация
Например, когда шар приближается к линии с какой-то изначальной скоростью, тоесть, у него есть импульс. Тогда, по идее, он должен зеркально отлететь от прямой.
В общем, нужно реализовать даное взаимодействие.
Я делаю это следующим образом:
каждый промежуток времени d проверяю столкновение шара и линии
если столкнулись, то:
получаем импульс шара как вектор скорости умноженый на массу
находим нормаль линии
перемножаем два этих вектора
к общей силе, действующей на шар, приплюсовываем полученый вектор
когда обновлем состояние шара:
приплюсовываем к силе, действующей на шар вектор (0, g*mass) для того, чтобы приложить силу тяжести
к вектору скорости приплюсовываем вектор силы / mass * d
к координатом приплюсовываем скорость * d
обнуляем силу
Оси координат направлены вправо и вниз
В целом даная схема не работает, я кардинально делаю что-то не так. Шар просто пролетает насквозь линию.
Пожалуйста, помогите