Braquistócrona en un plano vertical

Se trata de encontrar la curva que hace que una partícula que cae bajo la acción de la gravedad, emplee un tiempo mínimo en recorrerla. Utilizaremos el cálculo de variaciones para obtener la ecuación de la curva que como veremos es una cicloide

La partícula parte del origen con velocidad v=0. Cuando ha descendido una altura y, su velocidad es v, que se calcula aplicando el principio de conservación de la energía

1 2 m v 2 +mg(y)=0 v= 2gy

El tiempo que tarda la partícula en ir de A a B es

I(y)= A B dt = A B ds v = 1 2g A B 1+ y ˙ 2 dx y

Aplicando la ecuación de Euler-Lagrange a la función f que no depende de x

f(x,y, y ˙ )= 1+ y ˙ 2 y

por lo que utilizamos la segunda versión de dicha ecuación

f y ˙ = y ˙ y 1+ y ˙ 2 d dx ( y ˙ f y ˙ f )=0 y ˙ 2 y 1+ y ˙ 2 1+ y ˙ 2 y =C

El resultado es

1 y 1+ y ˙ 2 =C dy dx = ky y y ky dy+ C 1 =x

Hacemos el cambio de variable

y=k sin 2 θ dy=2ksinθcosθ·dθ y ky dy =2k tanθ sinθcosθ·dθ=2k sin 2 θ·dθ=k ( 1cos(2θ) )dθ = k( θ 1 2 sin(2θ) ) x=k( θ 1 2 sin(2θ) )+ C 1

La constante C1 se determina sabiendo que la trayectoria pasa por el origen (x=0, y=0). Teniendo en cuenta que y=0, entonces k sin 2 θ=0 , tendremos que θ=0, lo que implica que C1=0

x=k( θ 1 2 sin( 2θ ) ) y=k sin 2 θ= k 2 ( 1cos( 2θ ) )

Llamando R=k/2 y φ=2θ

x=R( φsinφ ) y=R( 1cosφ )

Que son las ecuaciones paramétricas de la curva denominada cicloide

Vamos a determinar el valor del parámetro R para que la cicloide pase por el punto (x1, y1). Para ello, hay que calcular la raíz φ1 de la ecuación trascendente

y 1 x 1 = 1cosφ φsinφ

Conocidos y1 y φ1 calculamos R,

R= y 1 1cos φ 1

Representamos las cicloides que parten del origen y pasan por los puntos (2, 2·2/π), (2, 0.5) y (2,2). Corresponden a tres casos distintos: y1=2x1/π (en color azul), y1<2x1/π, y1>2x1

x1=[2,2,2];
y1=[2*2/pi,0.5,2];
hold on
for i=1:length(x1)
    f=@(x) (1-cos(x))/(x-sin(x))-y1(i)/x1(i);
    phi=fzero(f,pi);
    R=y1(i)/(1-cos(phi));
    xp=@(th) R*(th-sin(th));
    yp=@(th) R*(1-cos(th));
    fplot(xp,yp,[0,2*pi])
    plot(x1(i),y1(i),'o','markersize',3,'markeredgecolor','r',
'markerfacecolor','r')
end
set (gca,'Ydir','reverse')
axis equal
legend('y_1=2*x_1/\pi','', 'y_1<2*x_1/\pi','', 'y_1>2*x_1/\pi',
'location', 'best')
grid on
xlim([0,4])
xlabel('x')
ylabel('y')
title('Cicloides')

En el segundo caso (primera trayectoria en la figura), la partícula desciende por debajo de y1 y luego, vuelve a ascender hasta alcanzar la posición final (x1, y1) y aún así, emplea un tiempo mínimo

Tiempo que tarda la partícula en discribir un arco de cicloide

Conocida la trayectoria que sigue la partícula, calculamos el tiempo T que tarda en moverse entre dos puntos A y B de una trayectoria y(x)

T= A B ds v = 1 2g A B 1+ y ˙ 2 dx y

Para una cicloide, expresamos y, dy/dx y dx en términos de los parámetros R y φ

dx dφ =R( 1cosφ ) dy dφ =Rsinφ dy dx = sinφ 1cosφ ( dy dx ) 2 = 1+cosφ 1cosφ T= 1 2g A B 1+ 1+cosφ 1cosφ R( 1cosφ ) R( 1cosφ )dφ= R g φ A φ B dφ

Si A es el origen φ=0 y si B es el punto (x1, y1), calculamos la raíz φ1 de la ecuación trascendente y después, el parámetro R, tal como hemos hecho anteriormente

El tiempo T que tarda en llegar la partícula al punto B describiendo un arco de cicloide, partiendo del origen en reposo es

T= R g φ 1

x1=2; %punto B
y1=2;
f=@(x) (1-cos(x))/(x-sin(x))-y1/x1;
phi=fzero(f,pi);
R=y1/(1-cos(phi));
T=sqrt(R/10)*phi; %tiempo
disp(T);
    0.8165

Comparación con otras trayectorias

Vamos a calcular el tiempo que tarda una partícula en desplazarse desde el origen A hasta el punto B(x1,y1), siguiendo varias trayectorias, comprobando que la cicloide es la que tarda el menor tiempo.

Línea recta

Consideremos la línea recta que une el origen A y el punto B(x1,y1).

y= y 1 x 1 x dy= y 1 x 1 dx

El tiempo que tarda en moverse de A a B partiendo del reposo es

T= 1 2g A B 1 y 1+ ( dy dx ) 2 dx T= 1 2g x 1 2 + y 1 2 x 1 y 1 0 x1 1 x dx= 2 g x 1 2 + y 1 2 x 1 y 1 x 1

x1=2; %punto P
y1=2;
T=sqrt(2/9.8)*sqrt((x1^2+y1^2)/(x1*y1))*sqrt(x1);
disp(T);
    0.9035

Parábola

Consideremos la parábola que pasa por el origen A y el punto B(x1,y1).

La ecuación de la parábola que pasa por el origen es y=ax2+bx, y tiene su vértice en el punto B(x1,y1) es

y=a x 2 +bx dy dx =2ax+b

Resolvemos el sistema de dos ecuaciones

2a x 1 +b=0 y 1 =a x 1 2 +b x 1 }a= y 1 x 1 2 b=2 y 1 x 1

El tiempo que tarda en moverse de A a B partiendo del reposo es

T= 1 2g 0 x 1 1+ ( 2ax+b ) 2 a x 2 +bx dx

Utilizamos procedimientos numéricos para calcular la integral definida

x1=2; %punto P
y1=2;
a=-y1/x1^2;
b=2*y1/x1;
f=@(x) sqrt((1+(2*a*x+b).^2)./(a*x.^2+b*x));
T=integral(f,0,x1)/sqrt(2*9.8);
disp(T);
     0.8418

Función armónica

Consideremos la función armónica y=asin(x) que pasa por el origen A y el punto B(x1,y1).

a= y 1 sin( x 1 )

Sabiendo y=y(x) y dy/dx

dy dx =acos(x)

calculamos el tiempo T de viaje. Resolvemos la integral definida por procedimientos numéricos

T= 1 2g 0 x 1 1+ a 2 cos 2 x asinx dx

x1=2; %punto P
y1=2;
a=-y1/x1^2;
b=2*y1/x1;
f=@(x) sqrt((1+(2*a*x+b).^2)./(a*x.^2+b*x));
T=integral(f,0,x1)/sqrt(2*9.8);
disp(T);
     0.8733
>> fplot(@(x) a*sin(x),[0,3])
>> grid on
>> set (gca,'Ydir','reverse')

Como vemos en el gráfico, la partícula parte del origen en reposo, se mueve a lo largo de la trayectoria hasta alcanzar el mínimo en π/2 y luego, asciende hasta el punto B (2,2)

Dos segmentos

Las ecuaciones paramétricas de la braquistócrona son

x=R( φsinφ ) y=R( 1cosφ )

Cuando φ=π, y=h, por lo que R=h/2.

El punto P esta a una distancia, dh/2

h=1;
R=h/2;
fplot(@(th) R*(th-sin(th)),@(th) R*(1-cos(th)),[0,pi])
set (gca,'Ydir','reverse')
axis equal
grid on
axis off

El tiempo T que tarda una partícula en recorrer la trayectoria desde el origen hasta P es

T= R g φ 1 =π h 2g

Consideremos ahora la trayectoria formada por dos segmentos conectados

En el plano inclinado, la fuerza sobre la partícula es mgsinθ, la aceleración es gsinθ. En el plano horizontal, la fuerza sobre la partícula es nula, la velocidad es constante

Supondremos que la partícula parte en reposo. La ecuación de su movimiento a lo largo del plano inclinado es

s= 1 2 gsinθ· t 2 ,sinθ= h l

El tiempo que tarda en recorrerlo es

l= 1 2 gsinθ· t 1 2 ,l= x 2 + h 2 t 1 = 2( x 2 + h 2 ) gh

La velocidad al llegar al final del plano inclinado (principio del plano horizaontal) es

v=gsinθ· t 1 =gsinθ 2l gsinθ = 2lgsinθ = 2gh

La velocidad se puede obtener a partir de la conservación de la energía, mgh=mv2/2

Esta velocidad se mantiene constante en el plano horizontal

dx=v t 2 t 2 = dx 2gh

El tiempo total es

t= t 1 + t 2 = 2( x 2 + h 2 ) gh + dx 2gh

Representamos el tiempo t en función de x para tres valores de dh/2, 2, 3. Identificamos los mínimos de la función t(x)

h=1;
hold on
xm=h/sqrt(3); %mínimo
line([xm,xm],[0,2],'lineStyle','--')
for d=[pi*h/2, 2,3]
    f=@(x) sqrt(2*(x.^2+h^2)/(9.8*h))+(d-x)/sqrt(2*9.8*h);
    fplot(f, [0,3])
    tm=(sqrt(8/3)-sqrt(1/6))*sqrt(h/9.8)+d/sqrt(2*9.8*h); %mínimo
    line([0,xm],[tm,tm],'lineStyle','--')
end
hold off
grid on
ylim([0,1.5])
xlabel('x (m)')
ylabel('t(s)')
title('Tiempo de en función de x')

Calculamos el valor de x para que el tiempo t sea mínimo

dt dx = 2 gh x x 2 + h 2 1 2gh =0 2x= x 2 + h 2 4 x 2 = x 2 + h 2 x m = h 3

Para este valor de xm el tiempo mínimo vale

t m = 2( h 3 2 + h 2 ) gh + d h 3 2gh =( 8 3 1 6 ) h g + d 2gh

Comparamos el tiempo tm con el tiempo T para la distancia dh/2

T t m = π h 2g ( 8 3 1 6 ) h g + π h 2 2gh = π 2 8 3 1 6 + π 2 2 =0.9512

Como cabe esperar, T es más pequeño. Comparamos las dos trayectorias

h=1;
R=h/2;
fplot(@(th) R*(th-sin(th)),@(th) R*(1-cos(th)),[0,pi],'lineWidth',1.3,'color','r')
set (gca,'Ydir','reverse')
line([0,xm],[0,h],'lineWidth',1.3,'color','k')
line([xm,pi*h/2],[h,h],'lineWidth',1.3,'color','k')
axis equal
grid on
xlabel('x')
ylabel('y')
title('trayectorias')

En la página titulada Braquistócrona discreta sustituimos esta trayectoria por un conjunto de segmentos conectados

La partícula parte del origen con velocidad no nula

En este apartado analizamos cómo cambia la trayectoria cicloidal de la partícula cuando parte del origen con velocidad inicial no nula

La partícula parte del origen con velocidad v0. Cuando ha descendido una altura y, su velocidad es v, que se calcula aplicando el principio de conservación de la energía

1 2 m v 2 +mg(y)= 1 2 m v 0 2 v= v 0 2 +2gy

El tiempo que tarda la partícula en ir de A a B es

I(y)= A B dt= A B ds v = A B 1+ y ˙ 2 dx v 0 2 +2gy

Haciendo el cambio de variable

{ x=XK y=Y v 0 2 2g

La integral se convierte en

I(Y)= 1 2g A B 1+ Y ˙ 2 dx Y

Aplicando la ecuación de Euler-Lagrange a la función f que no depende de X

f(X,Y, Y ˙ )= 1+ Y ˙ 2 Y

La solución ya deducida en el primer apartado, cuando la partícula partía con velocidad inicial nula, es

{ X=R(φsinφ) Y=R(1cosφ)

Voviendo a las variables originales x e y

{ x=R(φsinφ)K y=R(1cosφ) v 0 2 2g

Las constantes R y K se determina sabiendo que la curva pasa por los puntos A (0, 0) y B(xB, yB) o bien, resolviendo el sistema de cuatro ecuaciones

A{ R( φ A sin φ A )K=0 R(1cos φ A ) v 0 2 2g =0 B{ R( φ B sin φ B )K= x B R(1cos φ B ) v 0 2 2g = y B

Llamando V 0 = v 0 2 2g , el sistema de ecuaciones se expresa de forma más conveniente

R= y B + V 0 1cos φ B K=( y B + V 0 ) φ A sin φ A 1cos φ B { ( y B + V 0 )( 1cos φ A ) V 0 ( 1cos φ B )=0 ( y B + V 0 )( φ B sin φ B φ A +sin φ A ) x B ( 1cos φ B )=0

Como podemos apreciar, cuando la velocidad inicial es nula, v0=0, φA=0, K=0, y φB se obtiene resolviendo la ecuación transcendente

y B ( φ B sin φ B ) x B ( 1cos φ B )=0

Llamando x1 a φA y x2 a φB, tenemos que resolver el sistema de dos ecuaciones no lineales con dos incógnitas

{ f 1 ( x 1 , x 2 )=0 f 2 ( x 1 , x 2 )=0

Utilizamos el procedimiento iterativo, para lo cual definimos el vector F de funciones

F=( ( y B + V 0 )( 1cos φ A ) V 0 ( 1cos φ B ) ( y B + V 0 )( φ B sin φ B φ A +sin φ A ) x B ( 1cos φ B ) )

El vector X de las incógnitas

X=( φ A φ B )

El Jacobiano de este sistema de dos ecuaciones es

J=( f 1 x 1 f 1 x 2 f 2 x 1 f 2 x 2 ) J=( ( y B + V 0 )sin φ A V 0 sin φ B ( y B + V 0 )( cos φ A 1 ) ( y B + V 0 )( 1cos φ B ) x B sin φ B )

Se parte de un valor inicial de las incógnitas X0 y se obtiene la solución aproximada empeando el proceso iterativo, X=X-J\F

El proceso se detiene después de un número determinado de iteraciones o cuando la diferencia entre dos valores consecutivos del vector de las incógnitas X es menor que un número prefijado

Primero, comprobamos que cuando la velocidad inicial es nula, obtenemos las mismas trayectorias que en el primer apartado, tomando el punto B de coordenadas, por ejemplo, (2,2), después asignamos un valor a la velocidad inicial o al parámetro V0

xB=2; %coordenadas del punto B
yB=2;
V0=2;

F=@(x) [(yB+V0)*(1-cos(x(1)))-V0*(1-cos(x(2)));(yB+V0)*(x(2)-sin(x(2))-
x(1)+sin(x(1)))-xB*(1-cos(x(2)))];
J=@(x) [(yB+V0)*sin(x(1)),-V0*sin(x(2)); (yB+V0)*(cos(x(1))-1), 
(yB+V0)*(1-cos(x(2)))-xB*sin(x(2))];
x=[pi/4;pi]; %valor inicial
i=0;
while i<100
    y=-J(x)\F(x);
    if sqrt(norm(y)/norm(x))<0.001
         break;
    end
    x=x+y;
    i=i+1;
end
if i>=100
    disp('Se ha soprepasado el número de iteracciones');
end
fprintf('La solución es phi_A=%1.3f, phi_B=%1.3f\n',x(1),x(2));

%trayectoria
R=(yB+V0)/(1-cos(x(2)));
K=R*(x(1)-sin(x(1)));
xp=@(th) R*(th-sin(th))-K;
yp=@(th) R*(1-cos(th))-V0;
hold on
fplot(xp,yp,[x(1),2*pi])
plot(xB,yB,'o','markersize',3,'markeredgecolor','r','markerfacecolor','r')
alfa=atan(sin(x(1))/(1-cos(x(1))));
quiver(0,0,sqrt(2*9.8*V0)*cos(alfa),sqrt(2*9.8*V0)*sin(alfa),'color','r') 
hold off
set (gca,'Ydir','reverse')
axis equal
grid on
xlabel('x')
ylabel('y')
title('Cicloide')

La solución es phi_A=1.218, phi_B=1.885

Cuando el móvil parte de origen con velocidad inicial V 0 = v 0 2 2g =2 , el parámetro φA=1.218, cuando llega al punto B (2,2) el parámetro φB=1.885

Se ha dibujado el vector velocidad inicial tangente a la trayectoria en el origen. El ángulo α que forma el vector velocidad con el eje X es

tanα= dy dx = dy / dφ dx / dφ = sin φ A 1cos φ A

Tiempo que tarda la partícula en discribir un arco de cicliode

El tiempo que trada la partícula en desplazarse desde el origen A al punto B es

T= R g ( φ B φ A )

>> T=sqrt(R/9.8)*(x(2)-x(1))
T =    0.3725

Que como vemos es bastante menor que el tiempo obtenido cuando la velocidad inicial es nula, 0.8165

Referencias

Del apartado titulado 'La partícula parte del origen con velocidad no nula'

T. M. Atanackovic. The brachistochrone for a material point with arbitrary initial velocity. Am. J. Phys. 46(12) December 1978, pp. 1274-1275

Pirooz Mohazzabi. A Different Brachistochrone Problem with Counterintuitive Results. Journal of Applied Mathematics and Physics, 2024, 12, 1426-1431, https://doi.org/10.4236/jamp.2024.124087