Estoy trabajando en una simulación de partículas donde no hay fuerza gravitacional ejercida sobre las partículas, simplemente viajan a través del espacio y, al colisionar, cambian de trayectoria en consecuencia. No hay un número de dimensiones establecido en el que se pueda ejecutar la simulación, siendo el mínimo 2.
Cada partícula tiene tres atributos: radio (cada partícula es una $n$-esfera de $n$ dimensiones que corresponden a las dimensiones de la simulación), coordenadas (una tupla que describe su posición) y velocidad (otra tupla que describe qué tan rápido se mueve en cualquier dirección dada, determinando dónde estará en la siguiente iteración).
Con las coordenadas se puede determinar exactamente el ángulo en el que golpea a otra partícula, y eso debería ser suficiente para determinar las nuevas velocidades de ambas partículas, o al menos eso creo. Sin embargo, no estoy seguro de cómo hacer esto para una cantidad desconocida de dimensiones. Supondría que una función sigma podría describir bien este comportamiento, pero no estoy seguro de cómo escribirla. ¿Cómo podría hacerlo?
Cualquier información necesaria puede ser agregada bajo solicitud.