Integrales de Fresnel. Curva de transición

Las integrales de Fresnel

Las integrales de Fresnel se definen

C(x)= 0 x cos( π t 2 2 ) dt S(x)= 0 x sin( π t 2 2 ) dt

La función fresnelc de MATLAB calcula la primera y fresnels, la segunda. Representamos ambas funciones

hold on
fplot(@(x) fresnelc(x), [-5,5])
fplot(@(x) fresnels(x), [-5,5])
hold off
grid on
xlabel('x')
legend('C(x)', 'S(x)','location','best')
ylabel('C(x), S(x)')
title('Las integrales de Fresnel')

Cuando x se hace grande

>> fresnelc(inf)
ans =    0.5000
>> fresnels(inf)
ans =    0.5000

Las integrales de Fresnel tienden a 1/2

La espiral de Cornu

La espiral de Cornu, también conocida como clotoide, es una curva que se obtiene dando valores al parámetro x. A continuación, se unen los puntos cuya abscisa es C(x) y cuya ordenada es S(x).

fplot(@(x) fresnelc(x),@(x) fresnels(x), [0.02,7])
axis equal
grid on
xlabel('C(t)')
ylabel('S(t)')
title('La espiral de Cornu')

La espiral converge al centro de los dos remolinos (1/2, 1/2) y (-1/2, -1/2), a medida que x tiende a más infinito +∞ y menos infinito, -∞.

Curva de transición

Un vehículo circula por una pista rectilínea AB con velocidad constante v y a continuación, por la pista circular BC de centro O y radio R. El vehículo experimenta una aceleración cuya dirección es radial y apuntando hacia el centro C, de módulo, an=v2/R

Desde el punto de vista de un observador no inercial situado en el vehículo, un pasajero experimenta una fuerza centrífuga, Fc=mv2/R.

La trayectoria rectilínea tiene una curvatura infinita (ρ=∞) y la trayectoria circular tiene una curvatura constante (ρ=R). El problema que se plantea en esta página es la de encontrar una curva (de transición) que una la trayectoria rectilínea y circular de modo que (1/ρ) se incremente de 0 a 1/R de forma constante.

El radio de curvatura ρ y el centro C de curvatura se determinan del siguiente modo: Se traza la tangente a un punto de la trayectoria y a continuación, se traza la normal. Se toma un punto muy próximo al anterior, se traza la tangente y la normal en dicho punto.

Las normales se cortan en un punto denominado centro de curvatura C, y la distancia de C a uno u otro punto de la trayectoria, infinitamente próximos entre sí, se denomina radio de curvatura ρ.

Si el ángulo comprendido entre las dos tangentes es , este es el ángulo que forman las dos normales. La longitud del arco entre los dos puntos considerados es ds=ρ·dθ.

1 ρ = dθ ds

En la figura, la trayectoria rectilínea AO, se une a la trayectoria circular de centro C y radio R mediante la curva de transición OB (de color rojo). La longitud del arco OP es s. En P la tangente a la curva de transición forma un ángulo θ con la horizontal. El radio de curvatura en P es ρ. La longitud de la curva de transición OB es L, la tangente a la curva en B forma un ángulo θm con la horizontal y sus coordenadas son xm e ym

La curva de transición cumple que

d ds ( 1 ρ )= d 2 θ d s 2 =k

donde k es una constante. Integramos la ecuación diferencial

dθ ds = 1 ρ =ks+ k 1

para s=0, 1/ρ=0, por lo que k1=0

1 ρ =ks,ρs=cte

Una propiedad importante de la curva de transición es que el producto del arco s por el radio de curvatura ρ es constante a la largo de todos los puntos P de dicha trayectoria. Integramos de nuevo

θ= 1 2 k s 2 + k 2

Para s=0, en O, la tangente a la curva de transición es horizontal, θ=0, luego, k2=0.

θ= 1 2 k s 2

Para s=L, estamos en el punto B, final de la curva de transición y comienzo de la circular de radio ρ=R.

1 R =kL,k= 1 RL s= 2RLθ

La tangente a la trayectoria en B (s=L) forma un ángulo θm con la horizontal

θ m = 1 2 1 RL L 2 = L 2R

Ecuación de la curva de transición

En el límite, cuando Δs→0, tiende a cero

{ dx=cosθ·ds dy=sinθ·ds ds= 2RL 1 2 dθ θ

La curva buscada de transición, cuyas ecuaciones paramétricas son

x= RL 2 0 θ cosθ θ dθ y= RL 2 0 θ sinθ θ dθ

Haciendo el cambio de variable

π t 2 2 =θ πt·dt=dθ

Obtenemos

x( θ )= πRL 0 2θ π cos t 2 dt y( θ )= πRL 0 2θ π sin t 2 dt

En términos de las integrales de Fresnel S(x) y C(x) se expresan

x= πRL ·S( 2θ π ) y= πRL ·C( 2θ π )

Calculamos las coordenadas del punto B, cuya tangente forma un ángulo θm=L/(2R) con la horizontal.

x m = πRL ·C( L πR ) y m = πRL ·S( L πR )

Las coordenadas del centro C del tramo circular de radio R son

{ x C = x m Rsin θ m y C = y m +Rcos θ m

El código para representar los tramos de la curva: rectilíneo AO, transición, OB, circular, BD, es

R=1; %radio tramo circular
L=1.5; %longitud de la curva de transición
x_m=sqrt(pi*R*L)*fresnelc(sqrt(L/(pi*R))); %extremo
y_m=sqrt(pi*R*L)*fresnels(sqrt(L/(pi*R)));
x_C=x_m-R*sin(L/(2*R)); %centro C
y_C=y_m+R*cos(L/(2*R));
phi=L/(2*R)+pi/6; %ángulo del tramo circular
hold on
line([-0.2,0],[0,0],'color','k')
plot(x_C,y_C,'ro','markersize',3,'markerfacecolor','r')
fplot(@(t) sqrt(pi*R*L)*fresnelc(sqrt(2*t/pi)),@(t) sqrt(pi*R*L)*
fresnels(sqrt(2*t/pi)),[0,L/(2*R)],'color','r');
fplot(@(t) x_C+R*sin(t), @(t) y_C-R*cos(t),[L/(2*R), phi],'color','k')
line([x_C,x_m],[y_C,y_m],'lineStyle','--','color','k')
line([x_C,x_C+R*sin(phi)],[y_C,y_C-R*cos(phi)],'lineStyle','--','color','k')
hold off
axis equal

Aceleraciones

Supongamos que el vehículo circula por la vía con velocidad v constante

Curva compuesta

Unimos los tramos rectos AO y BO que forman un ángulo π-φ mediante un arco de circunferencia de centro C radio R.

El código para representar los tramos de la curva es

R=1; %radio del tramo circular
phi=110*pi/180; %ángulo de las tramos rectilíneos
d=R/tan(phi/2); %distancia al vértice V
hold on
line([-0.2,0],[0,0],'color','k')
line([0,d],[0,0],'lineStyle','--','color','k')
line([d,d-d*cos(phi)],[0, d*sin(phi)],'lineStyle','--','color','k')
line([d-d*cos(phi), d-(d+0.2)*cos(phi)], [d*sin(phi),(d+0.2)*sin(phi)],
'color','k')
plot(0, R,'ro','markersize',3,'markerfacecolor','r')
fplot(@(t) R*sin(t),@(t) R-R*cos(t),[0,pi-phi],'color','r')
line([0,0],[0,R],'lineStyle','--','color','r')
line([0,R*sin(pi-phi)],[R,R-R*cos(pi-phi)],'lineStyle','--','color','r')
hold off
axis off
axis equal

Para evitar los cambios bruscos de aceleración, como hemos visto en el apartado anterior, entre los tramos rectos y el arco de circunferencia de radio R insertaremos dos curvas de transición de longitud L

La trayectoria AO (rectilínea), OB (transición), BD (circular), DE (transición), EF (rectilínea), es simétrica respecto de la bisetriz VC

Como en el apartado anterior

{ x m = πRL ·C( L πR ) y m = πRL ·S( L πR ) θ m = L 2R

xm e ym son las coordenadas del punto B, final de la curva de transición y principio de la circular de radio R y centro C. θm es el ángulo que forma la tangente a la curva en B con la horizontal.

Las coordenadas del centro de la circunferencia C son

{ x C = x m Rsin θ m y C = y m +Rcos θ m

En esta figura, superponemos la trayectoria circular GH que une los tramos recilíneos AG y HF (en color azul), y la trayectoria que evita los cambios bruscos de aceleración, AO (rectilínea), OB (transición), BD (circular), DE (transición), EF (rectilínea)

Los centros de los tramos circulares C (del tramo BC) y C' (del tramo GH) están desplazados a lo largo de la bisetriz VC. Ampliamos la figura

Las distancias CV y C'V, son

C'V= R sin φ 2 ,CV= y m +Rcos θ m sin φ 2

La distancia d de O a V es

d= x m Rsin θ m +CV·cos φ 2 = x m Rsin θ m + y m +Rcos θ m tan φ 2

Las coordenadas del centro C' son

x C' = x C +CC'sin( π 2 φ 2 )= x m Rsin θ m +( CVC'V )cos φ 2 { x C' = x m Rsin θ m + y m +Rcos θ m R tan φ 2 y C' =R

Simetría

Como apreciamos en la figura, la trayectoria es simétrica respecto de la bisetriz VC

Calculamos las coordenadas del punto P' (x', y') simétrico de P (x, y) respecto a la bisetriz VC.

{ x'=x+2rsin φ 2 y'=y+2rcos φ 2

Siendo r la distancia del punto P (x, y) a la recta de pendiente tan(π-φ/2) y que pasa por el punto (d,0), cuya ecuación es

y=tan( π φ 2 )(xd)

Utilizamos el módulo del producto vectorial, para calcular la distancia r del punto P a la recta.

r=vsinθ= | u × v | u = | u x v y u y v x | u

La distancia r del punto P a la recta es

{ v =(xd) i ^ +y j ^ u = i ^ +tan( π φ 2 ) j ^ r= | tan( π φ 2 )(xd)y | 1+ tan 2 ( π φ 2 ) =| y+(dx)tan( π φ 2 ) |cos( π φ 2 )= | ycos( π φ 2 )+(dx)sin( π φ 2 ) |

La transformación que relaciona (x', y') con (x, y) nos permite representar la curva de transición simétrica.

El código para representar los tramos de la curva es

R=1; %radio del tramo circular
phi=110*pi/180; %ángulo de las tramos rectilíneos
L=0.9; %longitud de la curva de transición
x_m=sqrt(pi*R*L)*fresnelc(sqrt(L/(pi*R)));
y_m=sqrt(pi*R*L)*fresnels(sqrt(L/(pi*R)));
d=x_m-R*sin(L/(2*R))+(y_m+R*cos(L/(2*R)))/tan(phi/2);
x_C=x_m-R*sin(L/(2*R));
y_C=y_m+R*cos(L/(2*R));
hold on
line([-0.2,0],[0,0],'color','k')
line([0,d],[0,0],'lineStyle','--','color','k')
line([d,d-d*cos(phi)],[0, d*sin(phi)],'lineStyle','--','color','k')
line([d-d*cos(phi), d-(d+0.2)*cos(phi)], [d*sin(phi),(d+0.2)*sin(phi)],
'color','k')
plot(x_C,y_C,'ro','markersize',3,'markerfacecolor','r')
delta=pi-phi-L/R;
fplot(@(t) x_C+R*sin(t), @(t) y_C-R*cos(t),[pi/2-phi/2-delta/2, 
pi/2-phi/2+delta/2],'color','k')
line([x_C, x_C+R*sin(pi/2-phi/2-delta/2)],[y_C,y_C-R*cos(pi/2-phi/2-delta/2)],
'lineStyle','--','color','k')
line([x_C, x_C+R*sin(pi/2-phi/2+delta/2)],[y_C,y_C-R*cos(pi/2-phi/2+delta/2)],
'lineStyle','--','color','k')
th=linspace(0, L/(2*R),50);
x=sqrt(pi*R*L)*fresnelc(sqrt(2*th/pi));
y=sqrt(pi*R*L)*fresnels(sqrt(2*th/pi));
plot(x,y,'r')
dd=abs(y*cos(pi-phi/2)+(d-x)*sin(pi-phi/2));
xx=x+2*dd*sin(phi/2);
yy=y+2*dd*cos(phi/2);
plot(xx,yy,'r')
%tramo circular de centro C'
x_Cp=x_C+(y_m+R*cos(L/(2*R))-R)/tan(phi/2);
y_Cp=R;
plot(x_Cp, y_Cp,'bo','markersize',3,'markerfacecolor','b')
fplot(@(t) x_Cp+R*sin(t),@(t) y_Cp-R*cos(t),[0, pi-phi],'color','b')
line([x_Cp,x_Cp],[y_Cp,y_Cp-R],'lineStyle','--','color','b')
line([x_Cp,x_Cp+R*sin(pi-phi)],[y_Cp,y_Cp-R*cos(pi-phi)],'lineStyle',
'--','color','b')
hold off
axis equal

Curva de transición que une dos trayectorias circulares

Sean dos trayectorias circulares de radio R1 y R2. Situamos la primera centrada en el eje Y a la altura R1.

La curva de transición cumple que

d ds ( 1 ρ )= d 2 θ d s 2 =k

donde k es una constante. Integramos la ecuación diferencial

dθ ds = 1 ρ =ks+ k 1

para s=0, 1/ρ=1/R1, y para s=L, 1/ρ=1/R2, despejamos las constantes k y k1

dθ ds = 1 ρ =( 1 R 2 1 R 1 ) s L + 1 R 1

Integramos de nuevo

θ= 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s+ k 2

Para s=0, en O, la tangente a la curva de transición es horizontal, θ=0, luego, k2=0.

θ= 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s

La tangente a la trayectoria en B (s=L) forma un ángulo θm con la horizontal

θ m = 1 2 R 1 + R 2 R 1 R 2 L

Ecuación de la curva de transición

La curva buscada de transición, cuyas ecuaciones paramétricas son

{ x= 0 s cosθ·ds = 0 s cos( 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s )·ds y= 0 s sinθ·ds = 0 s sin( 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s )·ds

Calculamos las coordenadas del punto B, cuya tangente forma un ángulo θm con la horizontal.

{ x m = 0 L cos( 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s )·ds y m = 0 L sin( 1 2 R 1 R 2 R 1 R 2 L s 2 + 1 R 1 s )·ds

Calculamos estas integrales utilizando el procedimiento numérico integral de MATLAB

Las coordenadas del centro C de la trayectoria circular de radio R2 son

{ x C = x m R 2 sin θ m y C = y m + R 2 cos θ m

El código para representar los tramos de la curva: circular de radio R1=1, transición, OB, (línea de gruesa de color rojo), circular de radio R2=0.5, es

R1=1; %radio tramo circular
R2=0.5;
L=1.5; %longitud de la curva de transición
k=(R1-R2)/(2*L*R1*R2);
th_m=(R1+R2)*L/(2*R1*R2);
x_m=integral(@(x) cos(x/R1+k*x.^2),0,L); %extremo
y_m=integral(@(x) sin(x/R1+k*x.^2),0,L); 
x_C=x_m-R2*sin(th_m); %centro C
y_C=y_m+R2*cos(th_m);
hold on
plot(x_C,y_C,'ro','markersize',3,'markerfacecolor','r')
plot(0,R1,'ro','markersize',3,'markerfacecolor','r')
fplot(@(t) R1*cos(t), @(t) R1-R1*sin(t), [0,2*pi],'color','k')
fplot(@(t) x_C+R2*cos(t), @(t) y_C+R2*sin(t), [0,2*pi],'color','k')
line([x_C,x_m],[y_C,y_m],'lineStyle','--','color','k')
line([0,0],[0,R1],'lineStyle','--','color','k')
%curva de transición
xx=linspace(0,L,100);
xs=zeros(1,length(xx));
ys=zeros(1,length(xx));
i=1;
for x=xx
    xs(i)=integral(@(x) cos(x/R1+k*x.^2),0,x);
    ys(i)=integral(@(x) sin(x/R1+k*x.^2),0,x);
    i=i+1;
end
plot(xs,ys, 'lineWidth',1.2,'color','r')
hold off
axis equal

Cuando R1=R2, las dos circunfencias coinciden y la curva de trasnsición es un arco de circunferencia de longitud L

{ x= R 1 sin( s R 1 ) y= R 1 R 1 cos( s R 1 )

Referencias

R. E. Deakin. ENGINEERING SURVEYING 1. HORIZONTAL CURVES.