¿Cómo calcular las velocidades después de la colisión?

Actualmente estoy escribiendo un programa para un simulador de partículas. Uno de los requisitos es que las partículas colisionen de forma realista. Sin embargo, no sé cómo calcular las velocidades finales.

Para cada colisión, tengo el X -componente y y -componente de cada velocidad, así como el desplazamiento y la masa de cada partícula.

¿Es posible calcular la dirección y magnitud de sus velocidades después de la colisión? ¿Si es así, cómo?

Comience leyendo acerca de la conservación del momento
Lo leí e intenté usar tanto la conservación del momento como la conservación de la energía cinética para encontrar una buena ecuación, pero terminé con este trabajo extremadamente complicado. Me preguntaba si había una mejor manera.
La única manera mejor es hacer suposiciones en su mayoría poco realistas (por ejemplo, todas las colisiones frontales). Si quieres realismo, necesitas tener esa fórmula desordenada.
Un problema: hay un ± firmar en un punto: No sé cómo lidiar con eso.
No creo que se suponga que haya un ± allí, pero es posible que el signo dependa de si es una colisión frontal o no (es decir, ambas partículas en la misma dirección o en direcciones opuestas).
¿Qué has probado y qué entiendes? Así que sabemos por dónde empezar. Además, qué tipo de forma de partículas desea usar, supongo que esférica.
¿Estas partículas tienen alguna forma o son solo puntos?

Respuestas (2)

La colisión bidimensional se puede reducir a un problema unidimensional en el caso de las esferas; consulte aquí . El ± que encuentra al resolver la energía cinética es probable porque hay dos soluciones y las ecuaciones se satisfacen con cualquiera de ellas. Una solución es simplemente que las partículas se atraviesen entre sí, lo que puede desechar.

Esas ecuaciones eran justo lo que estaba buscando, ¡gracias!
Comentario menor a la publicación (v1): considere mencionar explícitamente el autor, el título, etc. del enlace, para que sea posible reconstruir el enlace en caso de que se rompa.

Nota: El método más simple para calcular las colisiones utiliza algún método para aplicar impulsos a los objetos que chocan en algún momento. El algoritmo más simple es probar si dos objetos se cruzan en algún momento, y si es así, lo arregla para que dejen de cruzarse entre sí, y luego aplica los impulsos calculados en cada objeto. Sin embargo, esto no es completamente correcto. Realmente necesita averiguar qué colisiones ocurrieron primero, retroceder toda la simulación al momento de la primera colisión y calcular las nuevas velocidades en ese momento . Esto funciona correctamente si tiene muchas colisiones momentáneas e interdependientes.

En el peor de los casos, si las partículas son densas y entran en contacto entre sí, el método más fácil que he encontrado (que se usa en esta simulación y que usé para manejar la colisión en esta simulación ) es usar fuerzas en lugar de impulsos . . Nuevamente, lo reduce a un problema unidimensional y tiene la fuerza de interacción entre dos partículas:

F = k d m v

dónde m y k son constantes, k d es una fuerza repulsiva de resorte Hookean , v es la velocidad relativa de las dos partículas a lo largo de su eje de colisión, y m v es una fuerza de fricción viscosa .

Creo que si desea una física de contacto más precisa (con contactos de punto deslizante precisos en lugar de una fuerza de resorte), tendrá que usar un método mucho más sofisticado.