Yanıtlar:
Bir itme anında uygulanır, bu yüzden zaman adımına bağlı değildir. Bir şeye sabit bir hız artışı vermek istediğinizde bir dürtü kullanırsınız ya da fiziksel hareket çok hızlı gerçekleşir (örneğin, mermiler / top sekmesi, çarpışmalar, atlamalar, anlık hızlanmalar).
Bu arada bir kuvvet, hızı zaman adımıyla doğru orantılı olarak değiştirir. Zaman aşımı etkisi olan şeyler için kullanırsınız (örn. Yerçekimi, uzun yaylar, hava direnci).
Matematiksel olarak impulse = force * time
; Ve başvuru için impulse = mass * velocity_change
, force = mass * acceleration
.
İlkini genişletirseniz, şunları kontrol edebilirsiniz:
impulse = force * time
->impulse = mass * acceleration * time
ve o zamandan beri acceleration * time = velocity_change
->impulse = mass * velocity_change
.Jeff Lake
aracılığıyla Game Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physics
yanlış: (başka kelimelerle açıklayabilir)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
. İki yoldan da gidebilirsiniz: i
çarpışmadan sonra hızları düzeltmek için dürtü kullanın veya doğrudan tepki kuvvetini kullanın. Dürtü başka bir yerden alırsanız, onu bir an dönüştürebilirsiniz F_response
ve iyi çalışıyor.
impulse = force * time
dürtü ayrıca zamana bağlıdır (en azından dürtü büyüklüğünü elde etmek için kuvvetler kullanıyorsanız). Gerçekten, momentum veya dürtü, anlık dramatik değişiklikler uygulamak için kullanışlıdır. En popüler örnek momentum ve enerjinin korunumu yasalarından gelir: physics.ohio-state.edu/~gan/teaching/spring99/C10.pdf .