La Clotoide (Grupo 41)

De MateWiki
Revisión del 14:29 7 dic 2025 de Grupo412526 (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título La Clotoide. Grupo 41
Asignatura Teoría de Campos
Curso 2025-26
Autores

Juan Luis Hermida Manso

Adolfo López March

Laura Rodríguez Neiras

Marta Marco Martín-Romo

Ángela Sánchez Barrio

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 La Clotoide

La clotoide es una curva espiral tangente al eje de abscisas en el origen, cuyo radio de curvatura disminuye de forma inversamente proporcional a la distancia recorrida sobre ella. Para analizar sus propiedades matemático-físicas, el estudio se centra en los vectores velocidad y aceleración, así como en los vectores del Triedro de Frenet (tangente y normal). Este análisis, apoyado con herramientas como MATLAB para cálculos precisos y representaciones gráficas, tiene una aplicación directa en el campo de la ingeniería civil.

La clotoide viene dada por las integrales:

[math] \gamma(t) = (x(t),y(t)) = \left( \int_{0}^{t} \cos\!\left(\frac{s^{2}}{2}\right)\, ds,\; \int_{0}^{t} \sin\!\left(\frac{s^{2}}{2}\right)\, ds \right),\quad 0 \le t \le 4. [/math]


1.1 Dibujo de la curva

La curva se dibuja en MATLAB con el siguiente código:

Clotoide γ(t) para 0 ≤ t ≤ 4
L = 4;
N = 4000;
t = linspace(0, L, N);

xprime = cos(t.^2/2);
yprime = sin(t.^2/2);

x = cumtrapz(t, xprime);
y = cumtrapz(t, yprime);

plot(x, y, 'LineWidth', 1.6)
axis equal
grid on
xlabel('x')
ylabel('y')
title('Clotoide \gamma(t), 0 \leq t \leq 4')







1.2 Vectores velocidad y aceleración

Partimos de la definición de la curva:

[math] \gamma(t)=\left( \int_{0}^{t}\cos\left(\frac{s^{2}}{2}\right)\,ds,\ \int_{0}^{t}\sin\left(\frac{s^{2}}{2}\right)\,ds \right) [/math]

Derivando bajo el signo integral obtenemos fórmulas cerradas para velocidad y aceleración:

[math] \boxed{ \gamma'(t)=\left( \cos\left(\frac{t^{2}}{2}\right),\ \sin\left(\frac{t^{2}}{2}\right) \right) } [/math]

[math] \boxed{ \gamma''(t)=\left( -\,t\sin\left(\frac{t^{2}}{2}\right),\ t\cos\left(\frac{t^{2}}{2}\right) \right) } [/math]

1.2.1 Dibujo de los vectores velocidad y aceleración

La curva con sus vectores velocidad y aceleración se expresa en MATLAB con el siguiente código:

Clotoide γ(t) para 0 ≤ t ≤ 4
L = 4; N = 3000;
t = linspace(0,L,N);

vx = cos(t.^2/2);
vy = sin(t.^2/2);
ax = -t .* sin(t.^2/2);
ay =  t .* cos(t.^2/2);

x = cumtrapz(t, vx);
y = cumtrapz(t, vy);

numArrows = 60;
idx = round(linspace(1,N,numArrows));
scaleV = 0.2;
scaleA = 0.05;

figure
plot(x,y,'k-','LineWidth',1.4), hold on
plot(x(idx),y(idx),'ko','MarkerSize',3,'MarkerFaceColor','k')
quiver(x(idx),y(idx), vx(idx)*scaleV, vy(idx)*scaleV, 0, 'b','LineWidth',1);
quiver(x(idx),y(idx), ax(idx)*scaleA, ay(idx)*scaleA, 0, 'r','LineWidth',1);

xlabel('x'), ylabel('y')
axis equal, grid on
legend('Clotoide','Puntos muestreo','Velocidad','Aceleración','Location','best')
title('Clotoide y vectores velocidad y aceleración')
hold off

1.3 Longitud de la curva

La longitud entre 0 y 4 es:

[math] L=\int_0^4 \|\gamma'(t)\|\,dt [/math]

pero

[math] \|\gamma'(t)\|=\sqrt{\cos^2\left(\frac{t^2}{2}\right)+\sin^2\left(\frac{t^2}{2}\right)}=1. [/math]

Por tanto:

[math] \boxed{ L=\int_0^4 1\,dt = 4. } [/math]

1.4 Vectores tangente y normal

Los vectores tangente y normal se obtienen a partir de la derivada:

[math] \gamma'(t)=\left(\cos\left(\frac{t^2}{2}\right),\ \sin\left(\frac{t^2}{2}\right)\right) [/math]

Como [math]\|\gamma'(t)\|=1[/math], el vector tangente unitario es:

[math] \mathbf{t}(t)=\gamma'(t) [/math]

El vector normal unitario (rotación de [math]\mathbf{t}(t)[/math] en [math]+\pi/2[/math]) es:

[math] \mathbf{n}(t)=\left(-\sin\left(\frac{t^{2}}{2}\right),\ \cos\left(\frac{t^{2}}{2}\right)\right) [/math]

1.4.1 Dibujo de vectores tangente y normal

La curva con sus vectores tangente y normal se expresa en MATLAB con el siguiente código:

Vectoresnormalytangente.jpg
L = 4;
N = 3000;
t = linspace(0,L,N)';

vx = cos(t.^2/2);
vy = sin(t.^2/2);

nx = -vy;
ny =  vx;

x = cumtrapz(t,vx);
y = cumtrapz(t,vy);

numArrows = 40;
idx = round(linspace(1,N,numArrows));

scaleT = 0.2;
scaleN = 0.2;

figure
hold on
plot(x,y,'k-','LineWidth',1.6)

quiver(x(idx),y(idx), vx(idx)*scaleT, vy(idx)*scaleT, 0, 'Color',[0.9 0 0], 'LineWidth',1)
quiver(x(idx),y(idx), nx(idx)*scaleN, ny(idx)*scaleN, 0, 'Color',[0 0 1], 'LineWidth',1)

axis equal
grid on
xlabel('x')
ylabel('y')
legend('Clotoide','Vectores tangente','Vectores normal','Location','best')
title('Clotoide con vectores tangente y normal')
hold off


1.5 Curvatura

Para calcular la curvatura usamos las expresiones obtenidas anteriormente:

[math] \gamma'(t)=\left( \cos\left(\frac{t^{2}}{2}\right),\ \sin\left(\frac{t^{2}}{2}\right) \right) [/math]

[math] \gamma''(t)=\left( -\,t\sin\left(\frac{t^{2}}{2}\right),\ t\cos\left(\frac{t^{2}}{2}\right) \right) [/math]

La fórmula general de la curvatura es:

[math] \kappa(t)= \frac{ \left| x'(t)\,y''(t)-y'(t)\,x''(t) \right| }{ \left(x'(t)^{2}+y'(t)^{2}\right)^{3/2} }. [/math]

Como

[math] x'(t)^{2}+y'(t)^{2} = \cos^{2}\left(\frac{t^{2}}{2}\right)+\sin^{2}\left(\frac{t^{2}}{2}\right) =1, [/math]

la fórmula se reduce a:

[math]\kappa(t)=\frac{\left|x'(t)y''(t)-y'(t)x''(t)\right|}{\left(x'(t)^2+y'(t)^2\right)^{3/2}}[/math]


Sustituyendo:

[math] x'(t)=\cos\left(\frac{t^{2}}{2}\right),\qquad y'(t)=\sin\left(\frac{t^{2}}{2}\right) [/math]

[math] x''(t)=-t\sin\left(\frac{t^{2}}{2}\right),\qquad y''(t)=t\cos\left(\frac{t^{2}}{2}\right) [/math]

obtenemos:

[math] x'(t)\,y''(t)-y'(t)\,x''(t) = t\left( \cos^{2}\left(\frac{t^{2}}{2}\right) + \sin^{2}\left(\frac{t^{2}}{2}\right) \right) =t [/math]

Por tanto, la curvatura de la clotoide es:

[math] \boxed{\kappa(t)=t} [/math]

1.5.1 Gráfica de la curvatura

La gráfica de la curvatura se expresa en MATLAB con el siguiente código:

Curvatura41.jpg
L = 4;
N = 2000;
t = linspace(0, L, N);
kappa = t;

figure
plot(t, kappa, 'LineWidth', 2)
grid on
xlabel('t')
ylabel('\kappa(t)')
title('Curvatura de la clotoide: \kappa(t) = t')





1.6 Circunferencia osculatriz

Consideramos el punto [math]P=\gamma(1.5)[/math].

La curvatura es: [math] \kappa(t)=t [/math]

por tanto el radio de la circunferencia osculatriz es: [math] R=\frac{1}{\kappa(1.5)}=\frac{1}{1.5}=\frac{2}{3}\approx 0.6667. [/math]

El vector normal unitario es: [math] \mathbf{n}(t)=\left(\,-\sin\left(\frac{t^{2}}{2}\right),\;\cos\left(\frac{t^{2}}{2}\right)\right). [/math]

Evaluando en [math]t=1.5[/math]: [math] \mathbf{n}(1.5)=\left(-\sin\left(\frac{1.5^{2}}{2}\right),\;\cos\left(\frac{1.5^{2}}{2}\right)\right) \approx (-0.90227,\;0.43118). [/math]

El punto de la clotoide es: [math] \gamma(1.5)=\left(\int_{0}^{1.5}\cos\left(\frac{s^{2}}{2}\right)\,ds,\; \int_{0}^{1.5}\sin\left(\frac{s^{2}}{2}\right)\,ds\right) \approx (1.32096,\;0.51365). [/math]

El centro de la circunferencia osculatriz se calcula como: [math] Q=\gamma(1.5)+R\,\mathbf{n}(1.5) [/math]

Sustituyendo numéricamente: [math] Q \approx (1.32096,\;0.51365) + 0.6667\,(-0.90227,\;0.43118) [/math]

[math] Q \approx (0.71945,\;0.80110). [/math]

Por tanto: [math] R \approx 0.6667, \qquad Q \approx (0.71945,\;0.80110). [/math]


1.6.1 Dibujo de la circunferencia osculatriz

Circulbueno.jpg
clear; close all; clc

L = 4;
N = 15000;
t = linspace(0,L,N);

vx = cos(t.^2/2);
vy = sin(t.^2/2);

x = cumtrapz(t, vx);
y = cumtrapz(t, vy);

t0 = 1.5;
x0 = interp1(t, x, t0, 'pchip');
y0 = interp1(t, y, t0, 'pchip');

nx = -sin(t0^2/2);
ny =  cos(t0^2/2);

R = 1 / t0;
Cx = x0 + R*nx;
Cy = y0 + R*ny;

theta = linspace(0,2*pi,400);
xc = Cx + R*cos(theta);
yc = Cy + R*sin(theta);

figure('Color','w','Position',[200 200 800 600])
plot(x,y,'k-','LineWidth',1.6), hold on
plot(xc,yc,'r--','LineWidth',1.6)
plot(x0,y0,'bo','MarkerFaceColor','b','MarkerSize',6)
plot(Cx,Cy,'ro','MarkerFaceColor','r','MarkerSize',6)

axis equal, grid on
xlabel('x'), ylabel('y')
title('Clotoide y circunferencia osculatriz en t = 1.5')

% Leyenda en el mismo sitio que antes:
legend('Clotoide','Circunferencia osculatriz','P = \gamma(1.5)','Centro C', ...
       'Location','northeast')

hold off


2 Usos en la ingeniería

2.1 Información sobre la curva dada

La clotoide es una curva pensada para que el paso entre una trayectoria recta y una curva circular se realice de forma progresiva. Su particularidad es que la curvatura no aparece de golpe, sino que aumenta de manera uniforme a lo largo del recorrido. Al inicio el radio es prácticamente infinito, lo que hace que la curva sea casi imperceptible, y a medida que avanzamos ese radio se reduce poco a poco hasta tomar un valor fijo, formando así una curva cada vez más pronunciada.

En el ámbito de la ingeniería este comportamiento resulta especialmente útil. Carreteras y líneas ferroviarias suelen incluir tramos basados en clotoides para enlazar rectas con curvas cerradas sin generar cambios bruscos en la aceleración lateral. Este aumento gradual de la curvatura evita sacudidas, reduce la sensación de giro repentino y contribuye tanto a la comodidad de los pasajeros como a la estabilidad del vehículo. Si la transición no se gestionara de esta manera, el aumento de la fuerza centrípeta sería inmediato y las maniobras resultarían mucho más incómodas o incluso peligrosas.

Las propiedades de la clotoide también la hacen adecuada para otros campos en los que se necesitan trayectorias suaves y predecibles. Puede encontrarse en el diseño de canales para mejorar el comportamiento del flujo del agua, en la planificación de maniobras de entrada y salida de embarcaciones o en la creación de curvas más seguras y fluidas en atracciones como montañas rusas.

2.2 Estructuras civiles con aplicaciones de la clotoide

3 Hélice cónica

Elicoide41.jpg
tmin = 2*pi; tmax = 6*pi;
Nt = 800; Nu = 40;
t = linspace(tmin,tmax,Nt).'; 
u = linspace(-0.8,0.8,Nu);

ti = t;
Xg = ti .* cos(ti);
Yg = ti .* sin(ti);
Zg = ti;
gamma = [Xg Yg Zg];

tg = [cos(ti) - ti.*sin(ti), sin(ti) + ti.*cos(ti), ones(Nt,1)];          % tangente (no normalizada)
er = [cos(ti), sin(ti), zeros(Nt,1)];                                     % vector radial en XY

tg2 = sum(tg.^2,2);
proj = ( sum(er.*tg,2) ./ tg2 );                                          % coeficiente de proyección
d = er - proj .* tg;                                                      
d_hat = d ./ vecnorm(d,2,2);

[Ugrid,Tgrid] = meshgrid(u,1:Nt);
X = Xg + Ugrid .* d_hat(:,1);
Y = Yg + Ugrid .* d_hat(:,2);
Z = Zg + Ugrid .* d_hat(:,3);

figure('Color','w')
surf(X,Y,Z,'FaceAlpha',0.88,'EdgeColor','none'), hold on
plot3(Xg,Yg,Zg,'k-','LineWidth',1.8)

numSeg = 50;
idx = round(linspace(1,Nt,numSeg));
for k = 1:length(idx)
    i = idx(k);
    P = [Xg(i), Yg(i), Zg(i)];
    Q = P + d_hat(i,:) * 1.0;
    plot3([P(1) Q(1)],[P(2) Q(2)],[P(3) Q(3)],'r-','LineWidth',1.2)
end

axis equal, grid on
xlabel('x'), ylabel('y'), zlabel('z')
view(40,25)
camlight; lighting gouraud
legend('Superficie reglada','Curva \gamma(t)','Segmentos (muestra)','Location','best')
hold off


3.1 Distribución de la densidad a lo largo de la hélice

Se da la densidad sobre la superficie:

[math]\displaystyle f(x_1,x_2,x_3)=\frac{x_1^2+x_2^2}{x_3}[/math]

Sustituyendo la parametrización obtenemos, sobre la superficie,

[math]\displaystyle x_1^2+x_2^2=(t+u)^2,\qquad x_3=t,[/math]

por tanto la densidad en coordenadas es

[math]\displaystyle f(\Phi(u,t))=\frac{(t+u)^2}{t}.[/math]

Para calcular la masa es necesario multiplicar por el elemento de área de la superficie. Calculando derivadas:

[math]\displaystyle \Phi_u=(\cos t,\ \sin t,\ 0),[/math]

[math]\displaystyle \Phi_t=\bigl(- (t+u)\sin t+\cos t,\ (t+u)\cos t+\sin t,\ 1\bigr).[/math]

El módulo del producto vectorial se simplifica a

[math]\displaystyle |\Phi_u\times\Phi_t|=\sqrt{(t+u)^2+1}.[/math]

Por tanto la masa M viene dada por la integral doble:

[math]\displaystyle M=\int_{2\pi}^{6\pi}\int_{0}^{1}\frac{(t+u)^2}{t}\,\sqrt{(t+u)^2+1}\;du\,dt. [/math]

M se aproxima a 2406,03

3.2 Estructuras civiles con la aplicación de la hélice cónica

Museo Solomon R. Guggenheim (Nueva York, Estados Unidos)

4 Poster

Archivo:La Clotoide póster41.pdf

5 Bibliografía

https://moodle.upm.es/

https://images.google.com/

https://mat.caminos.upm.es/wiki/P%C3%A1gina_principal