26.1 Qué hace oblicua a una colisión
Una colisión es oblicua cuando las velocidades no están todas sobre una misma recta o cuando la dirección del contacto no coincide con la velocidad relativa inicial. Los cuerpos pueden cambiar simultáneamente el módulo y la dirección de sus velocidades.
26.2 Los ejes globales x–y
Los ejes fijos x–y son útiles para representar posiciones, actualizar una simulación y comprobar la conservación del momento total:
Sin embargo, estos ejes no siempre muestran con claridad qué componente modifica el contacto.
26.3 La geometría local del contacto
En el instante del choque definimos dos direcciones unitarias:
- n̂, normal: apunta a lo largo de la normal común a las superficies.
- t̂, tangencial: es perpendicular a n̂ y tangente al contacto.
Para dos discos o esferas, n̂ se alinea con la recta que une sus centros. Si apunta desde el centro de A hacia el de B:
26.4 Construir una base normal–tangencial
Si n̂ = (nx, ny), una elección antihoraria para la tangente es:
Estos vectores forman una base ortonormal:
26.5 Proyectar una velocidad sobre los nuevos ejes
El producto escalar entrega las componentes de cualquier velocidad v⃗:
Las componentes son números con signo. No deben reemplazarse por sus valores absolutos.
26.6 Recomponer el vector
El cambio de ejes no modifica el vector físico. A partir de sus componentes locales:
Esta expresión permite resolver el choque en la base local y luego volver a las coordenadas globales usadas por el programa.
26.7 La velocidad relativa decide si hay aproximación
Con n̂ orientado de A hacia B, la velocidad relativa normal puede escribirse como:
- Si gn < 0, la separación entre las superficies disminuye: los cuerpos se aproximan.
- Si gn = 0, no hay aproximación normal.
- Si gn > 0, se separan y no corresponde aplicar otro impulso de choque.
Comprobar este signo evita que una simulación “pegue” nuevamente cuerpos que ya se alejan.
26.8 Qué simplifica un contacto liso
Una superficie idealmente lisa no ejerce impulso tangencial. El impulso de contacto es paralelo a n̂ y solo modifica las componentes normales.
vBt,f = vBt,i
Esta conclusión depende del modelo liso y de que no existan otros impulsos tangenciales apreciables durante el intervalo.
26.9 El problema normal se vuelve unidimensional
Sobre n̂ se aplican las ecuaciones ya estudiadas en una dimensión:
El coeficiente de restitución se aplica a la rapidez relativa normal, no al módulo completo de la velocidad relativa.
26.10 Componentes normales finales
Resolviendo las dos ecuaciones anteriores para dos cuerpos:
Son exactamente las fórmulas 1D, aplicadas a las proyecciones sobre n̂.
26.11 Volver a las velocidades globales
Una vez resuelto el contacto:
Después se comprueba el momento en x e y. Resolver en ejes convenientes no elimina la necesidad de verificar el resultado en el sistema global.
26.12 Ejemplo resuelto: discos iguales y choque elástico
Dos discos lisos de igual masa. A llega con v⃗Ai = (6, 0) m/s, B está en reposo, la normal forma 30° con +x y e = 1.
Con n̂ = (cos 30°, sen 30°) y t̂ = (−sen 30°, cos 30°):
vAt,i = −3 m/s
vBt,i = 0
Para masas iguales, blanco en reposo y e = 1, las componentes normales se intercambian:
Las tangenciales individuales no cambian. Al recomponer:
26.13 Comprobar el ejemplo
La suma final es (6, 0) m/s multiplicada por la masa común, igual al momento inicial. Además:
La energía cinética se conserva porque e = 1 y el contacto es liso. Las velocidades finales son perpendiculares: su producto escalar es cero. Esta propiedad particular requiere masas iguales, blanco en reposo y choque elástico; no vale para cualquier colisión oblicua.
26.14 Comparar elecciones de ejes
| Ejes | Ventaja | Uso típico |
|---|---|---|
| Globales x–y | Son fijos y facilitan actualizar posiciones y auditar el momento. | Simulación completa y presentación del resultado. |
| Normal–tangencial | Separa la dirección impulsiva de la dirección sin impulso en un contacto liso. | Resolver el choque. |
| Alineados con una velocidad | Anulan una componente inicial y simplifican algunos datos. | Problemas con dirección inicial dominante. |
Es habitual usar dos bases en el mismo algoritmo: transformar a n–t, resolver y transformar nuevamente a x–y.
26.15 Cuándo la simplificación deja de valer
Si existe rozamiento o rugosidad, puede aparecer impulso tangencial. Entonces las componentes tangenciales de traslación pueden cambiar y también puede generarse rotación.
Tampoco deben aplicarse automáticamente estas ecuaciones a cuerpos con restricciones, contactos múltiples o geometrías cuya normal cambie apreciablemente durante el impacto.
26.16 Procedimiento para una colisión oblicua lisa
Si los cuerpos no se aproximan en la dirección normal, el procedimiento debe terminar sin aplicar respuesta de colisión.
26.17 Actividad interactiva: laboratorio de choque oblicuo
Variá la línea de centros, las masas, las velocidades iniciales y la restitución. El laboratorio proyecta, resuelve y recompone automáticamente.
Laboratorio normal–tangencial
Modelo de dos discos lisos; n̂ apunta de A hacia B.
Los cuerpos se aproximan: se aplica la respuesta normal del choque.
26.18 Implementación con JavaScript
La función devuelve las velocidades finales y evita aplicar un impulso cuando los cuerpos ya se separan:
function productoEscalar(a, b) {
return a.x * b.x + a.y * b.y;
}
function combinar(normal, tangente, vn, vt) {
return {
x: vn * normal.x + vt * tangente.x,
y: vn * normal.y + vt * tangente.y
};
}
function resolverChoqueOblicuo({ masaA, masaB, vA, vB, normal, e }) {
if (masaA <= 0 || masaB <= 0 || e < 0) {
throw new Error("Parámetros fuera de rango");
}
const longitud = Math.hypot(normal.x, normal.y);
if (longitud < 1e-12) throw new Error("Normal no válida");
const n = { x: normal.x / longitud, y: normal.y / longitud };
const t = { x: -n.y, y: n.x };
const vAn = productoEscalar(vA, n);
const vAt = productoEscalar(vA, t);
const vBn = productoEscalar(vB, n);
const vBt = productoEscalar(vB, t);
if (vBn - vAn >= 0) {
return { vAf: { ...vA }, vBf: { ...vB }, huboChoque: false };
}
const masaTotal = masaA + masaB;
const vAnf = ((masaA - e * masaB) * vAn
+ (1 + e) * masaB * vBn) / masaTotal;
const vBnf = ((masaB - e * masaA) * vBn
+ (1 + e) * masaA * vAn) / masaTotal;
return {
vAf: combinar(n, t, vAnf, vAt),
vBf: combinar(n, t, vBnf, vBt),
huboChoque: true
};
}
console.log(resolverChoqueOblicuo({
masaA: 2,
masaB: 3,
vA: { x: 5, y: 0 },
vB: { x: 0, y: 0 },
normal: { x: Math.cos(Math.PI / 6), y: 0.5 },
e: 0.8
}));26.19 Auditorías físicas y numéricas
Después de calcular las velocidades conviene verificar cuatro condiciones:
- El momento total final coincide con el inicial dentro de una tolerancia.
- Las componentes tangenciales individuales no cambiaron en el modelo liso.
- La rapidez relativa normal final satisface la ecuación de restitución.
- Para 0 ≤ e ≤ 1, la energía cinética no aumenta.
26.20 Errores frecuentes
- Usar la trayectoria como normal: para discos o esferas, la normal es la línea de centros en el contacto.
- No normalizar n⃗: las proyecciones requieren un vector unitario.
- Aplicar e al vector completo: la restitución se refiere a la componente relativa normal.
- Intercambiar n̂ y t̂: solo la componente asociada al impulso sigue las ecuaciones del choque.
- Eliminar la componente tangencial: sin impulso tangencial, se conserva para cada cuerpo; no se vuelve cero.
- Perder los signos: vn y vt son proyecciones orientadas.
- Aplicar el choque a cuerpos que se separan: debe comprobarse gn < 0.
- Confundir base con referencia: cambiar ejes no cambia el movimiento físico.
- Ignorar la fricción: con contacto rugoso, las tangenciales pueden cambiar y aparecer rotación.
26.21 Ejercicios propuestos
- Para una normal que forma 30° con +x, escribí n̂ y t̂.
- Proyectá v⃗ = (6, 0) m/s sobre los ejes del ejercicio anterior.
- Recomponé un vector con vn = 4 m/s y vt = −2 m/s usando esos ejes.
- Con n̂ de A hacia B, vAn = 3 m/s y vBn = 1 m/s. ¿Se aproximan o se separan?
- Dos masas iguales chocan con vAn,i = 5 m/s, vBn,i = 0 y e = 0,6. Hallá las componentes normales finales.
- En el ejercicio anterior, si vAt,i = −2 m/s y vBt,i = 1 m/s, hallá las tangenciales finales para superficies lisas.
- Repetí el ejemplo resuelto con e = 0 y describí el movimiento normal final.
- Explicá por qué una componente tangencial puede conservarse individualmente aunque la normal no lo haga.
- En el laboratorio, elegí una dirección de A que produzca gn > 0. Comprobá que no se aplica el choque.
Ver soluciones y explicaciones
- n̂ = (cos 30°, sen 30°) = (√3/2, 1/2); t̂ = (−1/2, √3/2).
- vn = 6·√3/2 = 3√3 ≈ 5,196 m/s; vt = 6·(−1/2) = −3 m/s.
- v⃗ = 4n̂ − 2t̂ = (2√3 + 1, 2 − √3) ≈ (4,464; 0,268) m/s.
- gn = 1 − 3 = −2 m/s: se aproximan.
- Para masas iguales: vAn,f = (1 − e)·5/2 = 1 m/s y vBn,f = (1 + e)·5/2 = 4 m/s.
- vAt,f = −2 m/s y vBt,f = 1 m/s.
- Con e = 0 y masas iguales, ambas componentes normales finales valen la mitad de vAn,i: 3√3/2 ≈ 2,598 m/s. No hay separación relativa normal.
- En el modelo liso no existe impulso tangencial; el impulso normal sí modifica las componentes normales.
- Por ejemplo, con B en reposo y A moviéndose en sentido opuesto a n̂, gn resulta positivo.
26.22 Ideas para recordar
- La dirección normal se obtiene de la geometría del contacto.
- Los productos escalares proyectan las velocidades sobre n̂ y t̂.
- En un contacto liso, el impulso es normal y las componentes tangenciales individuales permanecen constantes.
- La componente normal se resuelve como una colisión unidimensional.
- El coeficiente de restitución se aplica a la velocidad relativa normal.
- Antes de responder al choque debe verificarse que los cuerpos se aproximen.
- El resultado se recompone en x–y y se audita mediante momento, restitución y energía.
En el próximo tema analizaremos con más detalle el impulso normal que produce estos cambios de velocidad.