Tiro parabólico (II)
Rebote sobre una placa inclinada situada a una altura h

Una partícula se deja caer desde una altura H, rebota elásticamente en una placa inclinada situada a una altura h, tal como se muestra en la figura.
Cuando una partícula choca elásticamente con una pared fija, los ángulos que forman la dirección de la velocidad de la partícula con la normal a la pared inmediatamente antes y después del choque, son iguales
La ecuación del movimiento de caída de la partícula desde la posición y0=H, a lo largo del eje Y es
Cuando la partícula se encuentra a la altura h, alcanza la velocidad
La partícula rebota elásticamente sobre la placa inclinada, la velocidad de disparo es
haciendo un ángulo θ con la horizontal, tal como se muestra en la figura. Las ecuaciones del movimiento de la partícula son ahora
El alcance horizontal R se obtiene con y=0
T es el tiempo de vuelo
Fijamos la altura h
Vamos a determinar el ángulo de tiro θm que hace que el alcance R sea máximo.
Ya hemos estudiado este problema en el Tiro parabólico (I). El ángulo de tiro que hace que el alcance sea máximo es
Cuando h=0, η=0, θm=π/4 (45°)
Representamos el alcance R/2H en función del ángulo de tiro θ para η=0, 0.2, 0.4, 0.6, 0.8
El alcance disminuye al incrmentarse h o η=h/H
hold on
for r=0:0.2:0.8
f=@(x) (1-r)*cos(x).*(sin(x)+sqrt(sin(x).^2+r/(1-r)));
fplot(f,[0,80*pi/180],'displayName',num2str(r))
end
hold off
grid on
legend('-DynamicLegend','location','best')
set(gca,'XTick',0:pi/12:pi/2)
set(gca,'XTickLabel',{'0','\pi/12','\pi/6','\pi/4','\pi/3','5\pi/12','\pi/2'})
xlabel('\theta')
ylabel('R/2H')
title('Altura h fija')

Fijamos el ángulo de tiro θ
Vamos a determinar la altura h o el parámetro η que hace que el alcance R sea máximo.
Tenemos que resolver la ecuación
El ángulo de tiro θ<π/6 para que η=h/H≥0
El alcance máximo es
Por ejemplo para θ=π/18 (10°), ηm=0.3949, el alcance máximo Rm=1.1918·H
Representamos la trayectoria seguida por tres partículas disparadas con ángulo de tiro de θ=π/18 (10°), desde la altura 3 m, 3.949 n y 5 m. Observamos que el alcance de la segunda partícula es máximo
hold on
th=10*pi/180; %ángulo de tiro
x_m=(1-2*sin(th))/(2*(1-sin(th)));
H=10; %altura de caída
hold on
for h=[3, x_m*H, 5]
v0=sqrt(2*9.8*(H-h));
x=@(t) v0*cos(th)*t;
y=@(t) h+v0*sin(th)*t-4.9*t.^2;
T=(v0*sin(th)+sqrt(v0^2*sin(th)^2+2*9.8*h))/9.8;
fplot(x,y,[0,T],'displayName',num2str(h))
end
grid on
legend('-DynamicLegend','location','best')
xlabel('x')
ylabel('y')
title('Trayectorias')

Actividades
Se introduce
- La altura h de la placa inclinada, en el control titulado Altura
- El ángulo de tiro, θ, en el control titulado Angulo de tiro
- Se ha fijado la altura inicial de la partícula, H=10 m
Se pulsa el botón titulado Nuevo
Se observa la caída vertical de la partícula desde la posición inicial H, hasta que impacta en la placa inclinada situada a una altura h
Se representa la taryectoria de la partícula que rebota hasta que impacta sobre el eje X
Una rampa
Se lanza un proyectil de masa m con velocidad vp desde la base de un plano inclinado de longitud l y ángulo θ.

El proyectil desliza sin rozamiento, alcanzando el punto más alto de la rampa con velocidad v0. Aplicando el principio de conservación de la energía
A continuación, el proyectil describe un tiro parabólico con velocidad de disparo v0 y ángulo de tiro θ. La posición del proyectil respecto al sistema de referencia OXY es
El tiempo de vuelo (y=0) es
El alcance horizontal es
El alcance horizontal es función de la velocidad de disparo v0, que a su vez, es función de la longitud de la rampa l
El alcance es máximo
La derivada dR/dl es nula para θ=π/2, una rampa vertical, que no tiene sentido
La derivada es también nula cuando
La solución correcta es
La otra, con signo +, no cumple la ecuación original
La longitud lm de la rampa que produce alcance R máximo es
Representamos la función
f=@(x) (1-2*sin(x))./(sin(x).*(1-sin(x)));
fplot(f, [10*pi/180,40*pi/180])
grid on
set(gca,'XTick',0:pi/12:pi/6)
set(gca,'XTickLabel',{'0','\pi/12','\pi/6'})
xlabel('\theta')
ylabel('f(\theta)')
title('Longitud de la rampa')

En la gráfica observamos que lm≤0 para θ>π/6 (30°). La rampa solamente tiene algún efecto para ángulos de tiro θ<30°
El alcance máximo es
El alcance sin rampa (vp es la velocidad de disparo y θ el ángulo de tiro)
Representamos las funciones
f=@(x) cos(x)./(2*(1-sin(x)));
hold on
fplot(f, [0,pi/6])
g=@(x) sin(2*x);
fplot(g, [0,pi/6])
hold off
grid on
set(gca,'XTick',0:pi/12:pi/6)
set(gca,'XTickLabel',{'0','\pi/12','\pi/6'})
legend('con rampa','sin rampa','location','best')
xlabel('\theta')
ylabel('R')
title('Alcance')

Los disparos con rampa son ventajosos para ángulos de la rampa θ<30°
Un muelle comprimido

Supongamos que disponemos de un dispositivo para lanzar proyectiles tal como se muestra en la figura. Una bola de masa m comprime un muelle elástico de constante k tal como se aprecia a la izquierda de la figura. Cuando se libera la bola, incrementa su velocidad hasta que el muelle recupera su longitud l sin deformar (a la derecha de la figura).
Si despreciemos el rozamiento, aplicamos el principio de conservación de la energía para calcular la velocidad final v0 de la bola. La energía potencial elástica almacenada en el muelle, se convierte en energía potencial correspondiente a la altura lsinθ y en energía cinética
El alcance de un proyectil que parte del origen con velocidad v0, haciendo un ángulo θ con la horizontal es
donde f=kl/mg es el cociente entre la máxima fuerza que ejerce el muelle y el peso.
Demostramos que el alcance máximo se obtiene para el ángulo θm=45°. En este caso, la velocidad inicial v0 depende del ángulo θ, por lo que el alcance máximo ya no se produce para esta ángulo sino para otro menor.
Dado f, resolvemos la ecuación transcendente utilizando la función
Representamos el θm en función de f. Observamos que cuando f se hace grande, θm tiende hacia 45°. El peso del proyectil mg afecta al alcance X y tiene poco efecto cuando es pequeño en comparación con la máxima fuerza kl que ejerce el muelle.
ff=linspace(0,10,50);
th=zeros(1,length(ff));
i=1;
for f=ff
g=@(x) cos(2*x)*(f-2*sin(x))-sin(2*x)*cos(x);
th(i)=fzero(g,[0,pi/4]);
i=i+1;
end
plot(ff,th)
set(gca,'YTick',0:5*pi/180:pi/4)
set(gca,'YTickLabel',{'0','5','10','15','20','25','30','35','40','45'})
xlabel('f')
ylabel('\theta_m')
grid on
title('Angulo óptimo de disparo')

Disparo desde lo alto de una esfera

Desde lo alto de una esfera de radio R, se dispara un proyectil con velocidad inicial v0 haciendo un ángulo θ con la horizontal. Vamos a determinar el punto de impacto del proyectil sobre la esfera si es que existe.
Situamos el origen del sistema de referencia en el centro de la esfera, la ecuación de la circunferencia de radio R es
La ecuación de la trayectoria del proyectil es
Resolvemos el sistema de dos ecuaciones con dos incógnitas
Obtenemos una ecuación cúbica, x3+ax2+bx+c=0
Ejemplo
- Velocidad de disparo, v0=2.5 m/s
- Angulo de tiro, θ=π/4 (45°)
- Radio de la esfera, R= 2 m
function proyectil
v0=2.5; %velocidad de disparo
th=pi/4; %ángulo de tiro
Re=2; %radio de la esfera
%raíces
a=-4*v0^2*sin(th)*cos(th)/9.8;
b=4*v0^2*(v0^2-9.8*Re)*cos(th)^2/9.8^2;
c=8*Re*v0^4*sin(th)*cos(th)^3/9.8^2;
rr=raices_3([1,a,b,c]);
hold on
ang=(0:360)*pi/180;
xx=Re*cos(ang);
yy=Re*sin(ang);
fill(xx,yy,'c')
plot(xx,yy,'k')
y=@(x) Re+x*tan(th)-4.9*x.^2/(v0*cos(th))^2;
fplot(y,[0,1.8],'r')
hold off
axis equal
grid on
xlabel('x')
ylabel('y')
title('Tiro parabólico')
disp([rr, y(rr)])
function x = raices_3(p)
Q=(p(2)^2-3*p(3))/9;
R=(2*p(2)^3-9*p(2)*p(3)+27*p(4))/54;
x=zeros(3,1); %reserva memoria para un vector de tres elementos
if (R*R)<(Q^3)
tetha=acos(R/sqrt(Q^3));
x(1)=-2*sqrt(Q)*cos(tetha/3)-p(2)/3;
x(2)=-2*sqrt(Q)*cos((tetha+2*pi)/3)-p(2)/3;
x(3)=-2*sqrt(Q)*cos((tetha-2*pi)/3)-p(2)/3;
else
A=-sign(R)*nthroot(abs(R)+sqrt(R*R-Q^3),3);
if A==0
B=0;
else
B=Q/A;
end
x(1)=(A+B)-p(2)/3;
x(2)=-(A+B)/2-p(2)/3+(sqrt(3)*(A-B)/2)*sqrt(-1); %mejor que i
x(3)=-(A+B)/2-p(2)/3-(sqrt(3)*(A-B)/2)*sqrt(-1);
end
end
end

La ecuación cúbica nos da tres raíces reales, de las cuales dos corresponden a la intersección de la parábola con la circunferencia
El proyectil impacta en la superficie de la esfera en la posición, x=0.7644 m, y=1.8481 m
-1.2255 -1.5805
1.7366 -0.9921
0.7644 1.8481
Si aumentamos la velocidad de disparo v0=3.2 m/s el proyectil ya no impacta en la superficie de la esfera

La ecuación cúbica nos da una raíz real, otra compleja y su corespondiente conjugada
-1.5050 + 0.0000i -1.3171 + 0.0000i 2.0025 - 0.3777i 0.9086 + 0.8324i 2.0025 + 0.3777i 0.9086 - 0.8324i
Como podemos leer en la página titulada Raíces de una ecuación (I)
Para calcular las raíces de una ecuación cúbica, x3+ax2+bx+c=0. Sean
Si R2<Q3 entonces la ecuación tiene tres raíces reales
En caso contrario, R2≥Q3 tenemos una raíz real, otra compleja y su correspondiente conjugada.
Vamos a comprobar que cuando R2=Q3, la trayectoria del proyectil es tangente a la esfera
Utilizamos Math Symbolic de MATLAB para realizar las tediosas operaciones necesarias para obtener una expresión R2-Q3=0, para ello utilizamos las funciones
Para ello asignamos nuevos nombres a las variables en el código: el ángulo de tiro θ es
syms th v g R; a=-4*v^2*sin(th)*cos(th)/g; b=4*v^2*(v^2-g*R)*cos(th)^2/g^2; c=8*R*v^4*sin(th)*cos(th)^3/g^2; z=expand((2*a^3-9*a*b+27*c)^2/54^2-(a^2-3*b)^3/9^3); simplify(z)
Utilizamos la función
>> latex(ans)
Obtenemos la ecuación de tercer grado en z=v2
function proyectil_1
th=pi/4; %ángulo de tiro
R=2;%radio de la esfera
a=-R*9.8*(8*sin(th)^4-11*sin(th)^2+3)/cos(th)^2;
b=-(9.8*R)^2*(13*sin(th)^2-12)/(4*cos(th)^2);
c=-(9.8*R)^3/cos(th)^2;
rr=raices_3([1,a,b,c]);
disp(rr)
function x = raices_3(p)
Q=(p(2)^2-3*p(3))/9;
R=(2*p(2)^3-9*p(2)*p(3)+27*p(4))/54;
x=zeros(3,1); %reserva memoria para un vector de tres elementos
if (R*R)<(Q^3)
tetha=acos(R/sqrt(Q^3));
x(1)=-2*sqrt(Q)*cos(tetha/3)-p(2)/3;
x(2)=-2*sqrt(Q)*cos((tetha+2*pi)/3)-p(2)/3;
x(3)=-2*sqrt(Q)*cos((tetha-2*pi)/3)-p(2)/3;
else
A=-sign(R)*nthroot(abs(R)+sqrt(R*R-Q^3),3);
if A==0
B=0;
else
B=Q/A;
end
x(1)=(A+B)-p(2)/3;
x(2)=-(A+B)/2-p(2)/3+(sqrt(3)*(A-B)/2)*sqrt(-1); %mejor que i
x(3)=-(A+B)/2-p(2)/3-(sqrt(3)*(A-B)/2)*sqrt(-1);
end
end
end
El cuadrado de la velocidad de disparo v0 es 10.8566 m/s
10.8566 + 0.0000i -15.2283 +33.9881i -15.2283 -33.9881i
Volvemos al script inicial y modificamos el valor de la variable
function proyectil
v0=sqrt(10.8565); %velocidad de disparo
th=pi/4; %ángulo de tiro
Re=2; %radio de la esfera
%raíces
a=-4*v0^2*sin(th)*cos(th)/9.8;
b=4*v0^2*(v0^2-9.8*Re)*cos(th)^2/9.8^2;
c=8*Re*v0^4*sin(th)*cos(th)^3/9.8^2;
rr=raices_3([1,a,b,c]);
hold on
ang=(0:360)*pi/180;
xx=Re*cos(ang);
yy=Re*sin(ang);
fill(xx,yy,'c')
plot(xx,yy,'k')
y=@(x) Re+x*tan(th)-4.9*x.^2/(v0*cos(th))^2;
fplot(y,[0,2.4],'r')
hold off
axis equal
grid on
xlabel('x')
ylabel('y')
title('Tiro parabólico')
disp([rr, y(rr)])
function x = raices_3(p)
Q=(p(2)^2-3*p(3))/9;
R=(2*p(2)^3-9*p(2)*p(3)+27*p(4))/54;
x=zeros(3,1); %reserva memoria para un vector de tres elementos
if (R*R)<(Q^3)
tetha=acos(R/sqrt(Q^3));
x(1)=-2*sqrt(Q)*cos(tetha/3)-p(2)/3;
x(2)=-2*sqrt(Q)*cos((tetha+2*pi)/3)-p(2)/3;
x(3)=-2*sqrt(Q)*cos((tetha-2*pi)/3)-p(2)/3;
else
A=-sign(R)*nthroot(abs(R)+sqrt(R*R-Q^3),3);
if A==0
B=0;
else
B=Q/A;
end
x(1)=(A+B)-p(2)/3;
x(2)=-(A+B)/2-p(2)/3+(sqrt(3)*(A-B)/2)*sqrt(-1); %mejor que i
x(3)=-(A+B)/2-p(2)/3-(sqrt(3)*(A-B)/2)*sqrt(-1);
end
end
end

El proyectil roza la superficie de la esfera en la posición, x=1.83 m, y=0.79 m
-1.4563 -1.3708
1.8384 0.7876
1.8336 0.7988
Referencias
Yuji Kajiyama. Projectile Motion from Free Fall. Lat. Am. J. Phys. Educ. Vol. 19, No. 4, Dec., 2025
Yuji Kajiyama. Maximizing the Range of a Projectile from Takeoff Ramp. Lat. Am. J. Phys. Educ. Vol. 14, No. 2, June 2020
David L. Herrick. The Effect of Projectile Weight on the Optimum Launch Angle and Range. The Physics Teacher. Vol. 56. December 2018. pp. 584-585
WU Shou-chong, XIAO Fei. Application of univariate cubic equations in solving physics problems. College Physics. 2026, 45 (1): 25