Diferencia entre revisiones de «La clotoide (Grupo 40)»
| Línea 170: | Línea 170: | ||
<br /> | <br /> | ||
| − | [[File: | + | [[File:|410px|miniaturadeimagen|right|'''Circunferencia osculatriz''' <br />]] |
{{matlab|codigo= | {{matlab|codigo= | ||
| − | + | t = linspace(-5, 5, 200); | |
| − | t = linspace( | + | |
| − | + | ||
x = @(t) integral(@(s) cos(s.^2/2), 0, t); | x = @(t) integral(@(s) cos(s.^2/2), 0, t); | ||
y = @(t) integral(@(s) sin(s.^2/2), 0, t); | y = @(t) integral(@(s) sin(s.^2/2), 0, t); | ||
| − | |||
| − | |||
xc = arrayfun(x, t); | xc = arrayfun(x, t); | ||
yc = arrayfun(y, t); | yc = arrayfun(y, t); | ||
| − | + | t1= linspace (0, 1/2, 20); | |
| − | + | ||
| − | t1= linspace (0, 1, 20); | + | |
x1= @(t1) integral(@(s) cos(s.^2/2), 0, t1); | x1= @(t1) integral(@(s) cos(s.^2/2), 0, t1); | ||
y1= @(t1) integral(@(s) sin(s.^2/2), 0, t1); | y1= @(t1) integral(@(s) sin(s.^2/2), 0, t1); | ||
| − | + | x1= arrayfun (x1, 2); | |
| − | x1= arrayfun (x1, | + | y1= arrayfun (y1, 2); |
| − | y1= arrayfun (y1, | + | |
| − | + | ||
P=[ x1, y1 ]; | P=[ x1, y1 ]; | ||
fprintf('El punto de la curvatura es %f,%f \n',P); | fprintf('El punto de la curvatura es %f,%f \n',P); | ||
| − | |||
n=[-sin(1/2),cos(1/2)]; | n=[-sin(1/2),cos(1/2)]; | ||
| − | |||
k=1; | k=1; | ||
| − | R=1/ | + | R=1/2; |
fprintf('El radio de la curvatura es %d \n',R); | fprintf('El radio de la curvatura es %d \n',R); | ||
| − | |||
Q=P+R*n; | Q=P+R*n; | ||
Qx=x1+R*(-sin(1/2)); | Qx=x1+R*(-sin(1/2)); | ||
Qy=y1+R*(cos(1/2)); | Qy=y1+R*(cos(1/2)); | ||
fprintf('El centro de la circuferencia es %f,%f \n',Q) | fprintf('El centro de la circuferencia es %f,%f \n',Q) | ||
| − | |||
| − | |||
tt=linspace(0,2*pi,40); | tt=linspace(0,2*pi,40); | ||
xx=R*cos(tt)+Qx; | xx=R*cos(tt)+Qx; | ||
yy=R*sin(tt)+Qy; | yy=R*sin(tt)+Qy; | ||
| − | |||
| − | |||
figure | figure | ||
hold on | hold on | ||
| − | |||
plot(xc,yc,'m','linewidth',1) | plot(xc,yc,'m','linewidth',1) | ||
%punto p | %punto p | ||
plot(x1,y1,'*k','linewidth',1) | plot(x1,y1,'*k','linewidth',1) | ||
| − | |||
plot(xx,yy,'b') | plot(xx,yy,'b') | ||
hold off | hold off | ||
title('Circunferencia osculatriz.'); | title('Circunferencia osculatriz.'); | ||
| − | |||
| − | |||
xlabel('Eje X'); | xlabel('Eje X'); | ||
ylabel('Eje Y'); | ylabel('Eje Y'); | ||
Revisión del 19:42 27 nov 2024
| Trabajo realizado por estudiantes | |
|---|---|
| Título | La clotoide. Grupo 40 |
| Asignatura | Teoría de Campos |
| Curso | 2024-25 |
| Autores | Rodrigo Avellaneda Ciruelos Carlos de la Casa Gámez Alejandro Casasola Mora Pedro Sánchez Perez-Nievas |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
En este trabajo vamos a exponer la curva conocida como clotoide y sus numerosas propiedades en el ámbito civil. Un clotoide es una curva cuya característica principal es que la tasa de cambio de la curvatura es constante a lo largo de su longitud, es decir, aumenta o disminuye de manera progresiva y suave, sin cambios bruscos.
Consideramos la curva plana dada por la parametrización en coordenadas cartesianas:
Contenido
1 La Clotoide
1.1 Dibujo de la curva
Comenzaremos el trabajo dibujando la curva dada. Para ello utilizaremos Octave. (L=5)
t = linspace(-5, 5, 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;
1.2 Cálculo de vectores velocidad y aceleración
Calcularemos los vectores velocidad y aceleración a partir de la siguiente parametrización:
Calculo vector velocidad:
[math] {\gamma }'(t)={x}'(t) \vec i + {y}'(t) \vec j \rightarrow {\gamma }'(t)=cos(\frac{t^2}{2}) \vec i+sin(\frac{t^2}{2}) \vec j [/math]
Calculo vector aceleración:
[math] {\gamma }''(t)={x}''(t) \vec i + {y}''(t) \vec j \rightarrow {\gamma }'(t)=-t\cdot sin(\frac{t^2}{2}) \vec i+t\cdot cos(\frac{t^2}{2}) \vec j [/math]
t = linspace(-5, 5, 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);
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");
1.3 Cálculo longitud de la curva
Utilizando la siguiente fórmula calcularemos la longitud de la curva:
1.4 Cálculo de los vectores tangente y normal
Haciendo uso del vector velocidad, calcularemos el vector tangente y normal:
El vector tangente:
El vector normal:
t = linspace(-5, 5, 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);
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 ('Curva, tangente y normal.')
xlabel('Eje X');
ylabel('Eje Y');
1.5 Cálculo de la curvatura
Estudiaremos la curvatura en el punto [math] γ(t) [/math] que viene dada por la siguiente fórmula:
[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 ∈ [-5,5] [/math]
t=linspace(-5,5,70)
k=t;
figure
plot(t,k,'b');
axis equal
title('Curvatura.');
xlabel('Eje X');
ylabel('Eje Y');
1.6 Cálculo de la circunferencia osculatriz
Dado el punto [math] P=\gamma (2) [/math], es decir [math] t=2 [/math], hallaremos el centro y el radio de la siguiente forma:
El radio:
El centro:
Parametrizamos el centro de la circunferencia osculatriz con la siguiente fórmula:
[[File:|410px|miniaturadeimagen|right|Circunferencia osculatriz
]]
t = linspace(-5, 5, 200);
x = @(t) integral(@(s) cos(s.^2/2), 0, t);
y = @(t) integral(@(s) sin(s.^2/2), 0, t);
xc = arrayfun(x, t);
yc = arrayfun(y, t);
t1= linspace (0, 1/2, 20);
x1= @(t1) integral(@(s) cos(s.^2/2), 0, t1);
y1= @(t1) integral(@(s) sin(s.^2/2), 0, t1);
x1= arrayfun (x1, 2);
y1= arrayfun (y1, 2);
P=[ x1, y1 ];
fprintf('El punto de la curvatura es %f,%f \n',P);
n=[-sin(1/2),cos(1/2)];
k=1;
R=1/2;
fprintf('El radio de la curvatura es %d \n',R);
Q=P+R*n;
Qx=x1+R*(-sin(1/2));
Qy=y1+R*(cos(1/2));
fprintf('El centro de la circuferencia es %f,%f \n',Q)
tt=linspace(0,2*pi,40);
xx=R*cos(tt)+Qx;
yy=R*sin(tt)+Qy;
figure
hold on
plot(xc,yc,'m','linewidth',1)
%punto p
plot(x1,y1,'*k','linewidth',1)
plot(xx,yy,'b')
hold off
title('Circunferencia osculatriz.');
xlabel('Eje X');
ylabel('Eje Y');
axis equal;