Jaka jest różnica między przyłożeniem impulsu a przyłożeniem siły w stosunku do silnika fizyki?
25
Impuls jest przykładany natychmiast, więc nie zależy od kroku czasowego. Przydałbyś się impulsowi, gdy chcesz nadać czemuś stałą prędkość lub działanie fizyczne dzieje się zbyt szybko (np. Pociski / rykoszet, kolizje, skoki, natychmiastowe przyspieszenie).
Tymczasem siła zmienia prędkość bezpośrednio proporcjonalnie do kroku czasowego. Używasz go do rzeczy, które mają efekt upływu czasu (np. Grawitacja, długie sprężyny, opór powietrza).
Matematycznie impulse = force * time
; A dla odniesienia impulse = mass * velocity_change
, force = mass * acceleration
.
Jeśli rozwiniesz pierwszy, możesz to sprawdzić:
impulse = force * time
->impulse = mass * acceleration * time
a ponieważ acceleration * time = velocity_change
->impulse = mass * velocity_change
.
impulse = force * time
impuls jest również zależny od czasu (przynajmniej jeśli użyjesz sił, aby uzyskać wielkość impulsu). Rzeczywiście, pęd lub impuls jest użyteczny do zastosowania natychmiastowych dramatycznych zmian. Najpopularniejszy przykład pochodzi z praw zachowania pędu i energii: physics.ohio-state.edu/~gan/teaching/spring99/C10.pdf .Jeff Lake
poprzezGame Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physics
niepoprawne: (parafrazowanie)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
. Możesz iść na dwa sposoby: użyji
impulsu, aby skorygować prędkości po zderzeniu lub użyj bezpośrednio siły reakcji. Jeśli otrzymasz impuls z innego miejsca, możesz go przekonwertować naF_response
i działa OK.