26. Colisiones oblicuas y elección de ejes convenientes

Elegir ejes alineados con el contacto separa una colisión oblicua en una componente normal, donde ocurre el impacto, y otra tangencial, que puede permanecer inalterada.

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.

“Oblicua” describe la geometría del encuentro. No indica por sí sola si la colisión es elástica, inelástica, lisa o con fricción.

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:

Balance global en xΣmkvkx,i = Σmkvkx,f
Balance global en yΣmkvky,i = Σmkvky,f

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:

n̂ = (r⃗B − r⃗A)/|r⃗B − r⃗A|

26.4 Construir una base normal–tangencial

Si n̂ = (nx, ny), una elección antihoraria para la tangente es:

t̂ = (−ny, nx)

Estos vectores forman una base ortonormal:

Longitud unitaria|n̂| = |t̂| = 1
Perpendicularidadn̂ · t̂ = 0

26.5 Proyectar una velocidad sobre los nuevos ejes

El producto escalar entrega las componentes de cualquier velocidad v⃗:

Componente normalvn = v⃗ · n̂ = vxnx + vyny
Componente tangencialvt = v⃗ · t̂ = vxtx + vyty

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:

v⃗ = vnn̂ + vtt̂

Esta expresión permite resolver el choque en la base local y luego volver a las coordenadas globales usadas por el programa.

v⃗ = (vx, vy)   ⇄   (vn, vt)

26.7 La velocidad relativa decide si hay aproximación

Con n̂ orientado de A hacia B, la velocidad relativa normal puede escribirse como:

gn = (v⃗B − v⃗A) · n̂ = vBn − vAn
  • 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.

Dirección normalvAn y vBn pueden cambiar
Dirección tangencialvAt,f = vAt,i
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:

Momento normalmAvAn,i + mBvBn,i = mAvAn,f + mBvBn,f
RestituciónvBn,f − vAn,f = e(vAn,i − vBn,i)

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:

vAn,f = [(mA − emB)vAn,i + (1 + e)mBvBn,i]/(mA + mB)
vBn,f = [(mB − emA)vBn,i + (1 + e)mAvAn,i]/(mA + mB)

Son exactamente las fórmulas 1D, aplicadas a las proyecciones sobre n̂.

26.11 Volver a las velocidades globales

Una vez resuelto el contacto:

Cuerpo Av⃗Af = vAn,fn̂ + vAt,it̂
Cuerpo Bv⃗Bf = vBn,fn̂ + vBt,it̂

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°):

Componentes de AvAn,i = 3√3 ≈ 5,196 m/s
vAt,i = −3 m/s
Componentes de BvBn,i = 0
vBt,i = 0

Para masas iguales, blanco en reposo y e = 1, las componentes normales se intercambian:

vAn,f = 0     vBn,f = 3√3 m/s

Las tangenciales individuales no cambian. Al recomponer:

Velocidad final de Av⃗Af = (1,5; −2,598) m/s
Velocidad final de Bv⃗Bf = (4,5; 2,598) m/s

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:

|v⃗Af|² + |v⃗Bf|² = 3² + (3√3)² = 36 m²/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

EjesVentajaUso típico
Globales x–ySon fijos y facilitan actualizar posiciones y auditar el momento.Simulación completa y presentación del resultado.
Normal–tangencialSepara la dirección impulsiva de la dirección sin impulso en un contacto liso.Resolver el choque.
Alineados con una velocidadAnulan 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.

Antes de conservar una componente individual, identificá qué impulsos pueden actuar sobre ella. La elección de ejes simplifica el modelo, pero no sustituye sus hipótesis.

26.16 Procedimiento para una colisión oblicua lisa

1. Localizar el contacto
2. Construir n̂ y t̂
3. Verificar aproximación
4. Proyectar velocidades
5. Resolver la componente normal
6. Recomponer y auditar

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.

Componentes iniciales An: 4,33; t: −2,50 m/s
Componentes iniciales Bn: 0,00; t: 0,00 m/s
Velocidad relativa normal−4,33 m/s
Componentes normales finalesA: −0,35; B: 3,12 m/s
Velocidad final A(0,95; −2,34) m/s
Velocidad final B(2,70; 1,56) m/s
Residuo de momento0,00 kg·m/s
Cambio de energía cinética−4,05 J

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.
|P⃗f − P⃗i| < tolerancia

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

  1. Para una normal que forma 30° con +x, escribí n̂ y t̂.
  2. Proyectá v⃗ = (6, 0) m/s sobre los ejes del ejercicio anterior.
  3. Recomponé un vector con vn = 4 m/s y vt = −2 m/s usando esos ejes.
  4. Con n̂ de A hacia B, vAn = 3 m/s y vBn = 1 m/s. ¿Se aproximan o se separan?
  5. Dos masas iguales chocan con vAn,i = 5 m/s, vBn,i = 0 y e = 0,6. Hallá las componentes normales finales.
  6. En el ejercicio anterior, si vAt,i = −2 m/s y vBt,i = 1 m/s, hallá las tangenciales finales para superficies lisas.
  7. Repetí el ejemplo resuelto con e = 0 y describí el movimiento normal final.
  8. Explicá por qué una componente tangencial puede conservarse individualmente aunque la normal no lo haga.
  9. En el laboratorio, elegí una dirección de A que produzca gn > 0. Comprobá que no se aplica el choque.
Ver soluciones y explicaciones
  1. n̂ = (cos 30°, sen 30°) = (√3/2, 1/2); t̂ = (−1/2, √3/2).
  2. vn = 6·√3/2 = 3√3 ≈ 5,196 m/s; vt = 6·(−1/2) = −3 m/s.
  3. v⃗ = 4n̂ − 2t̂ = (2√3 + 1, 2 − √3) ≈ (4,464; 0,268) m/s.
  4. gn = 1 − 3 = −2 m/s: se aproximan.
  5. Para masas iguales: vAn,f = (1 − e)·5/2 = 1 m/s y vBn,f = (1 + e)·5/2 = 4 m/s.
  6. vAt,f = −2 m/s y vBt,f = 1 m/s.
  7. 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.
  8. En el modelo liso no existe impulso tangencial; el impulso normal sí modifica las componentes normales.
  9. 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.