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

De MateWiki
Saltar a: navegación, buscar
(Parametrización en cartesianas)
(Parametrización en cartesianas)
Línea 246: Línea 246:
 
</center>
 
</center>
 
y podemos representarla gráficamente con este código de matlab.
 
y podemos representarla gráficamente con este código de matlab.
[[Archivo:superficiereglada1.jpg|450px|thumb|right|Figura 2: Superficie reglada]]
+
[[Archivo:superficiereglada33.jpg|300px|thumb|right|Figura 2: Superficie reglada]]
 
{{matlab|codigo=
 
{{matlab|codigo=
 
% Definir los rangos de u y v
 
% Definir los rangos de u y v

Revisión del 16:59 1 dic 2024

Trabajo realizado por estudiantes
Título La clotoide. Grupo 10
Asignatura Teoría de Campos
Curso 2023-24
Autores Nerea García Puig
Irene Melendo Félix
Nerea Rodrigañez Martínez
Ana Rua Marín
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

La clotoide es una curva que se pueden definir como varias curvas tangentes en el origen al eje de abscisas con un radio de curvatura que disminuye de manera inversamente proporcional a la distancia recorrida sobre ella, formando un trozo de espiral. Ésta curva, cumple una serie de propiedades matemático-físicas que iremos explicando a lo largo de la presentación, con la herramienta de MATLAB, realizaremos los cálculos con precisión y representándolos en gráficas para poder entenderlos de una forma visual .

En cada punto haremos una breve introducción con las fórmulas que hemos utilizado, desarrollándolas para que se llegue a entender los pasos y de donde vienen los cálculos. Para el estudio de sus propiedades, nos centraremos en analizar los vectores velocidad y aceleración, así como el tangente y normal para su posterior enfoque a la ingeniería civil.

2 Dibujo de la curva

Consideramos la curva plana dada por la parametrización en coordenadas cartesianas:

[math] γ(t) = (x(t),y(t)) = (\int_{0}^{t}cos(\frac{s^2}{2})ds, \int_{0}^{t}sin(\frac{s^2}{2})ds), t∈(-5,5) [/math]



Realizamos el dibujo con el programa de MATLAB:

Dibujo de la curva
clear, clc
% Definimos la funcion
N = 1000; % Número de puntos
t = linspace(-5, 5, N); % Rango de t
dt = t(2) - t(1); % Paso entre puntos

% Inicializamos vectores para x(t) e y(t)
x = zeros(1, N);
y = zeros(1, N);

% Usamos el método del trapecio para integrar paso a paso
for i = 2:N
    % Definimos los extremos del intervalo de integración
    s_prev = t(i-1);
    s_curr = t(i);
    
    % Calculamos las funciones en los extremos
    f_cos_prev = cos(s_prev^2 / 2);
    f_cos_curr = cos(s_curr^2 / 2);
    f_sin_prev = sin(s_prev^2 / 2);
    f_sin_curr = sin(s_curr^2 / 2);
    
    % Aproximamos integrales con el método del trapecio
    x(i) = x(i-1) + (f_cos_prev + f_cos_curr) * dt / 2;
    y(i) = y(i-1) + (f_sin_prev + f_sin_curr) * dt / 2;
end

% Dibujamos la curva
figure;
plot(x, y, 'r', 'LineWidth', 1.5);
xlabel('x(t)');
ylabel('y(t)');
title('Curva \gamma(t) usando el método del trapecio');
grid on;
axis equal;


3 Vectores velocidad y aceleración

Los vectores velocidad y aceleración se calculan a través de la derivación de la curva.

[math] γ(t) = (x(t),y(t)) = (\int_{0}^{t}cos(\frac{s^2}{2})ds, \int_{0}^{t}sin(\frac{s^2}{2})ds), t∈(-5,5) [/math]


  • El vector velocidad se define como:

[math] {\gamma }'(t)={x}'(t) \vec i + {y}'(t) \vec j = cos(\frac{t^2}{2}) \vec i+sin(\frac{t^2}{2}) \vec j, t∈(-5,5) [/math]

  • El vector aceleración se define como:

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

Continuando con el código anterior y cambiando el número de puntos para que queden bien representadas las flechas de velocidad y aceleración, tenemos el siguiente código:

Figura 2: Velocidad y aceleración
% Calculamos vector velocidad
vx = cos(t.^2/2); % Derivada de x respecto a t
vy = sin(t.^2/2); % Derivada de y respecto a t

% Calculamos vector aceleración
ax = -t.*sin(t.^2/2); % Derivada de vx respecto a t
ay = t.*cos(t.^2/2); % Derivada de vy respecto a t

%Dibujamos curva
figure; 
hold on

plot(x, y, 'r');

% Dibujamos velocidad
quiver(x,y,vx,vy,'g');

% Dibujamos aceleracióon
quiver(x,y,ax,ay,'b');

% Etiquetas y leyenda
xlabel('x(t)');
ylabel('y(t)');
title('Curva, Velocidad y Aceleración');
legend('Curva', 'Velocidad', 'Aceleración','Location', 'northwest', 'TextColor', 'black', 'FontSize', 10);
grid on;
axis equal;
hold off


4 Longitud de la curva

Podemos calcular la longitud de la curva indistintamente de la parametrización elegida, puesto que el concepto de longitud va asociado a la propia curva y no a la parametrización que la describe.
En nuestro caso, elegimos la parametrización:

[math] γ(t) = (x(t),y(t)) = (\int_{0}^{t}cos(\frac{s^2}{2})ds, \int_{0}^{t}sin(\frac{s^2}{2})ds), t∈(0,5) [/math]

Calculamos la longitud siguiendo dos procedimientos diferentes:

  • De forma teorica:


[math] ℓ(γ) = \int_{a}^{b} \left |{\gamma }'(t) \right |= \int_{a}^{b} \sqrt{cos(\frac{t^2}{2})^2+sin(\frac{t^2}{2})^2} dt= \int_{0}^{5}1dt= 5-(0)= 5 [/math]


  • Utilizando métodos numéricos:
Método del rectángulo
% Parámetros
L = 5; 
a = 0;
b = L;
n = 1000; % Número de subintervalos (más grande, mayor precisión)
h = (b - a) / n; % Tamaño del subintervalo

% Función de las derivadas
dx_dt = @(t) cos(t.^2 / 2);
dy_dt = @(t) sin(t.^2 / 2);

% Elemento de longitud de arco
arc_length_element = @(t) sqrt(dx_dt(t).^2 + dy_dt(t).^2);

% Puntos para el método del rectángulo
x_vals = linspace(a, b-h, n); % Puntos de la izquierda

% Suma del rectángulo
length = sum(arc_length_element(x_vals) * h);

% Mostrar el resultado
fprintf('La longitud de la curva es aproximadamente: %.4f\n', length);
Método del trapecio:
% Parámetros
a = 0; % Inicio del intervalo
b = 5; % Fin del intervalo
n = 1000; % Número de subintervalos
h = (b - a) / n; % Tamaño del paso
t = linspace(a, b, n+1); % Puntos de discretización

% Derivadas de x(t) y y(t)
dx_dt = @(t) cos(t.^2 / 2); % Derivada de x
dy_dt = @(t) sin(t.^2 / 2); % Derivada de y

% Elemento de longitud de arco
f = @(t) sqrt(dx_dt(t).^2 + dy_dt(t).^2);

% Valores de la función en los puntos
f_vals = f(t);

% Método del trapecio
L = h/2 * (f_vals(1) + 2 * sum(f_vals(2:end-1)) + f_vals(end));

% Resultado
fprintf('La longitud de la curva es aproximadamente: %.4f\n', L);


5 Vectores tangentes y normal

6 Curvatura

7 Circunferencia osculatriz

8 Información de interés

Curvas de transición:

En carreteras, las clotoides conectan tramos rectos con curvas circulares, asegurando que la curvatura cambie progresivamente. Esto reduce los tirones bruscos y mejora la comodidad y la seguridad de los conductores. Se emplean en autopistas, intersecciones y rampas para garantizar un flujo vehicular uniforme.

Diseño geométrico:


Las clotoides son fundamentales en los trazados planimétricos y altimétricos de carreteras, ajustándose a las normas de diseño vial para optimizar la seguridad y eficiencia del transporte.


Diseño de curvas en canales de navegación:


En vías navegables, como ríos y canales, las clotoides permiten una transición gradual entre secciones rectas y curvas. Esto es esencial para garantizar que las embarcaciones puedan maniobrar con seguridad, especialmente en canales estrechos. Flujo uniforme:


Ayudan a mantener un flujo de agua más estable, minimizando turbulencias en los cambios de dirección, lo que reduce la erosión en las paredes del canal y mejora la navegabilidad.


Trazado de accesos marítimos:

En puertos, las clotoides se utilizan para diseñar rutas de entrada y salida para embarcaciones. Estas curvas permiten movimientos seguros y eficientes en áreas congestionadas, como dársenas o terminales portuarias.

Rompeolas curvos:

Las clotoides pueden ser útiles en la construcción de rompeolas curvados, optimizando la interacción entre las estructuras y las olas para dispersar la energía de estas últimas de manera más eficiente.

9 Estructura civil

10 Parametrización en cartesianas

Ahora consideramos la curva parametrizada por:

[math] γ(t)=(x_{1}(t),x_{2}(t),x_{3}(t))=(tcost,tsint,t),\hspace{3cm}t∈(2π,6π) [/math]

Se define la superficie reglada asociada a dicha parametrización mediante segmentos de longitud 1 con vector director eρ como aquella parametrizada por :

[math]\phi (u,v)=\gamma (v)+u\cdot \overline{w}(v).\hspace{3cm}u∈(0,1)\hspace{0.5cm} v∈(2π,6π)[/math].

Para llegar a la parametrización deseada, pasamos el vector director eρ a coordenadas cartesianas con la matriz cambio de base:

\begin{pmatrix}v_1\\v_2 \\v_3 \end{pmatrix}= \begin{pmatrix}cosx & -senx &0 \\ senx & cosx & 0\\ 0 & 0 & 1\end{pmatrix} \begin{pmatrix}1\\0\\0\end{pmatrix}= \begin{pmatrix}cosx\\ senx\\0 \end{pmatrix}



El vector [math]\vec{e_{\rho}} [/math] en coordenadas cartesianas es igual a


[math]\overline cosx\overline{i}+senx\overline{j}[/math]


Si finalmente aplicamos la definición antes descrita, nuestra hélice queda parametrizada como:


[math]\phi (u,v)=cosv·(v+u)\overline{i}+senv·(v+u)\overline{j}+v\overline{k},\hspace{3cm}u∈(0,1)\hspace{0.5cm} v∈(2π,6π)[/math]


y podemos representarla gráficamente con este código de matlab.

Figura 2: Superficie reglada
% Definir los rangos de u y v
v= (0:0.01:6.*pi) ; 
u= (0:0.01:1); 

% Crear una malla de valores para u y v
[U, V] = meshgrid(u, v);

% Calcular las coordenadas 
X = cos(V) .* (V + U);
Y = sin(V) .* (V + U);
Z = V;

% Graficar la superficie
figure;
surf(X, Y, Z, 'EdgeColor', 'none');
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Superficie Reglada');
axis equal; % Escala uniforme


11 Densidad