Diferencia entre revisiones de «La Clotoide (Grupo 58)»

De MateWiki
Saltar a: navegación, buscar
(La masa de la Superficie Reglada.)
 
(No se muestran 24 ediciones intermedias del mismo usuario)
Línea 3: Línea 3:
 
[[Categoría:Teoría de Campos]]
 
[[Categoría:Teoría de Campos]]
 
[[Categoría:TC25/26]]
 
[[Categoría:TC25/26]]
 +
  
 
== Introducción.==
 
== 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.
+
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 y representaremos la curva de forma gráfica para su mejor visualización.
 
<br/>
 
<br/>
 
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.
 
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.
Línea 203: Línea 204:
 
<br>
 
<br>
 
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:
 
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:
[[Archivo:circunferenciaosculatriz1234.jpg|505px|thumb|right|Figura 5: Circunferencia osculatriz y la curva]]
+
[[Archivo:osculatriz345.jpg|505px|thumb|right|Figura 5: Circunferencia osculatriz y la curva]]
 
{{matlab|codigo=
 
{{matlab|codigo=
% Definimos los Parámetros
+
t_osculatriz = 1.5; % El punto de interés
t = linspace(0, 1.5, 2000);
+
R_const = 8.314; % Definir R por si acaso, aunque no se usa
% Definimos la función
+
x = @(t) integral(@(s) cos(s.^2/2), 0, t);
+
y = @(t) integral(@(s) sin(s.^2/2), 0, t);
+
% Calcular las coordenadas de la clotoide
+
xc = arrayfun(x, t);
+
yc = arrayfun(y, t);
+
  
% Circunferencia oscculatriz
+
% Curvatura y Radio para la clotoide:
t1= linspace (0, 1.5, 20);
+
kappa_15 = t_osculatriz;
x1= @(t1) integral(@(s) cos(s.^2/2), 0, t1);
+
R_15 = 1 / kappa_15; % Radio de la circunferencia osculatriz (R(1.5))
y1= @(t1) integral(@(s) sin(s.^2/2), 0, t1);
+
% R_15 = 1 / 1.5 = 0.6667
% Definimos la integral para t=1.5
+
x1= arrayfun (x1, 1.5);  
+
y1= arrayfun (y1, 1.5);
+
% Punto de la curva
+
P=[ x1, y1 ];
+
fprintf('El punto de la curvatura es %f,%f \n',P);
+
% Vector normal
+
n=[-sin(1.125),cos(1.125)];
+
% Curvatura y radio de la curvatura
+
k=1.5;
+
R=1/1.5;
+
fprintf('El radio de la curvatura es %d \n',R);
+
% Centro de la circunferencia osculatriz
+
Q=P+R*n;
+
Qx=x1+R*(-sin(1.125));
+
Qy=y1+R*(cos(1.125));
+
fprintf('El centro de la circuferencia es %f,%f \n',Q)
+
  
% Parametrización
+
% Integrandos de la Clotoide:
tt=linspace(0,2*pi,40);
+
Cx = @(s) cos(s.^2 / 2);
xx=R*cos(tt)+Qx;
+
Cy = @(s) sin(s.^2 / 2);
yy=R*sin(tt)+Qy;
+
+
% Dibujamos
+
figure
+
hold on
+
%clotoide
+
plot(xc,yc,'m','linewidth',1)
+
%punto p
+
plot(x1,y1,'*k','linewidth',1)
+
% Circunferencia osculatriz
+
plot(x1, y1,'+','LineWidth',1.5);
+
plot(xx,yy,'--','color','b','LineWidth',1.5)
+
hold off
+
title('Circunferencia osculatriz.');
+
  
% Etiquetado de ejes
+
% Coordenadas del punto P (integral hasta t=1.5):
xlabel('Eje X');
+
Px = integral(Cx, 0, t_osculatriz);
ylabel('Eje Y');
+
Py = integral(Cy, 0, t_osculatriz);
 +
P = [Px, Py]; % Punto P(1.5) en la curva
 +
 
 +
% Cálculo del Vector Tangente unitario (t_unitario) en P:
 +
% t = gamma'(t) = (cos(t^2/2), sin(t^2/2))
 +
tx_15 = cos(t_osculatriz^2 / 2);
 +
ty_15 = sin(t_osculatriz^2 / 2);
 +
t_unitario = [tx_15, ty_15];
 +
 
 +
 
 +
% Cálculo del Vector Normal unitario (n_unitario) en P:
 +
% n(t) = (-sin(t^2/2), cos(t^2/2))
 +
nx_15 = -ty_15; % nx = -sin(t^2/2)
 +
ny_15 = tx_15; % ny = cos(t^2/2)
 +
n_unitario = [nx_15, ny_15];
 +
 
 +
 
 +
% Coordenadas del Centro de Curvatura Q(1.5):
 +
% Q = P + R * n_unitario
 +
Qx = Px + R_15 * nx_15;
 +
Qy = Py + R_15 * ny_15;
 +
Q = [Qx, Qy];
 +
 
 +
 
 +
figure;
 +
hold on;
 +
grid on;
 
axis equal;
 
axis equal;
 +
 +
% Dibujar la Curva (Clotoide)
 +
t_vals = linspace(0, 3, 300); 
 +
 +
% Integración numérica para obtener los puntos de la Clotoide
 +
gamma_x = arrayfun(@(t) integral(Cx, 0, t), t_vals);
 +
gamma_y = arrayfun(@(t) integral(Cy, 0, t), t_vals);
 +
 +
plot(gamma_x, gamma_y, 'b-', 'LineWidth', 2, 'DisplayName', 'Curva de la Clotoide');
 +
 +
% Dibujar el Punto de Corte (P)
 +
scatter(Px, Py, 80, 'filled', 'r', 'DisplayName', 'Punto de Corte P(1.5)');
 +
text(Px + 0.1, Py + 0.1, 'P(1.5)', 'Color', 'r', 'FontSize', 12);
 +
 +
% Dibujar la Circunferencia Osculatriz
 +
theta = linspace(0, 2 * pi, 100);
 +
circ_x = Qx + R_15 * cos(theta);
 +
circ_y = Qy + R_15 * sin(theta);
 +
 +
plot(circ_x, circ_y, 'k--', 'LineWidth', 1.5, 'DisplayName', 'Circunferencia Osculatriz');
 +
 +
%  Dibujar el Centro de Curvatura (Q)
 +
scatter(Qx, Qy, 50, 'filled', 'k', 'DisplayName', 'Centro de Curvatura Q');
 +
text(Qx - 0.1, Qy - 0.1, 'Q', 'Color', 'k', 'FontSize', 12);
 +
 +
% Dibujar el Radio y Normal (Opcional, para visualización)
 +
plot([Qx, Px], [Qy, Py], 'g:', 'DisplayName', 'Radio R(1.5)'); % Vector Q->P
 +
% quiver(Px, Py, nx_15*R_15, ny_15*R_15, 0, 'm', 'LineWidth', 1.5, 'DisplayName', 'Vector Normal');
 +
 +
% Ajustes finales
 +
title('Clotoide y Circunferencia Osculatriz en t = 1.5');
 +
xlabel('Coordenada x');
 +
ylabel('Coordenada y');
 +
legend('Location', 'northwest');
 +
hold off;
 
}}
 
}}
 
=Propiedades para la ingeniería.=
 
=Propiedades para la ingeniería.=
 +
El clotoide se caracteriza porque su curvatura aumenta de forma lineal con la longitud del arco, lo que
 +
garantiza una transición suave entre un tramo recto y una curva circular. Esta variación progresiva evita
 +
discontinuidades en la dirección del movimiento, por lo que la curva es continua hasta segunda
 +
derivada. Matemáticamente se describe mediante las integrales de Fresnel, que permiten definir con
 +
precisión su forma y adaptar el trazado a distintas condiciones. Otra propiedad importante es que
 +
minimiza cambios bruscos de aceleración lateral, lo que la convierte en una solución eficiente en
 +
problemas donde se busca comodidad, estabilidad y control del movimiento.
 +
Carreteras: ajustar el trazado a las velocidades adecuadas del proyecto, para que la seguridad y la comodidad de los vehículos sea la mejor.
 +
<br>
 +
Ferrocarriles y tranvías: sirve para reducir los esfuerzos en las ruedas y carriles, limitar desgastes y evitar oscilaciones y vibraciones cuando el tren tome una curva.
 +
<br>
 +
Puentes y viaductos: para coordinar el tablero con el trazado del puente, optimizando el reparto de esfuerzos de estructuras y la comodidad del tráfico.
 +
<br>
 +
Caminos de obra y pistas industriales/mineras: favorece la movilidad de maquinarias pesadas, reduciendo riegos de vuelco, fatiga de componentes y el mantenimiento de la vía.
 
=Ejemplos en Ingeniería Civil.=
 
=Ejemplos en Ingeniería Civil.=
 +
[[Archivo:Carretera Girona.jpg|600px|miniaturadeimagen|izquierda|'''Clotoide en carretera''' <br />]]
 +
[[Archivo:Circuito Madring.jpg|600px|miniaturadeimagen|centro|'''Clotoide en un circuito''' <br />]]
 +
<br />
 +
[[Archivo:Superman Warner.jpg|600px|miniaturadeimagen|izquierda|'''Atracción del Parque Warner''' <br />]]
 +
[[Archivo:iphone.jpg|600px|miniaturadeimagen|centro|'''Camaras del iPhone''' ]]
 +
 
=Superficie Reglada.=
 
=Superficie Reglada.=
 +
Se considera la helice cónica cuya parametrización es:
 +
 +
<center> <math> \gamma (t)=(x_{1}(t),x_{2}(t),x_{3}(t))=(tcos(t),tsin(t),t), t∈(2π,6π) </math> </center>
 +
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:
 +
<br>
 +
1) Se parametriza la curva segun v:
 +
<br>
 +
<center><math> \gamma (v)=(x_{1}(v),x_{2}(v),x_{3}(v))=(vcos(v),vsin(v),v), v∈(2π,6π) </math></center>
 +
<br>
 +
2)Usar una matriz de cambio de base para pasar el vector <math>\vec{e_{\rho}} </math> de cilíndricas a cartesianas:
 +
<br/>
 +
<br/>
 +
<center>
 +
\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}
 +
</center>
 +
<br/>
 +
<br/>
 +
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> :
 +
 +
<center><math>\phi (u,v)= (vcosv+u\cdot cosv) \overline{i} + (vsinv+ u\cdot sinv) \overline{j} + v \overline{k} </math></center>
 +
<br/>
 +
Para representar la hélice cónica hemos usado el siguiente código de Matlab:
 +
[[Archivo:heloide1234.jpg|505px|thumb|right|Figura 6: Hélicoide cónica]]
 +
{{matlab|codigo=
 +
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;
 +
}}
 +
<br>
 +
<br>
 +
A continuación, se muestran una serie de aplicaciones en el mundo real:
 +
 +
[[Archivo:Juegos y animacion.jpg|600px|miniaturadeimagen|izquierda|'''Aplicación en juegos''' <br />]]
 +
[[Archivo:Coche autonomo.jpg|600px|miniaturadeimagen|centro|'''Aplicación en la vida real''' <br />]]
 +
<br>
 +
 +
=La 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
 +
<center><math> Masa=\iint_{S}^{}fds=\iint_{D}^{}f(\phi(u,v))\cdot \left | \phi '_u\times\phi '_v \right |dudv</math></center>
 +
 +
Primero calculamos las derivadas de <math>\phi'_u </math> y <math>\phi'_v </math>
 +
<center><math>
 +
\phi'_u = cosv \overline{i} + sinv \overline {j}</math></center>
 +
<center><math>
 +
\phi'_v = (cosv-vsinv-usinv) \overline{i} + (sinv+vcosv+ucosv) \overline {j} +\overline{k}
 +
</math></center>
 +
Posteriormente se calcula su producto vectorial para introducirlo en la matriz
 +
<center><math>
 +
\phi '_u\times\phi '_v  = sinv \overline{i} - cosv \overline{j} + (u+v)\overline{k}
 +
</math></center>
 +
Cuyo módulo es:
 +
<center><math>
 +
|\phi '_u\times\phi '_v | = \sqrt{1+(u+v)^2}
 +
</math></center>
 +
 +
A continuacion se calcula <math> f(\phi(u,v))</math>
 +
<center><math>
 +
f(\phi(u,v))= (\frac{v^2+u^2}{v })
 +
</math></center>
 +
Finalmente, sustituimos los valores obtenidos en la integral doble para calcular la masa
 +
<center><math>
 +
Masa=\int_{2\pi}^{6\pi}\int_{0}^{1} (\frac{v^2+u^2}{v})  \cdot \sqrt{1+(u+v)^2} du dv =2218.1618
 +
</math></center>
 +
 +
Para calcular la integral, hemos usado el siguiente código de matlab:
 +
{{matlab|codigo=
 +
<pre>
 +
% Definimos los extremos de los intervalos y el número de puntos
 +
n = 100;
 +
U1 = (1 - 0) / n;            % paso en u
 +
V2 = (6*pi - 2*pi) / n;      % paso en v
 +
 +
u = 0:U1:1;
 +
v = 2*pi:V2:6*pi;
 +
% Definimos el mallado
 +
[uu, vv] = meshgrid(u, v);
 +
% Área
 +
area = U1 * V2;
 +
 +
v_conjunto = 0;
 +
for i = 1:n
 +
    for j = 1:n
 +
 +
        % Altura del prisma evaluada en el punto (i,j)
 +
        alt = ((uu(i,j)^2 + vv(i,j)^2) / vv(i,j)) * ...
 +
              sqrt(1 + (uu(i,j) + vv(i,j))^2);
 +
 +
        % Volumen del prisma
 +
        v_prisma = area * alt;
 +
 +
        % Suma conjunta
 +
        v_conjunto = v_conjunto + v_prisma;
 +
    end
 +
end
 +
 +
int = v_conjunto;
 +
 +
fprintf('Para n=%d, el resultado de la integral es: %.4f.\n', n, int);
 +
</pre>
 +
 +
 +
 +
= Póster =
 +
 +
https://upm365-my.sharepoint.com/:b:/g/personal/lucia_pertusa_diaz_alumnos_upm_es/EajopRIt1FBDgBtNGY3WoyMB7tT8gG_W86w60v0xQzf8TQ?e=j8LAE7

Revisión actual del 00:17 7 dic 2025

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 y 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');


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]

[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]


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:

Figura 5: Circunferencia osculatriz y la curva
t_osculatriz = 1.5; % El punto de interés
R_const = 8.314; % Definir R por si acaso, aunque no se usa

% Curvatura y Radio para la clotoide:
kappa_15 = t_osculatriz;
R_15 = 1 / kappa_15; % Radio de la circunferencia osculatriz (R(1.5))
% R_15 = 1 / 1.5 = 0.6667

% Integrandos de la Clotoide:
Cx = @(s) cos(s.^2 / 2);
Cy = @(s) sin(s.^2 / 2);

% Coordenadas del punto P (integral hasta t=1.5):
Px = integral(Cx, 0, t_osculatriz);
Py = integral(Cy, 0, t_osculatriz);
P = [Px, Py]; % Punto P(1.5) en la curva

% Cálculo del Vector Tangente unitario (t_unitario) en P:
% t = gamma'(t) = (cos(t^2/2), sin(t^2/2))
tx_15 = cos(t_osculatriz^2 / 2);
ty_15 = sin(t_osculatriz^2 / 2);
t_unitario = [tx_15, ty_15];


% Cálculo del Vector Normal unitario (n_unitario) en P:
% n(t) = (-sin(t^2/2), cos(t^2/2))
nx_15 = -ty_15; % nx = -sin(t^2/2)
ny_15 = tx_15; % ny = cos(t^2/2)
n_unitario = [nx_15, ny_15];


% Coordenadas del Centro de Curvatura Q(1.5):
% Q = P + R * n_unitario
Qx = Px + R_15 * nx_15;
Qy = Py + R_15 * ny_15;
Q = [Qx, Qy];


figure;
hold on;
grid on;
axis equal;

% Dibujar la Curva (Clotoide)
t_vals = linspace(0, 3, 300);  

% Integración numérica para obtener los puntos de la Clotoide
gamma_x = arrayfun(@(t) integral(Cx, 0, t), t_vals);
gamma_y = arrayfun(@(t) integral(Cy, 0, t), t_vals);

plot(gamma_x, gamma_y, 'b-', 'LineWidth', 2, 'DisplayName', 'Curva de la Clotoide');

% Dibujar el Punto de Corte (P)
scatter(Px, Py, 80, 'filled', 'r', 'DisplayName', 'Punto de Corte P(1.5)');
text(Px + 0.1, Py + 0.1, 'P(1.5)', 'Color', 'r', 'FontSize', 12);

% Dibujar la Circunferencia Osculatriz
theta = linspace(0, 2 * pi, 100);
circ_x = Qx + R_15 * cos(theta);
circ_y = Qy + R_15 * sin(theta);

plot(circ_x, circ_y, 'k--', 'LineWidth', 1.5, 'DisplayName', 'Circunferencia Osculatriz');

%  Dibujar el Centro de Curvatura (Q)
scatter(Qx, Qy, 50, 'filled', 'k', 'DisplayName', 'Centro de Curvatura Q');
text(Qx - 0.1, Qy - 0.1, 'Q', 'Color', 'k', 'FontSize', 12);

% Dibujar el Radio y Normal (Opcional, para visualización)
plot([Qx, Px], [Qy, Py], 'g:', 'DisplayName', 'Radio R(1.5)'); % Vector Q->P
% quiver(Px, Py, nx_15*R_15, ny_15*R_15, 0, 'm', 'LineWidth', 1.5, 'DisplayName', 'Vector Normal');

% Ajustes finales
title('Clotoide y Circunferencia Osculatriz en t = 1.5');
xlabel('Coordenada x');
ylabel('Coordenada y');
legend('Location', 'northwest');
hold off;

8 Propiedades para la ingeniería.

El clotoide se caracteriza porque su curvatura aumenta de forma lineal con la longitud del arco, lo que garantiza una transición suave entre un tramo recto y una curva circular. Esta variación progresiva evita discontinuidades en la dirección del movimiento, por lo que la curva es continua hasta segunda derivada. Matemáticamente se describe mediante las integrales de Fresnel, que permiten definir con precisión su forma y adaptar el trazado a distintas condiciones. Otra propiedad importante es que minimiza cambios bruscos de aceleración lateral, lo que la convierte en una solución eficiente en problemas donde se busca comodidad, estabilidad y control del movimiento. Carreteras: ajustar el trazado a las velocidades adecuadas del proyecto, para que la seguridad y la comodidad de los vehículos sea la mejor.
Ferrocarriles y tranvías: sirve para reducir los esfuerzos en las ruedas y carriles, limitar desgastes y evitar oscilaciones y vibraciones cuando el tren tome una curva.
Puentes y viaductos: para coordinar el tablero con el trazado del puente, optimizando el reparto de esfuerzos de estructuras y la comodidad del tráfico.
Caminos de obra y pistas industriales/mineras: favorece la movilidad de maquinarias pesadas, reduciendo riegos de vuelco, fatiga de componentes y el mantenimiento de la vía.

9 Ejemplos en Ingeniería Civil.

Clotoide en carretera
Clotoide en un circuito


Atracción del Parque Warner
Camaras del iPhone

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:

Aplicación en juegos
Aplicación en la vida real


11 La 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 =2218.1618 [/math]

Para calcular la integral, hemos usado el siguiente código de matlab: {{matlab|codigo=

% Definimos los extremos de los intervalos y el número de puntos
n = 100;
U1 = (1 - 0) / n;             % paso en u
V2 = (6*pi - 2*pi) / n;       % paso en v

u = 0:U1:1;
v = 2*pi:V2:6*pi;
% Definimos el mallado
[uu, vv] = meshgrid(u, v);
% Área 
area = U1 * V2;

v_conjunto = 0;
for i = 1:n
    for j = 1:n

        % Altura del prisma evaluada en el punto (i,j)
        alt = ((uu(i,j)^2 + vv(i,j)^2) / vv(i,j)) * ...
              sqrt(1 + (uu(i,j) + vv(i,j))^2);

        % Volumen del prisma
        v_prisma = area * alt;

        % Suma conjunta
        v_conjunto = v_conjunto + v_prisma;
    end
end

int = v_conjunto;

fprintf('Para n=%d, el resultado de la integral es: %.4f.\n', n, int);


12 Póster

https://upm365-my.sharepoint.com/:b:/g/personal/lucia_pertusa_diaz_alumnos_upm_es/EajopRIt1FBDgBtNGY3WoyMB7tT8gG_W86w60v0xQzf8TQ?e=j8LAE7