जवाबों:
एक आवेग तुरन्त लागू किया जाता है, इसलिए यह समय कदम पर निर्भर नहीं करता है। आप एक आवेग का उपयोग करेंगे जब आप किसी चीज़ को गति को एक निश्चित बढ़ावा देना चाहते हैं, या शारीरिक क्रिया बहुत जल्दी (पूर्व गोलियों / बंदूक रिकोषेट, टकराव, कूद, त्वरित गति अप) के साथ होती है।
इस बीच एक बल गति को सीधे समय कदम के समानुपाती बनाता है। आप इसे उन चीजों के लिए उपयोग करते हैं, जिनका समय के साथ प्रभाव होता है (पूर्व गुरुत्वाकर्षण, लंबी स्प्रिंग्स, वायु प्रतिरोध)।
गणितीय रूप से 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
: (paraphrasing)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
, आवेग समय पर निर्भर है (कम से कम यदि आप आवेग के परिमाण को प्राप्त करने के लिए बलों का उपयोग करते हैं)। दरअसल, तात्कालिक नाटकीय परिवर्तनों को लागू करने के लिए गति या आवेग उपयोगी है। सबसे लोकप्रिय उदाहरण गति और ऊर्जा के संरक्षण के कानूनों से आता है: Phys.ohio-state.edu/~gan/teaching/spring99/C10.pdf ।