Qual é a diferença entre um impulso e uma força relacionada a um mecanismo de física?

25

Qual é a diferença entre uma aplicação de um impulso e uma aplicação de uma força em relação a um mecanismo de física?

Casey
fonte

Respostas:

25

Um impulso é aplicado instantaneamente, para que não dependa da etapa do tempo. Você usaria um impulso quando quiser dar um impulso fixo de velocidade a alguma coisa, ou a ação física acontecer muito rapidamente (por exemplo, balas / ricochete de arma, colisões, saltos, acelerações instantâneas).

Enquanto isso, uma força altera a velocidade diretamente proporcional ao intervalo de tempo. Você o utiliza para itens com efeito de excesso de tempo (por exemplo, gravidade, molas longas, resistência do ar).

Matematicamente impulse = force * time; E para referência impulse = mass * velocity_change, force = mass * acceleration.

Se você expandir o primeiro, poderá verificar isso:

  • impulse = force * time ->
  • impulse = mass * acceleration * timee desde acceleration * time = velocity_change->
  • impulse = mass * velocity_change.
csiz
fonte
11
Desde então impulse = force * time, o impulso também depende do tempo (pelo menos se você usar forças para obter a magnitude do impulso). De fato, o momento ou impulso é útil para aplicar mudanças dramáticas instantâneas. O exemplo mais popular vem das leis de conservação do momento e da energia: physics.ohio-state.edu/~gan/teaching/spring99/C10.pdf .
Teodron 12/08/12
Assim é a implementação por Jeff Lakevia Game Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physicsincorreta: (parafraseando)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: é assim que eu faço. No meu simulador, não posso usar o corpo rígido, onde dois corpos colidem e tudo funciona diretamente. Seguindo a maneira newtoniana de integrar a aceleração para encontrar a velocidade e depois a posição. Meus impulsos são derivados de uma força de repulsão (força de resposta / reação é um sinônimo no meu entendimento): i = F_response * DTime. Você pode ir de qualquer maneira: use o iimpulso para corrigir as velocidades após a colisão ou use diretamente a força de resposta. Se você receber o impulso de outro lugar, poderá convertê-lo para um F_responsee ele funcionará bem.
Teodron 13/08/12
@teodron Obrigado, isso traz uma pergunta separada que eu farei ... separadamente. : P
Casey