La Clotoide (Grupo 36)

De MateWiki
Revisión del 15:58 4 dic 2025 de Jlsv (Discusión | contribuciones) (Ejemplos en Ingeniería Civil.)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título La clotoide. Grupo 36
Asignatura Teoría de Campos
Curso 2025-26
Autores José Luis Sánchez Vargas, Dennis Rodríguez Pérez, Yayun Wang.
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Introducción.

Una clotoide, también conocida como espiral de Cornu o espiral de Euler, es una curva geométrica cuya curvatura varía de manera lineal con respecto a su longitud. Es decir, a medida que avanzamos a lo largo de la curva, la curvatura cambia gradualmente, comenzando desde un valor inicial nulo (recta) hasta alcanzar una curvatura máxima, lo que la hace ideal para transiciones suaves entre rectas y curvas.
Para estudiar sus características, examinaremos primero los vectores de velocidad y aceleración, junto con los elementos del triedro de Frenet.
Más adelante, relacionaremos estos conceptos con su utilización en ingeniería civil.

2 Dibujo de la curva.

La expresión matemática de la clotoide es:

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

Para nuestro caso tomaremos L=4. La expresión general quedará de esta forma:

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


La representación gráfica de la curva se ha obtenido mediante el siguiente código:

Figura 1: Clotoide
clear; clc; clf;
% Asignación de los parámetros
t = linspace(0, 4, 200);
x = @(t) integral(@(s) cos(s.^2/2), 0, t);
y = @(t) integral(@(s) sin(s.^2/2), 0, t);
x = arrayfun(x, t);
y = arrayfun(y, t);
figure;
plot(x, y);
title('La Clotoide');
xlabel('X');
ylabel('Y');
axis equal;


3 Velocidad y aceleración.

Para calcular ambos vectores, se han aplicado las siguientes fórmulas de velocidad [math] \dot{\gamma } [/math] y aceleración [math] \ddot{\gamma } [/math]

[math] \vec{{\gamma }'}=cos(\frac{t^2}{2}) \vec{i} +sin(\frac{t^2}{2})\vec{j} [/math]
[math] \vec{{\gamma }''}= -t\cdot sin(\frac{t^2}{2}) \vec{i} +t\cdot cos(\frac{t^2}{2})\vec{j} [/math]


Para representarlo, partiremos del código y gráfica del apartado anterior, añadiendo el siguiente código, y obteniendo:

Figura 2: Vectores velocidad y aceleración de la clotoide
t = linspace(0, 4, 150);
x = @(t) integral(@(s) cos(s.^2/2), 0, t);
y = @(t) integral(@(s) sin(s.^2/2), 0, t);
x = arrayfun(x, t);
y = arrayfun(y, t); 
V1 = cos(t.^2/2);
V2 = sin(t.^2/2);
A1 = -t.*sin(t.^2/2);
A2 = t.*cos(t.^2/2);
figure
hold on
plot (x ,y ,'b') ; 
quiver(x,y,V1,V2,"color","g") ; 
quiver(x,y,A1,A2,"color","r") ; 
axis equal
hold off
title('Vectores velocidad y aceleracion');
xlabel("X");
ylabel("Y");


4 Longitud de la curva


La longitud de la curva viene dada por la siguiente expresión:

[math] L(γ'(t))=\int_{0}^{t}|γ'(t)|dt [/math]


Como se ha plasmado en el apartado anterior:

[math] \vec{{\gamma }'}= cos(\frac{t^2}{2}) \vec{i} +sin(\frac{t^2}{2})\vec{j} [/math]


Cuyo módulo es:

[math] |γ′(t)| = \sqrt {cos^2(\frac{t^2}{2})+sin^2(\frac{t^2}{2})} = \sqrt {1} = 1 [/math]


Por tanto la longitud es:

[math] L(γ) = \int_{0}^{4}\sqrt {cos^2(\frac{t^2}{2})+sin^2(\frac{t^2}{2})}dt = \int_{0}^{4}1dt = 4-0 = 4 [/math]


5 Cálculo de los vectores tangente y normal

Haciendo uso del vector velocidad, calcularemos el vector tangente y normal:

El vector tangente:

[math] \vec t (t) =\tfrac{{\gamma}'(t)}{\left |{\gamma}'(t) \right |} = \tfrac{{\gamma}'(t)}{1} = cos(\frac{t^2}{2}) \vec i+sin(\frac{t^2}{2}) \vec j [/math]



El vector normal:

[math] \vec n (t) =\tfrac{-{y}'(t) \vec i+{x}'(t) \vec j}{\sqrt{{x}'(t)^2 \vec i + {y}'(t)^2 \vec j}} = \tfrac{-sen(\frac{t^2}{2}) \vec i+cos(\frac{t^2}{2}) \vec j}{1} = -sen(\frac{t^2}{2}) \vec i+cos(\frac{t^2}{2}) \vec j [/math]



Figura 3. Curva vector tangente y normal
t = linspace(0, 4, 100);
x = @(t) integral(@(s) cos(s.^2/2), 0, t);
y = @(t) integral(@(s) sin(s.^2/2), 0, t);
x=arrayfun(x, t);
y=arrayfun(y, t);
norma=1;
T1 = cos(t.^2/2)./norma;
T2 = sin(t.^2/2)./norma;
N1= -sin((t.^2)./2);
N2= cos ((t.^2)./2);
figure;
hold on;
plot(x,y,'b'); %curva
quiver(x,y,T1,T2,"color",'r');
quiver(x,y,N1,N2,"color",'g');
axis equal
hold off;
title ('Clotoide, tangente y normal.')
xlabel('Eje X');
ylabel('Eje Y');


6 Curvatura k(t).

Estudiaremos la curvatura de [math] γ(t) [/math] que se expresa de la siguiente forma:


[math] \kappa (t)=\frac{{x}'(t)\cdot {y}''(t)-{x}''(t)\cdot {y}'(t)}{({x}'(t)^2 + {y}'(t)^2)^{\frac{3}{2}}} [/math] [math] =\frac{cos(\frac{t^2}{2})\cdot t\cdot cos(\frac{t^2}{2})-(-t\cdot sin(\frac{t^2}{2})\cdot sin(\frac{t^2}{2}))}{\sqrt{[(cos(\frac{t^2}{2}))^2+(sin(\frac{t^2}{2}))^2]^3}}=\frac{t}{1}=t , t ∈ [0,4] [/math]


La representación gráfica de la curvatura se ha obtenido mediante el siguiente código:

Figura 4: Gráfica de la curvatura


t=linspace(0,4,70)
k=t;
figure
plot(t,k,'b');
axis equal
title('Curvatura.');
xlabel('Eje X');
ylabel('Eje Y');







7 Circunferencia osculatriz.

La circunferencia osculatriz en un punto de la curva es aquella que es tangente a la curva en ese punto y que mejor la aproxima localmente (el término osculatriz viene del latín osculum, que significa beso).
En este caso calcularemos dicha circunferencia para P= [math] \gamma (1.5) [/math], es decir, t=1.5, el radio R(t) de la circunferencia osculatriz y su centro Q(t) son:

[math]R(t)=\frac{1}{\kappa(t)}[/math]

[math]Q(t)=\gamma (t)+\frac{1}{\kappa (t)}\bar{n}(t)[/math]



Realizando las operaciones correspondientes, tenemos:

[math]R(1.5)=\frac{1}{1.5}[/math]

[math]Q(1.5) = \left\{\begin{matrix} Q_x(1.5)=\int_{0}^{1.5}cos(\frac{s^2}{2})ds - (\frac{sin(1.5)}{2})\\\ Q_y(1.5)=\int_{0}^{1.5}sin(\frac{s^2}{2})ds + (\frac{cos(1.5)}{2}) \end{matrix}\right.[/math]


De esta forma obtenemos la circunferencia osculatriz, añadiendo el siguiente código, al anterior de la clotoide:

Figura 5: Circunferencia osculatriz y clotoide
% Curva para t = 1.5
X1 = integral(f1,0,1.5);
Y1 = integral(f2,0,1.5);
% R(t)
R = 1/1.5;
% Vec norm t = 1.5
nx = -sin(1.5^2/2);
ny =  cos(1.5^2/2);
% Q(t)
Qx = X1 + R*nx;
Qy = Y1 + R*ny;
% Param
theta = linspace(0,2*pi,500);
Cx = Qx + R*cos(theta);
Cy = Qy + R*sin(theta);
% Dibujo
hold on
plot(x,y,'r')      % Clotoide
plot(Cx,Cy,'b')    % Circunferencia osculatriz
axis equal
xlabel('Eje x')
ylabel('Eje y')
title('Circunferencia osculatriz en t = 1.5')
hold off


8 La Clotoide aplicada a la ingeniería.

  • Carreteras y ferrocarriles:
  1. Transición suave: Su función principal es evitar el cambio brusco de dirección que se produce al pasar directamente de una recta a una curva.
  2. Seguridad: Proporciona una trayectoria más natural para los conductores, reduciendo la posibilidad de accidentes.
  3. Comodidad: Permite que los pasajeros experimenten aceleraciones centrífugas de manera gradual, lo que aumenta la comodidad del viaje.
  4. Diseño del peralte: Facilita el diseño y la aplicación progresiva del peralte (inclinación de la carretera) en las curvas.
  • Otras aplicaciones:
  1. Incorporaciones y cambios de sentido: Se utiliza en el diseño de rampas de incorporación a autopistas y en cambios de sentido.
  2. Adaptación a la topografía: Su flexibilidad geométrica permite una adaptación más económica a las características del terreno. 
  • Propiedades clave 
  1. Variación del radio: El radio de curvatura (\(\rho \)) de la clotoide varía de manera inversamente proporcional a la distancia (\(s\)) recorrida. La ecuación que lo describe es \(\rho \cdot s=a^{2}\), donde \(a\) es una constante que define el tamaño de la clotoide.
  2. Conexión de tramos:Puede conectar una recta con una curva circular.Puede conectar dos curvas circulares de diferentes radios.
  3. Radio de curvatura: Al inicio de la curva (s=0), el radio es infinitamente grande (tangente a una recta). A medida que se avanza, el radio disminuye hasta el radio de la curva circular siguiente. 

9 Ejemplos en Ingeniería Civil.



Diseño en CAD Aplicación en carreteras

Clotoide en montaña rusa Aplicación en ferrocarril

10 Superficie Reglada.

Se considera la helice cónica cuya parametrización es:

[math] \gamma (t)=(x_{1}(t),x_{2}(t),x_{3}(t))=(tcos(t),tsin(t),t), t∈(2π,6π) [/math]

Para dibujar dicha superficie reglada asociada a la curva mediantes segmentos ortogonales de longitud 1 y vector [math]\bar{e}_p [/math], se hace lo siguiente:
1) Se parametriza la curva segun v:

[math] \gamma (v)=(x_{1}(v),x_{2}(v),x_{3}(v))=(vcos(v),vsin(v),v), v∈(2π,6π) [/math]


2)Usar una matriz de cambio de base para pasar el vector [math]\vec{e_{\rho}} [/math] de cilíndricas a cartesianas:

\begin{pmatrix}v_1\\v_2 \\v_3 \end{pmatrix}= \begin{pmatrix}cost & -sint &0 \\ sint & cost & 0\\ 0 & 0 & 1\end{pmatrix} \begin{pmatrix}1\\0\\0\end{pmatrix}= \begin{pmatrix}cost\\ sint\\0 \end{pmatrix}



Por lo tanto [math]\vec{w}(v) = cosv \overline{i} + sinv\overline{j} [/math]

3) Sustituir todos los valores en la formula [math] \phi (u,v)= \gamma(v) + u\cdot \bar{w}(v) [/math] :

[math]\phi (u,v)= (vcosv+u\cdot cosv) \overline{i} + (vsinv+ u\cdot sinv) \overline{j} + v \overline{k} [/math]


Para representar la hélice cónica hemos usado el siguiente código de Matlab:

Figura 6: Hélicoide cónica
clear; clc; clf;
%Definimos los parámetros
u=(0:0.01:1);
v=(2.*pi:0.01:6.*pi);
[MU,MV]=meshgrid(u,v);

%Definimos la superficie reglada en coordenadas cilíndricas
 r=MV+MU;
 th=MV;
 z=MV;

%Transformamos las coordenadas en cartesianas
x=r.*cos(th);
y=r.*sin(th);
z=z;

%Dibujamos la superficie en una gráfica
surf(x,y,z);
title('Helicoide cónico');
shading flat;



A continuación, se muestran una serie de aplicaciones en el mundo real:

Torre espiral (Dinamarca)
Helicoide de Caracas (Venezuela)


10.1 Masa de la superficie reglada.

Dada la función de densidad [math] f(x_1,x_2,x_3)=(\frac{x_1^2+x_2^2}{x_3 })[/math], para calcular la masa usaremos la expresión

[math] Masa=\iint_{S}^{}fds=\iint_{D}^{}f(\phi(u,v))\cdot \left | \phi '_u\times\phi '_v \right |dudv[/math]

Primero calculamos las derivadas de [math]\phi'_u [/math] y [math]\phi'_v [/math]

[math] \phi'_u = cosv \overline{i} + sinv \overline {j}[/math]
[math] \phi'_v = (cosv-vsinv-usinv) \overline{i} + (sinv+vcosv+ucosv) \overline {j} +\overline{k} [/math]

Posteriormente se calcula su producto vectorial para introducirlo en la matriz

[math] \phi '_u\times\phi '_v = sinv \overline{i} - cosv \overline{j} + (u+v)\overline{k} [/math]

Cuyo módulo es:

[math] |\phi '_u\times\phi '_v | = \sqrt{1+(u+v)^2} [/math]

A continuacion se calcula [math] f(\phi(u,v))[/math]

[math] f(\phi(u,v))= (\frac{v^2+u^2}{v }) [/math]

Finalmente, sustituimos los valores obtenidos en la integral doble para calcular la masa

[math] Masa=\int_{2\pi}^{6\pi}\int_{0}^{1} (\frac{v^2+u^2}{v}) \cdot \sqrt{1+(u+v)^2} du dv =2176.6255 [/math]

Para calcular la integral, hemos usado el siguiente código de matlab:

clear;clc
% Esta función calcula la integral doble con el orden dv du:
% Definición de la función a integrar f(u, v)
fun = @(u, v) ((u + v).^2 ./ u) .* sqrt(1 + (u + v).^2);
%% Definición de los límites de integración
v_min = 0;
v_max = 1;
u_min = 2*pi;
u_max = 6*pi;
%% Cálculo de la integral doble
Masa = integral2(fun, u_min, u_max, v_min, v_max);
%% Mostrar el resultado
fprintf('El valor numérico de la integral doble (Masa) con orden dv du es: M = %f\n', Masa);