La Clotoide (Grupo 58)

De MateWiki
Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título La clotoide. Grupo 58
Asignatura Teoría de Campos
Curso 2025-26
Autores Israel Redondo Briceño
Lucia Pertusa Diaz
Marta Hernandez Bargueño
Felipe Gonçalves Soares
Diego Ranera Delgado
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Introducción.

La clotoide, o espiral de Euler, es una curva que se puede definir como una sucesión de curvas tangentes en el origen al eje de abscisas, cuyo radio de curvatura disminuye inversamente proporcional a distancia recorrida sobre la curva, formando un tramo espiral. Esta curva cumple con una serie de propiedades matemáticas que iremos viendo su cumplimiento conforme vamos presentando el trabajo. Con la herramienta de MatLab realizaremos los cálculos representaremos la curva de forma gráfica para su mejor visualización.
En cada apartado se hará una breve introducción de las fórmulas empleadas, así como su desarrollo. Para el estudio de sus propiedades nos vamos a centrar en los vectores de velocidad, aceleración, tangentes y normal, preparando estos para su posterior aplicación y enfoque en la ingeniería civil.

2 Dibujo de la curva.

La expresión matematica 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,4) [/math]


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

Figura 1: Clotoide
clear; clc; clf;
% Definimos los parámetros
 L = 4;       
 n = 500;  
 t = linspace(0, L, n);  

% Definimos los vectores para las coordenadas x y y
 x = zeros(1, n);
 y = zeros(1, n);

% Definimos las funciones
 f1= @(s) cos(s.^2/2);
 f2= @(s) sin(s.^2/2);

% Aproximamos la integral usando el método del rectángulo
for i = 2:n
    % Para x(t), sumamos la función cos(s^2 / 2) de t = 0 hasta t = t(i)
    x(i) = x(i-1) + f1(t(i-1)) * (t(i) - t(i-1));
    
    % Para y(t), repetimos el método usando sin(s^2 / 2) 
    y(i) = y(i-1) + f2(t(i-1))* (t(i) - t(i-1));
end

% Representamos gráficamente la curva
figure;
plot(x, y, 'g','linewidth',1.5);
axis equal;
xlabel('eje x');
ylabel('eje y');
title('Curva de la clotoide');
grid on;

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 junto a la clotoide
% Calculamos las derivadas numéricas de x(t) y y(t) (velocidad)
dx = cos(t.^2/2);  % Derivada primera de x(t)
dy = sin(t.^2/2);  % Derivada primera de y(t)

% Calculamos las derivadas de las velocidades (aceleración)
ddx = -t.*sin(t.^2/2);  % Derivada segunda de x(t)
ddy = t.*cos(t.^2/2);  % Derivada segunda de y(t)

hold on;
plot(x,y,'g','LineWidth',2);

% Dibujamos los vectores de velocidad (negro) y aceleración (rojo)
for i = 1:4:n  
    % Vectores de velocidad
    quiver(x(i), y(i), dx(i), dy(i), 0.2, 'k', 'LineWidth', 0.5, 'MaxHeadSize',1);
    
    % Vectores de aceleración
    quiver(x(i), y(i), ddx(i), ddy(i), 0.025, 'r', 'LineWidth', 0.5, 'MaxHeadSize',0.5);
end

% Etiquetas y configuración de la gráfica
title('Curva, Velocidad y Aceleración');
legend('Curva', 'Velocidad', 'Aceleración','Location','Best');
hold off;

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 Vectores tangente y normal

Los vectores tangente y normal de la clotoide vienen dadas por:

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


[math]\vec{n}(t)={\frac{\gamma'(t) \times \gamma''(t)}{|\gamma'(t) \times \gamma''(t)|}}\times{\frac{cos(\frac{t^2}{2})\vec{i}+sin(\frac{t^2}{2})\vec{j}}{1}}= {-sin(\frac{t^2}{2})\vec{i} + 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 3: Vectores tangente y normal junto a la clotoide
% Calculamos los vectores tangente x(t) e y(t) 
tx = cos(t.^2/2); 
ty = sin(t.^2/2);  

% Calculamos los vectores normal x(t) e y(t)
nx = -sin(t.^2/2); 
ny = cos(t.^2/2);  

hold on;
plot(x,y,'g','LineWidth',2);

% Dibujamos los vector tangente (negro) y normal (azul)
for i = 1:4:n  
    % Vector tangente
    quiver(x(i), y(i), tx(i), ty(i), 0.2, 'k', 'LineWidth', 0.5, 'MaxHeadSize',1);
    
    % Vector normal
    quiver(x(i), y(i), nx(i), ny(i), 0.1, 'b', 'LineWidth', 0.5, 'MaxHeadSize',0.5);
end

% Etiquetas y configuración de la gráfica
title('Curva, Vectores tangente y normal');
legend('Curva', 'Tangente', 'Normal','Location','Best');
hold off;

6 Curvatura k(t).

La curvatura se calcula con la siguiente fórmula:

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


La gráfica de la curvatura se calcula mediante el siguiente código de Matlab

Figura 4: Curvatura
% Definimos el parámetro t
 t=linspace(0,4,50);
% Definimos la curvatura k(t)
 k=t;
% Representamos la gráfica de la curvatura
 figure;
 plot(k,t,'y','LineWidth',3);
 title('Curvatura');
 xlabel('Eje x');
 ylabel('Eje y');