d resposta de colisão entre círculos

Estou tentando calcular novas velocidades para duas bolas que colidem, mas não posso fazer isso antes de resolver outro problema.

Como no mundo digital uma colisão real quase nunca acontece, sempre teremos uma situação em que as bolas "colidentes" se sobrepõe

Imagine que há 100 bolas se movendo aleatoriamente, então, se eu entendi direito, o procedimento deve ser o seguinte:

Mova as bolas x += vx; y+= vy;) Obtenha as bolas sobrepostas (ou colidindo perfeitamente) Mova as bolas "de volta no tempo" para aquele momento Executar cálculos de colisão

Se o exposto acima estiver correto, como mover as bolas "de volta no tempo" para o ponto da primeira colisão? Dados conhecidos:

Todas as coordenadas das bolas b[i].x, b[i].y)BallX eY velocidades b[i].vx, b[i].vy)Distância entre bolas sobrepostas dist)

Devo apenas calcular quantos por cento odist está a uma distância perfeita da colisão e depois simplesmente recuax ey coordena na mesma quantidade de porcentagem devx evy?

questionAnswers(4)

yourAnswerToTheQuestion