Integrales de Fresnel. Curva de transición
Las integrales de Fresnel
Las integrales de Fresnel se definen
La función
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 dθ, este es el ángulo que forman las dos normales. La longitud del arco entre los dos puntos considerados es ds=ρ·dθ.
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
donde k es una constante. Integramos la ecuación diferencial
para s=0, 1/ρ=0, por lo que k1=0
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
Para s=0, en O, la tangente a la curva de transición es horizontal, θ=0, luego, k2=0.
Para s=L, estamos en el punto B, final de la curva de transición y comienzo de la circular de radio ρ=R.
La tangente a la trayectoria en B (s=L) forma un ángulo θm con la horizontal
Ecuación de la curva de transición
En el límite, cuando Δs→0, tiende a cero
La curva buscada de transición, cuyas ecuaciones paramétricas son
Haciendo el cambio de variable
Obtenemos
En términos de las integrales de Fresnel S(x) y C(x) se expresan
Calculamos las coordenadas del punto B, cuya tangente forma un ángulo θm=L/(2R) con la horizontal.
Las coordenadas del centro C del tramo circular de radio R son
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
En el tramo recto AO, la aceleración an=0
En el tramo circular de centro C y radio R, la aceleración es
En la curva de transición OB, , que se incrementa linealmente de 0 a v2/R
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
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
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
La distancia d de O a V es
Las coordenadas del centro C' son
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.
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
Utilizamos el módulo del producto vectorial, para calcular la distancia r del punto P a la recta.
- El vector , une el punto P(x,y) con el vértice V (d, 0),
- El vector , une cualquier punto de la recta (x, tan(π-φ/2)(x-d)) con el vértice V (d,0)
La distancia r del punto P a la recta es
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
donde k es una constante. Integramos la ecuación diferencial
para s=0, 1/ρ=1/R1, y para s=L, 1/ρ=1/R2, despejamos las constantes k y k1
Integramos de nuevo
Para s=0, en O, la tangente a la curva de transición es horizontal, θ=0, luego, k2=0.
La tangente a la trayectoria en B (s=L) forma un ángulo θm con la horizontal
Ecuación de la curva de transición
La curva buscada de transición, cuyas ecuaciones paramétricas son
Calculamos las coordenadas del punto B, cuya tangente forma un ángulo θm con la horizontal.
Calculamos estas integrales utilizando el procedimiento numérico
Las coordenadas del centro C de la trayectoria circular de radio R2 son
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
Referencias
R. E. Deakin. ENGINEERING SURVEYING 1. HORIZONTAL CURVES.