21. Movimiento de proyectiles: trayectoria, alcance y altura

Un proyectil combina un movimiento horizontal uniforme con otro vertical acelerado. Separar las componentes y volver a unirlas permite predecir cada punto de la trayectoria y cada instante importante.

21.1 Qué entendemos por proyectil

Llamaremos proyectil a un móvil que, después del lanzamiento, evoluciona con una aceleración conocida. Su posición cambia en dos dimensiones y un mismo tiempo t conecta las componentes horizontal y vertical.

Usaremos un modelo ideal: el móvil es una partícula, la aceleración horizontal es cero y la vertical es constante hacia abajo. No estudiaremos aquí la causa de esa aceleración.

21.2 Sistema de referencia y signos

Elegimos el eje x horizontal y positivo hacia la derecha, y el eje y vertical y positivo hacia arriba. Con esta convención, una aceleración dirigida hacia abajo tiene componente negativa:

a = (aₓ, aᵧ) = (0, −g)

En las proximidades de la superficie terrestre suele aproximarse g=9,8 m/s², pero el laboratorio permitirá modificarla. Escribir aᵧ=−9,8 m/s² evita mezclar el módulo positivo g con la componente firmada.

21.3 Descomponer la velocidad inicial

Si la rapidez inicial es v₀ y el ángulo θ se mide desde el eje x positivo:

vₓ₀ = v₀ cos(θ)
vᵧ₀ = v₀ sin(θ)

Las componentes incluyen signo. Para un lanzamiento hacia la izquierda puede resultar vₓ₀ negativa; para uno inicialmente hacia abajo, vᵧ₀ será negativa. En JavaScript, seno y coseno reciben radianes:

function componentes(rapidezMps, anguloGrados) {
  const anguloRad = anguloGrados * Math.PI / 180;
  return {
    x: rapidezMps * Math.cos(anguloRad),
    y: rapidezMps * Math.sin(anguloRad)
  };
}

console.log(componentes(20, 30));

21.4 Ecuaciones por componentes

Aplicamos las ecuaciones de aceleración constante a cada eje:

x(t) = x₀ + vₓ₀t
y(t) = y₀ + vᵧ₀t + ½aᵧt²
vₓ(t) = vₓ₀
vᵧ(t) = vᵧ₀ + aᵧt

La componente horizontal conserva su velocidad; la vertical cambia linealmente. No son dos movimientos que ocurren en momentos diferentes: comparten el mismo t y forman un único estado bidimensional.

21.5 Ecuación cartesiana de la trayectoria

Si vₓ₀≠0, despejamos t=(x−x₀)/vₓ₀ de la ecuación horizontal y lo sustituimos en y(t):

y(x)=y₀+(vᵧ₀/vₓ₀)(x−x₀)+[aᵧ/(2vₓ₀²)](x−x₀)²

Es una función cuadrática de x, por eso la trayectoria ideal es parabólica. Si vₓ₀=0, el movimiento es vertical y no podemos realizar esa división; la trayectoria geométrica es una recta.

La ecuación y(x) describe la forma, pero elimina el tiempo. Para conocer velocidad, sentido o cuándo ocupa cada punto debemos conservar las ecuaciones paramétricas x(t), y(t).

21.6 Ascenso, punto máximo y descenso

Con vᵧ₀ positiva y aᵧ negativa, el proyectil atraviesa tres etapas:

Ascensovᵧ>0; la altura aumenta y la componente vertical disminuye.
Punto máximovᵧ=0; la velocidad horizontal puede seguir siendo distinta de cero.
Descensovᵧ<0; la altura disminuye y el módulo de vᵧ aumenta.

En el máximo no se anula necesariamente la velocidad total. Si vₓ₀≠0, el móvil continúa desplazándose horizontalmente.

21.7 Tiempo y altura máxima

El máximo se alcanza cuando vᵧ(t)=0:

tmáx = −vᵧ₀/aᵧ

Este tiempo debe pertenecer al intervalo físico estudiado. Lo sustituimos en y(t):

ymáx=y₀+vᵧ₀tmáx+½aᵧtmáx²
ymáx=y₀−vᵧ₀²/(2aᵧ)

Si el lanzamiento comienza con vᵧ₀≤0, el máximo posterior puede ser la propia altura inicial.

21.8 Llegar a una altura determinada

Para saber cuándo el móvil alcanza un nivel yobjetivo resolvemos:

½aᵧt² + vᵧ₀t + (y₀−yobjetivo) = 0

La ecuación cuadrática puede producir dos instantes, uno o ninguno. Dos raíces representan normalmente el cruce durante ascenso y descenso; una raíz doble corresponde a un contacto tangente; discriminante negativo significa que el nivel no se alcanza.

Además debemos descartar tiempos negativos y raíces fuera del intervalo válido del modelo.

21.9 Tiempo de vuelo y alcance

Si el suelo está en y=0, el tiempo de vuelo es la mayor raíz no negativa de:

0=y₀+vᵧ₀t+½aᵧt²

Luego calculamos el alcance horizontal:

R=x(tvuelo)−x₀=vₓ₀tvuelo

Si inicio y llegada están al mismo nivel, con vᵧ₀>0, se simplifica a tvuelo=−2vᵧ₀/aᵧ. Esa forma no debe usarse cuando las alturas son distintas.

21.10 Simetría y ángulo de máximo alcance

Cuando lanzamiento y llegada están a la misma altura y no hay resistencia, el ascenso y descenso son simétricos en el tiempo. Para rapidez fija:

R = v₀² sen(2θ) / g

El máximo ideal ocurre a 45° porque sen(90°)=1. Los ángulos complementarios θ y 90°−θ producen el mismo alcance, aunque con alturas y tiempos distintos.

Si las alturas inicial y final difieren, si existe resistencia o si hay obstáculos, 45° deja de ser una regla general.

21.11 Velocidad y rapidez en cualquier instante

El vector velocidad es v(t)=(vₓ₀, vᵧ₀+aᵧt). Su módulo y dirección son:

|v|=√(vₓ²+vᵧ²)
φ=atan2(vᵧ,vₓ)

En el punto máximo la rapidez vale |vₓ₀|. Cuando el móvil regresa a la altura inicial, en el modelo ideal recupera la rapidez inicial, pero la componente vertical tiene signo opuesto.

21.12 Actividad interactiva: trayectoria del proyectil

Modificá rapidez, ángulo, altura inicial y aceleración. La curva termina al llegar a y=0 y el punto marca el estado correspondiente al instante seleccionado.

Laboratorio de proyectiles

El eje vertical es positivo hacia arriba y la aceleración se expresa como componente firmada.

Los resultados aparecen debajo.
Tiempo de vuelo2,7 s
Alcance35,0 m
Altura máxima10,3 m
Posición mostrada(17,5; 10,2) m
Velocidad mostrada(12,7; −0,7) m/s

21.13 Implementar el estado analítico

function estadoProyectil(datos, tiempoS) {
  const anguloRad = datos.anguloGrados * Math.PI / 180;
  const vx0 = datos.rapidezMps * Math.cos(anguloRad);
  const vy0 = datos.rapidezMps * Math.sin(anguloRad);
  return {
    tiempoS,
    posicionM: {
      x: datos.x0M + vx0 * tiempoS,
      y: datos.y0M + vy0 * tiempoS
        + 0.5 * datos.aceleracionY * tiempoS ** 2
    },
    velocidadMps: {
      x: vx0,
      y: vy0 + datos.aceleracionY * tiempoS
    }
  };
}

console.log(estadoProyectil({
  x0M: 0, y0M: 2, rapidezMps: 18,
  anguloGrados: 45, aceleracionY: -9.8
}, 1));

21.14 Resolver niveles de forma robusta

function tiemposDeNivel(y0, vy0, aceleracionY, nivel) {
  const A = 0.5 * aceleracionY;
  const B = vy0;
  const C = y0 - nivel;
  if (Math.abs(A) < 1e-12) {
    if (Math.abs(B) < 1e-12) return [];
    const t = -C / B;
    return t >= 0 ? [t] : [];
  }
  const discriminante = B * B - 4 * A * C;
  if (discriminante < 0) return [];
  const raiz = Math.sqrt(Math.max(0, discriminante));
  return [(-B - raiz) / (2 * A), (-B + raiz) / (2 * A)]
    .filter(t => t >= 0)
    .sort((a, b) => a - b)
    .filter((t, i, lista) => i === 0 || Math.abs(t - lista[i - 1]) > 1e-10);
}

console.log(tiemposDeNivel(2, 18 / Math.sqrt(2), -9.8, 0));

La función contempla aceleración prácticamente nula, discriminante negativo y raíz doble. Para el tiempo de vuelo elegimos la mayor raíz válida posterior al lanzamiento.

21.15 Generar una trayectoria muestreada

Para dibujar o exportar elegimos una cantidad finita de instantes. Muestrear no modifica la solución continua:

function muestrearTrayectoria(estadoEn, tiempoFinalS, cantidad) {
  if (!Number.isInteger(cantidad) || cantidad < 2) {
    throw new RangeError("cantidad debe ser un entero mayor o igual a 2");
  }
  return Array.from({ length: cantidad }, (_, i) => {
    const t = tiempoFinalS * i / (cantidad - 1);
    return estadoEn(t);
  });
}

const estados = muestrearTrayectoria(
  t => ({ tiempoS: t, xM: 6 * t, yM: 2 + 8 * t - 5 * t ** 2 }),
  1.8,
  5
);
console.log(estados);

21.16 Del mundo físico a Canvas

Canvas ubica el origen arriba a la izquierda y aumenta y hacia abajo. Para representar metros con y positiva hacia arriba usamos:

canvasX = margenX + (x−xmín)·escalaX
canvasY = alto − margenY − (y−ymín)·escalaY

La transformación pertenece a la vista. Los estados deben continuar en metros; guardar píxeles como posiciones físicas mezclaría dos sistemas de coordenadas.

function crearTransformacion({ izquierda, sueloY, escalaX, escalaY }) {
  return puntoM => ({
    x: izquierda + puntoM.x * escalaX,
    y: sueloY - puntoM.y * escalaY
  });
}

const aCanvas = crearTransformacion({
  izquierda: 50, sueloY: 350, escalaX: 10, escalaY: 10
});
console.log(aCanvas({ x: 12, y: 5 }));

21.17 Comparar solución analítica y simulación

El proyectil es un caso de prueba excelente para integradores. Con las mismas condiciones iniciales, comparamos posición y velocidad numéricas contra el estado analítico en cada tiempo.

function errorPosicion(numerico, exacto) {
  return Math.hypot(
    numerico.posicionM.x - exacto.posicionM.x,
    numerico.posicionM.y - exacto.posicionM.y
  );
}

const numerico = { posicionM: { x: 12.01, y: 6.97 } };
const exacto = { posicionM: { x: 12, y: 7 } };
console.log(errorPosicion(numerico, exacto));

Además del error final, conviene medir error máximo, tiempo de llegada, alcance y altura. Un integrador puede coincidir al final por casualidad y desviarse durante el vuelo.

21.18 Verificaciones e invariantes

  • En t=0, la posición y velocidad coinciden con las condiciones iniciales.
  • vₓ permanece constante si aₓ=0.
  • vᵧ cambia linealmente con pendiente aᵧ.
  • En el máximo interior, vᵧ=0.
  • La posición satisface las ecuaciones por componentes.
  • En la llegada al suelo, y=0 dentro de la tolerancia y vᵧ<0.
  • Con altura inicial y final iguales, la rapidez final coincide con la inicial en el modelo ideal.
  • Las unidades y la referencia son comunes a todos los estados.

21.19 Límites del modelo

La trayectoria parabólica exige aceleración constante y ausencia de otros efectos. El modelo no representa resistencia del aire, viento, rotación, tamaño del objeto, curvatura del terreno, rebotes ni variación espacial de la aceleración.

También debemos definir el dominio: después de tocar el suelo, las ecuaciones continuarían matemáticamente hacia y negativa, pero el modelo del vuelo ya no es válido. La simulación debe detenerse o aplicar una nueva regla.

21.20 Errores frecuentes

  • Usar grados directamente en Math.sin: convertirlos a radianes.
  • Confundir rapidez con componentes: descomponer v₀ mediante seno y coseno.
  • Usar g positiva como aᵧ: con arriba positivo, aᵧ es negativa.
  • Aplicar la fórmula simétrica con alturas distintas: resolver la cuadrática general.
  • Elegir siempre la primera raíz: identificar ascenso, descenso y dominio temporal.
  • Creer que en el máximo v=0: solo se anula vᵧ.
  • Confundir trayectoria con gráfica y(t): la trayectoria relaciona y con x.
  • Continuar bajo el suelo: definir el evento de finalización.
  • Mezclar metros con píxeles: transformar únicamente al dibujar.

21.21 Ejercicios propuestos

  1. Descomponé una rapidez de 20 m/s lanzada a 30°.
  2. Con vᵧ₀=10 m/s y aᵧ=−5 m/s², hallá el tiempo y el incremento de altura hasta el máximo.
  3. Calculá la posición a 1 s con r₀=(0,2) m, v₀=(6,8) m/s y a=(0,−4) m/s².
  4. Un proyectil parte del suelo con 10 m/s a 45° y g=10 m/s². Calculá tiempo de vuelo, altura máxima y alcance.
  5. Explicá por qué dos instantes pueden corresponder a una misma altura.
  6. ¿Qué cambia y qué permanece igual entre lanzamientos complementarios de 30° y 60° con igual rapidez y nivel final?
  7. Un objeto se lanza horizontalmente desde 20 m con vₓ₀=5 m/s y aᵧ=−10 m/s². Hallá tiempo de vuelo y alcance.
  8. Diseñá tres pruebas automáticas para estadoProyectil.
Ver soluciones y explicaciones
  1. vₓ₀=20 cos30°≈17,32 m/s y vᵧ₀=20 sen30°=10 m/s.
  2. tmáx=−10/(−5)=2 s; el incremento es 10·2−2,5·2²=10 m.
  3. x=6 m, y=2+8−2=8 m; la posición es (6,8) m.
  4. Componentes ≈7,07 m/s; tiempo ≈1,414 s; altura máxima 2,5 m; alcance 10 m.
  5. Durante el ascenso y el descenso puede cruzar el mismo nivel con velocidades verticales de signos opuestos.
  6. El alcance es igual porque sen(60°)=sen(120°) en la fórmula de 2θ. El lanzamiento a 60° dura más y alcanza mayor altura.
  7. 0=20−5t² da t=2 s; el alcance es 5·2=10 m.
  8. Por ejemplo: en t=0 recupera el estado inicial; vₓ permanece constante; vᵧ(t)=vᵧ₀+aᵧt. También puede comprobarse y=0 en el tiempo de vuelo.

21.22 Ideas para recordar

  • El proyectil combina componentes que comparten el mismo tiempo.
  • La velocidad inicial se descompone con coseno en x y seno en y.
  • Con aₓ=0 y aᵧ constante, la trayectoria ideal es parabólica.
  • La altura máxima interior ocurre cuando vᵧ=0, no cuando se anula toda la velocidad.
  • Los tiempos de llegada se obtienen resolviendo la ecuación vertical.
  • El alcance usa el tiempo de vuelo en la ecuación horizontal.
  • Las fórmulas simplificadas requieren condiciones específicas.
  • El modelo debe detenerse o cambiar al ocurrir un evento como el contacto con el suelo.

En el próximo tema estudiaremos movimiento relativo y transformaciones de Galileo.