Bir dürtü ile bir fizik motoruyla ilgili bir kuvvet arasındaki fark nedir?


25

Bir dürtü uygulaması ile bir fizik motoruyla ilişkili olarak bir kuvvet uygulaması arasındaki fark nedir?

Yanıtlar:


25

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 * timeve o zamandan beri acceleration * time = velocity_change->
  • impulse = mass * velocity_change.

1
Çünkü impulse = force * timedü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 .
teodron

Yani tarafından uygulamasıdır Jeff Lakearacılığıyla Game Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physicsyanlış: (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.
Casey

@Casey: Ben böyle yapıyorum. Simülatörümde iki gövdenin çarpıştığı ve her şeyin doğrudan çalıştığı katı cisim kasasını kullanamıyorum. Newtonian yöntemi kullanarak ivme bütünleştirerek hızı ve ardından pozisyonu bulmak. Benim dürtüler bir itme kuvveti (yanıt / reaksiyon kuvveti benim anlayış ile eş anlamlıdır) türetilmiştir: 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_responseve iyi çalışıyor.
teodron

@teodron Teşekkürler, bu soracağım ayrı bir soru ortaya çıkardı ... ayrı ayrı. : P
Casey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.