Ответы:
Импульс применяется мгновенно, поэтому он не зависит от временного шага. Вы будете использовать импульс, если хотите что-то зафиксировать в скорости, или если физическое действие происходит слишком быстро (например, пули / рикошет оружия, столкновения, прыжки, мгновенное повышение скорости).
Между тем сила изменяет скорость прямо пропорционально шагу времени. Вы используете его для вещей, которые имеют эффект со временем (например, гравитация, длинные пружины, сопротивление воздуха).
Математически impulse = force * time
; И для справки impulse = mass * velocity_change
, force = mass * acceleration
.
Если вы развернете первое, вы можете проверить это:
impulse = force * time
->impulse = mass * acceleration * time
и с тех пор acceleration * time = velocity_change
->impulse = mass * velocity_change
,Jeff Lake
помощью Game Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physics
неверно: (перефразируя)Start with a Vector3d (or 2d depending) of forces F, Accumulate all Forces applied in a list, Accumulate All Impulses in a list add both totals to Forces, empty Impulses list, Accel = F / mass, Vel += Accel * deltaTime, Pos = Vel * time.
i = F_response * DTime
. Вы можете пойти любым путем: использовать i
импульс, чтобы скорректировать скорости после столкновения, или использовать непосредственно силу отклика. Если вы получаете импульс откуда-то еще, вы можете преобразовать его в F_response
и он работает нормально.
impulse = force * time
импульс также зависит от времени (по крайней мере, если вы используете силы, чтобы получить величину импульса). Действительно, импульс или импульс полезен для применения мгновенных драматических изменений. Наиболее популярным примером являются законы сохранения импульса и энергии: физика . Ohio-state.edu/~gan/teaching/spring99/C10.pdf .