Actualmente estoy intentando crear un motor de física 2D simple y solo necesito saber cómo resolver una determinada colisión.
Tengo partículas, y entre dos partículas cualesquiera se pueden conectar resortes. Estos resortes pueden tener tensión y longitud variable. Ahora digamos que tengo otra partícula que choca con este resorte. Me gustaría resolver esta colisión como si el resorte no pudiera doblarse cuando la partícula lo golpea, sino que simplemente se comporta como lo haría un palo en el mundo real. Estoy almacenando las velocidades y posiciones de todas las partículas, no el momento angular, entonces, ¿cómo debo actualizar las velocidades de todas las partículas?
Encuentre el centro de masa (CM) de las dos partículas conectadas. Luego, determine la distancia ( r ) desde el centro de masa de la parte del resorte donde la tercera partícula lo golpeó. Luego, si pudiera permitir un tiempo de colisión y una fuerza mientras está en contacto, y asumir que la colisión no tiene fricción (esto podría ser difícil para partículas puntuales y resortes delgados, porque el tiempo de desaceleración significa que podría tener suficiente tiempo para cruzar el otro lado ), podría usar T = Fr (r es la distancia de CM a la parte golpeada), suponga que la dirección de la fuerza es perpendicular al resorte (sin fricción) y F = Ma, luego T = IA = Fr.
Para el efecto de traslación de las dos partículas: Use F = Ma para encontrar la aceleración del centro de masa, a = F/M, donde M es la suma de la masa de dos resortes, luego aplique la aceleración a las dos partículas (aceleración es la misma dirección de la fuerza que es perpendicular al resorte).
Para el efecto de rotación: Fr = IA (A es la aceleración angular, I es el momento de inercia: I = m1(r1)^2 + m2(r2)^2, r1 y r2 son las distancias de las 2 partículas desde el centro de masa) , entonces A = Fr/I. Entonces (sea Q1, Q2 la aceleración tangencial de la partícula 1 y 2), Q1 = r1*A, Q2 = r2*A. Entonces podemos aplicar la aceleración tangencial a las dos partículas. si la parte del golpe del resorte está entre CM y la partícula 1, Q1 tendría la misma dirección que la fuerza y Q2 tendría la dirección opuesta. si la parte del golpe del resorte está entre CM y la partícula 2, Q2 tendría la misma dirección que la fuerza y Q1 tendría la dirección opuesta.
Para la tercera partícula que la golpeó: Justo F = ma. pero la dirección de esta fuerza es igual pero opuesta en dirección a la fuerza anterior (ley de reacción igual y opuesta)
En cuanto a la fuerza a usar, podría usar una fuerza que dependa de la distancia (más cercana) de la tercera partícula al resorte, y se activa cuando se alcanza una cierta distancia (digamos 0.5 unidades). Luego, tal vez use una fuerza creciente cuando se acerquen más y más (como una pelota que rebota), digamos, por ejemplo, el potencial de Lennard Jones, donde F = -dU/dx.
Juan Alexiou
2.71828-así