Creé una simulación de rebote usando exactamente la fórmula de Wikipedia . El comportamiento que observo no es lo que esperaría en dos casos:
Cuando dos bolas golpean descentradas, actúan como si el impacto fuera de frente.
Haga clic para la animación
Cuando una pelota pequeña golpea una pelota grande (con gravedad), rebota de un lado a otro en arco, no alrededor de la pelota grande: animación .
¿Este comportamiento es consistente con la fórmula de la ecuación inelástica?
Para una simulación plana 2D con fricción cero, haga lo siguiente
La dirección normal de contacto (fuerza) es
La matriz de inercia inversa para cada cuerpo es
La velocidad de impacto (escalar) es
La masa efectiva inversa (escalar) a lo largo del contacto de cada cuerpo es
El impulso que actúa sobre el cuerpo 2 es
El impacto actuando junto cambia el movimiento de cada cuerpo por
Los cambios en el movimiento se transfieren de vuelta al centro de masa (cambio en) las velocidades , y cambio de giro resolviendo la siguiente definición
xp_1
. Y
sería dxp_1
por ejemplo. Necesitaría codificar en una matriz de 3 × 3 para pensar en la multiplicación de vectores de 3 × 1.No. El impulso aún se conserva. En particular, se conserva la componente del impulso paralela al suelo. Entonces, si la pelota va hacia la derecha antes de tocar el suelo, seguirá yendo hacia la derecha después.
La fórmula a la que te refieres es para colisiones unidimensionales . Eso se aplica solo si los elementos están dispuestos de modo que realmente haya movimiento en una sola dimensión. Tus dos bolas se desviarían una de la otra porque golpean fuera del centro. Cada uno de ellos comenzaría a moverse parcialmente en la dirección vertical, con componentes iguales de impulso en la dirección vertical.
Juan Alexiou
Tomáš Zato
Juan Alexiou
Pedro R.