Diferencia entre revisiones de «La Clotoide (Grupo 36)»
(→Dibujo de la curva.) |
(→Dibujo de la curva.) |
||
| Línea 29: | Línea 29: | ||
{{matlab|codigo= | {{matlab|codigo= | ||
clear; clc; clf; | clear; clc; clf; | ||
| + | % Asignación de los parámetros | ||
t = linspace(0, 4, 200); | t = linspace(0, 4, 200); | ||
x = @(t) integral(@(s) cos(s.^2/2), 0, t); | x = @(t) integral(@(s) cos(s.^2/2), 0, t); | ||
| Línea 40: | Línea 41: | ||
ylabel('Y'); | ylabel('Y'); | ||
axis equal; | axis equal; | ||
| + | }} | ||
==Velocidad y aceleración.== | ==Velocidad y aceleración.== | ||
Revisión del 11:40 3 dic 2025
| 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 | |
Contenido
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:
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:
% 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;
% Dibujamos los vectores de velocidad (negro) y aceleración (azul)
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, 'b', 'LineWidth', 0.5, 'MaxHeadSize',0.5);
end
% Etiquetas y configuración de la gráfica
title('Curva, Vectores de 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:
Como se ha plasmado en el apartado anterior:
Cuyo módulo es:
Por tanto la longitud es:
5 Vectores tangente y normal
Los vectores tangente y normal de la clotoide vienen dadas por:
Para representarlo, partiremos del código y gráfica del apartado anterior, añadiendo el siguiente código, y obteniendo:
% 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;
% 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:
La gráfica de la curvatura se calcula mediante el siguiente código de Matlab
% 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);
title('Curvatura');
xlabel('Eje x');
ylabel('Eje y');
7 Circunferencia osculatriz.
La circunferencia osculatriz es una aproximación local de la curva en cada punto de esta, es decir, la circunferencia tiene la misma tangente, curvatura y centro de curvatura que la curva en cada punto.
Dada esta definición y dado P= [math] \gamma (1.5) [/math], es decir, t=1.5, el radio de la circunferencia osculatriz y su centro 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]
Con el centro recientemente calculado, se realiza el gráfico, añadiendo el siguiente código, al anterior de la clotoide, y por tanto, obteniendo la circunferencia osculatriz:
% Calculamos las integrales de la curva para t = 1.5
X1 = integral(f1,0,1.5);
Y1 = integral(f2,0,1.5);
% Radio de la circunferencia osculatriz
R = 1/1.5;
% Vector normal unitario en t = 1.5
nx = -sin(1.5^2/2);
ny = cos(1.5^2/2);
% Centro de la circunferencia osculatriz
Qx = X1 + R*nx;
Qy = Y1 + R*ny;
% Parametrización de la circunferencia
theta = linspace(0,2*pi,500);
Cx = Qx + R*cos(theta);
Cy = Qy + R*sin(theta);
% Representación
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 off8 Propiedades para la ingeniería.
La clotoide representa un tipo de curva que permite una transición progresiva entre una trayectoria recta y una curva circular, debido a que su curvatura aumenta de manera lineal. Esto implica que, al comienzo de la curva, el radio de curvatura es infinito y, conforme se avanza sobre ella, dicho radio disminuye hasta alcanzar un valor finito, definiéndose así una curvatura más marcada.
En ingeniería, su uso más importante aparece en el diseño de carreteras y vías férreas, donde la clotoide se emplea para suavizar el paso entre un tramo recto y una curva circular. Esta transición es esencial, ya que evita cambios bruscos en la aceleración centrípeta y permite ajustarla de manera gradual. Si no existiera esta suavidad en el cambio, los vehículos y sus ocupantes podrían experimentar incrementos violentos en las fuerzas centrípetas, lo que generaría incomodidad e incluso riesgos para la estabilidad.
Además, las características de la clotoide permiten otras aplicaciones, como mantener un flujo de agua más uniforme, diseñar trayectorias de entrada y salida para barcos en puertos, o incluso crear recorridos más seguros y fluidos en montañas rusas.
9 Ejemplos en Ingeniería Civil.
10 Superficie Reglada.
Se considera la helice cónica cuya parametrización es:
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:
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] :
Para representar la hélice cónica hemos usado el siguiente código de Matlab:
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:
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
Primero calculamos las derivadas de [math]\phi'_u [/math] y [math]\phi'_v [/math]
Posteriormente se calcula su producto vectorial para introducirlo en la matriz
Cuyo módulo es:
A continuacion se calcula [math] f(\phi(u,v))[/math]
Finalmente, sustituimos los valores obtenidos en la integral doble para calcular la masa
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);