Parametrización de curvas. La cicloide (Grupo 24)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Parametrización de una curva plana. La cicloide |
| Asignatura | Teoría de Campos |
| Curso | 2023-24 |
| Autores | Sara Zhao Cabezas Martín-Carrillo Nerea García Puig Ana Rua Marin Natalia Esteban Tezanos Jose Ramos Marín |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introducción
[Intro]
1.1 Definición
Se define la clicoide como la curva plana dada por la parametrización en coordenadas cartesianas:
- [math] γ=γ(t)=(x(t),y(t))=(R.t-R.\sin(t),R-R\cos(t)),\hspace{1cm}t∈I=(a,b)[/math].
Donde
- [math]γ:t\to\mathbb{R}^2[/math]
- [math]I[/math] es el intervalo de [math]a[/math] hasta [math]b[/math]
- [math]a,b∈\mathbb{R}[/math]
1.2 Interpretación
La cicloide representa la trayectoria que describe un punto de una circunferencia, cuando esta rueda sin deslizar sobre una recta.
2 Representación de la curva
Para representar la curva según la parametrización dada se consideran los valores: [math]R=1, a=0, b=2\pi[/math]. Por tanto, la curva se expresa según:
- [math] \gamma(t)=(x(t),y(t))=(t-\sin(t),1-\cos(t)))=(t-\sin(t))\vec{i}+(1-\cos(t))\vec{j},\hspace{1cm}t∈(0,2\pi)[/math]
Vemos que
- Si[math]\hspace{1cm}t=0,2\pi,4\pi,...,\hspace{1cm}[/math]
- [math]\rightarrow\gamma(t)=t.\vec{i}[/math]
- Si[math]\hspace{1cm}t=\pi,3\pi,5\pi,...,\hspace{1cm}[/math]
- [math]\rightarrow\gamma(t)=t.\vec{i}+2.\vec{j}[/math]
2.1 Código
%Trayectoria
a=0;b=2*pi();
h=0.1;
t=a:h:b;
R=1;
%Curva
x=R*(t-sin(t));y=R*(1-cos(t));
plot(x,y,"Color","k");
%Etiquetas
xticks([0 pi()*R 2*pi()*R]);
xticklabels({'0' '\pi.R' '2\pi.R'})
%Función
text(pi()*R,2.1*R,['$ \gamma (t) = (t-sin(t))\vec{i}+(1-cos(t))\vec{j},\hspace{0.5cm}R=1 $'],'interpreter','latex',"FontSize",17);
%Vectores base
hold on
quiver(0,0,1,0,1,"Color","k","LineWidth",1)
quiver(0,0,0,1,1,"Color","k","LineWidth",1)
text(0.9,0.1,['$ \vec{i} $'],'interpreter','latex',"FontSize",15);
text(0.1,0.9,['$ \vec{j} $'],'interpreter','latex',"FontSize",15);
%leyenda
legend("Cicloide");
%Ejes
axis("equal")
xlim([-0.1 2*pi()+0.1])
ylim([-1.1*R 3.1*R]);
xlabel("X","FontSize",15,"VerticalAlignment","middle");ylabel("Y","FontSize",15);
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
box off
grid on
3 Vectores Velocidad y Aceleración
Para cada punto de la trayectoria el vector Velocidad se obtiene como la derivada de la función [math]γ(t)[/math], según la expresión:
- [math] γ'(t)=(x'(t),y'(t))=(1-\cos(t),\sin(t))=(1-\cos(t)).\vec i+\sin(t).\vec j,\hspace{1cm}t∈(0,2\pi)[/math]
Y su módulo según
- [math] |γ'(t)|=\sqrt{(1-\cos(t))^2+\sin(t)^2}=\sqrt{2-2\cos(t)}=\sqrt{2}.\sqrt{1-\cos(t)}\hspace{1cm}t∈(0,2\pi)[/math]
El vector Aceleración viene representado por la derivada segunda:
- [math] γ''(t)=(x''(t),y''(t))=(\sin(t),\cos(t))=\sin(t).\vec i+\cos(t).\vec j\hspace{1cm}t∈(0,2\pi)[/math]
Y su módulo vale
- [math] |γ''(t)|=\sqrt{\sin(t)^2+\cos(t)^2}=1[/math]
Por tanto, para cada punto la aceleración mantiene un valor constante aunque cambie de dirección y la velocidad varía su módulo de forma que se anula cuando [math]t=0,2\pi,...[/math]
3.1 Código
%velocidad y aceleracion (derivadas de la parametrización)
t=0:pi()/10:2*pi;
x=t-sin(t);
y=1-cos(t);
%primera derivada
V1 = 1-cos(t);
V2 = sin(t);
%segunda derivada
A1 = sin(t);
A2 = cos(t);
%Representación
figure
axis equal
hold on
%Vectores base
hold on
quiver(0,0,1,0,1,"Color","k","LineWidth",1)
quiver(0,0,0,1,1,"Color","k","LineWidth",1)
text(0.9,0.1,['$ \vec{i} $'],'interpreter','latex',"FontSize",15);
text(0.1,0.9,['$ \vec{j} $'],'interpreter','latex',"FontSize",15);
%Vectores velocidad y aceleración
plot (x ,y ,'r') ; %curva
q1=quiver(x,y,V1,V2,1,"Color","b") ; %velocidad
q2=quiver(x,y,A1,A2,1,"color","g") ; %aceleracion
q1.AutoScale = 'off';
q2.AutoScale = 'off';
hold off;
%Leyenda
legend("","","Curva","Velocidad","Aceleración")
%Ejes
axis("equal")
xlim([-0.1 2*pi()+0.1])
ylim([-1.1*R 3.1*R]);
xlabel("X","FontSize",15,"VerticalAlignment","middle");ylabel("Y","FontSize",15);
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
box off
grid on
Como se puede observar en la Figura 3, cuando el punto P está en el punto más bajo, es decir, [math]t=0,2\pi,...[/math], la aceleración es vertical y la velocidad tiene valor nulo
- [math] γ''(0)=(0,1)=\vec j,\hspace{1cm}γ'(0)=(0,0)=\vec 0[/math]
Cuando P está en el punto más alto,[math]t=\pi[/math], la aceleración también es vertical pero con sentido contrario y la velocidad es horizontal, alcanzando un valor máximo.
- [math] γ''(\pi)=(0,-1)=-\vec j,\hspace{1cm}γ'(\pi)=(2,0)=2\vec i[/math]
4 Longitud de la curva
El módulo del vector velocidad que se ha hallado antes para cada punto de la trayectoria, representa la longitud del sector infinitesimal de curva en ese punto. Si se calcula la integral a lo largo del intervalo, el resultado es el valor de la longitud de toda la curva. Este valor se puede calcular como la integral sobre la curva de un campo escalar constante y unitario, dada por la definición:
- [math] \int_γf \; dS =\int_a^bf(γ(t)).|γ'(t)| \; dt [/math]
Si [math]f(γ(t))=1, \;[/math] entonces
- [math]Long.(γ)=\int_a^b|γ'(t)| \; dt[/math]
Sustituyendo se tiene que
- [math]Long.(γ)=\int_0^{2\pi}\sqrt{2}.\sqrt{1-\cos(t)} \; dt =\sqrt{2}.\int_0^{2\pi}\sqrt{1-\cos(t)} \; dt [/math]
4.1 Aproximación de la integral
Para aproximar el valor de la integral mediante cálculo numérico se utiliza el Método del Trapecio[1].
4.1.1 Código
%Aproximación de la integral por el Método del Trapecio
%Longitud de la curva
N=200; %Número de puntos
a=0; b=2*pi(); %Extremos del intervalo
h=(b-a)/N; %Paso
t=a:h:b; %Vector con valores del intervalo
f=sqrt(2)*sqrt(1-cos(t))'; %Función
w=ones(N+1,1); %Vector
w(1)=1/2; w(N+1)=1/2;
result=h*w'*f %Resultado
result=round(result)
area(t,f,"FaceColor","r","FaceAlpha",0.5,"EdgeAlpha",0.5) %Representación
text(pi()*0.9*R,max(f)/2,"A = "+result,"FontSize",15)
hold on
x=t-sin(t);
y=1-cos(t);
plot(x,y,"k")
%Etiquetas
xticks([0 pi()*R 2*pi()*R])
xticklabels({'0' '\pi.R' '2\pi.R'})
%Leyenda
legend("Área\equivA=Long.(\gamma(t))","Trayectoria\equiv\gamma(t)")
%Ejes
axis("equal")
xlim([-0.1 2*pi()+0.1])
ylim([-1.1*R 3.1*R]);
xlabel("X","FontSize",15,"VerticalAlignment","middle");ylabel("Y","FontSize",15);
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
box off
grid on
5 Vectores Tangentes y Normales
Como se ha observado el vector velocidad representa todos los vectores tangentes a la trayectoria parametrizada por [math]\gamma(t)[/math], por tanto, para obtener los vectores tangentes unitarios hay que dividir por el módulo, es decir,
- [math] \vec t=\frac{γ'(t)}{|γ'(t)|}=\frac{(1-\cos(t)).\vec i+\sin(t).\vec j}{\sqrt{2}.\sqrt{1-\cos(t)}},\hspace{1cm}t∈(0,2\pi)[/math]
Los vectores normales se pueden obtener girando un ángulo [math]\frac{\pi}{2}[/math] los vectores tangentes. En [math]\mathbb{R}^2[/math] esta rotación puede expresarse mediante el intercambio de coordenadas y multiplicando una coordenada por -1, en función del sentido de giro (Figuras 5 y 6). La expresión de los vectores normales según la orientación es:
- Orientación interior [math]\hspace{1cm} si\hspace{1cm} \vec n=\frac{sin(t).\vec i-(1-\cos(t)).\vec j}{\sqrt{2}.\sqrt{1-\cos(t)}},\hspace{1cm}t∈(0,2\pi)[/math]
- Orientación exterior [math]\hspace{1cm} si\hspace{1cm} \vec n=\frac{-sin(t).\vec i+(1-\cos(t)).\vec j}{\sqrt{2}.\sqrt{1-\cos(t)}},\hspace{1cm}t∈(0,2\pi)[/math]
5.1 Código
%Vectores tangentes y normales
t=0:pi()/10:2*pi;
x=t-sin(t);
y=1-cos(t);
%primera derivada (velocidades)
V1 = 1-cos(t);
V2 = sin(t);
%segunda derivada
A1 = sin(t);
A2 = cos(t);
%tangentes: velocidades -> unitarios
mod=sqrt(V1.^2+V2.^2);
t1=V1./mod;
t2=V2./mod;
%normales: tangentes -> giro 90º
n1=-t2; % -t2 Or. Ext. t2 Or. Int.
n2=t1; % t1 Or. Ext. -t1 Or. Int
%Representación
figure
axis equal
hold on
%Vectores base
hold on
quiver(0,0,1,0,1,"Color","k","LineWidth",1)
quiver(0,0,0,1,1,"Color","k","LineWidth",1)
text(0.9,0.1,['$ \vec{i} $'],'interpreter','latex',"FontSize",15);
text(0.1,0.9,['$ \vec{j} $'],'interpreter','latex',"FontSize",15);
plot (x ,y ,'c') ; %curva
q1=quiver(x,y,t1,t2,1,"Color","m") ; %tangentes
q1.AutoScale = 'off';
q1=quiver(x,y,n1,n2,1,"Color","b") ; %normales
q1.AutoScale = 'off';
hold off;
%Leyenda
legend("","","Curva","Vectores tangentes","Vectores normales")
%Etiquetas
xticks([0 pi() 2*pi()]);
xticklabels({'0' '\pi.R' '2\pi.R'});
yticks([-1 0 1 2]);
yticklabels({'-R' '0' 'R' '2.R'});
%Ejes
axis("equal")
xlim([-0.1 2*pi()+0.1])
ylim([-1.1 3.1]);
xlabel("X","FontSize",15,"VerticalAlignment","middle");ylabel("Y","FontSize",15);
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
box off
grid on
6 Curvatura
Se define la curvatura de [math]\gamma(t)[/math] como la función escalar [math]\kappa:(a,b)\to\mathbb{R}[/math] tal que
- [math]\kappa(t)=\frac{x'(t).y''(t)-x''(t).y'(t)}{(x'(t)^2+y'(t)^2)^\frac{3}{2}}[/math]
Sustituyendo
- [math]\kappa(t)=\frac{(1-\cos(t)).\cos(t)-\sin(t).\sin(t)}{((1-\cos(t))^2+\sin(t)^2)^\frac{3}{2}}=\frac{\cos(t)-\cos(t)^2-\sin(t)^2}{(1+\cos(t)^2-2\cos(t)+\sin(t)^2)^\frac{3}{2}}=[/math]
- [math]=\frac{\cos(t)-1}{(2-2\cos(t))^\frac{3}{2}}=\frac{-1}{2^\frac{3}{2}}.\frac{1-\cos(t)}{(1-\cos(t))^\frac{3}{2}}=\frac{-\sqrt{2}}{4}.\frac{1}{\sqrt{(1-\cos(t)}}[/math]
Se observa que
- Si[math]\hspace{1cm}t=0,2\pi,4\pi,...\hspace{1cm}[/math]entonces
- [math]\kappa(0)=\frac{-\sqrt{2}}{4}.\propto=-\propto[/math]
Y
- Si[math]\hspace{1cm}t=\pi,3\pi,...\hspace{1cm}[/math]entonces
- [math]\kappa(\pi)=\frac{-1}{4}[/math]
El radio de curvatura asociado será
- [math]R(\pi) = \frac{1}{|\kappa(\pi)|}=\frac{1}{\frac{1}{4}}=4[/math]
6.1 Código
%REPRESENTACIÓN CURVATURA
a=0;b=2*pi(); %Límites
t=linspace(a,b,100); %Valores del intervalo
Ka=(-1/4)*sqrt(2)*(1-cos(t)).^-0.5;
plot(t,Ka);
xlim([0 2*pi()])
ylim([-5.1 0.1])
xticks([0 0.5054 pi() 2*pi()])
xticklabels({'0' '0.5' '\pi' '2\pi'})
yticks([-2 -1 -0.25 0])
xlabel("X","FontSize",15)
ylabel("\kappa","FontSize",20);
axis("equal")
grid on
7 Circunferencia osculatriz
Para el cálculo de las diferentes circunferencias osculatrices es necesario determinar los diferentes radios de curvatura para los valores de t. Su expresión se corresponde con la inversa de la curvatura en valor absoluto, es decir,
- [math]R(t) = \frac{1}{|\kappa(t)|}=\frac{1}{\frac{\sqrt{2}}{4}.\frac{1}{\sqrt{(1-\cos(t)}}}[/math]
Operando se obtiene
- [math]R(t) = \frac{1}{|\kappa(t)|}=2\sqrt{2}.\sqrt{(1-\cos(t)}[/math]
Se observa que
Si[math]\hspace{1cm}t=0,2\pi,4\pi,...\hspace{1cm}[/math]entonces
- [math]R(t) = \frac{1}{|\kappa(t)|}=0\hspace{1cm}[/math].
Es decir, la circunferencia que mejor se aproxima a la curva tiene radio nulo y por tanto se trata de un punto. Luego los extremos de la línea de centros de circunferencias osculatrices coinciden con los de la cicloide. Para el cálculo de los centros de las circunferencias se han realizado las siguientes operaciones:
- 1. Producto del radio de curvatura por el vector normal con orientación interior. Se obtienen así los desplazamientos de valor el radio de curvatura, según la dirección normal.
- [math]R.\vec n(t) = \frac{-\sqrt{2}}{4.\sqrt{(1-\cos(t)}}.\frac{sin(t).\vec i-(1-\cos(t)).\vec j}{\sqrt{2}.\sqrt{1-\cos(t)}} =[/math]
- [math]=\frac{sin(t).\vec i-(1-\cos(t)).\vec j}{4.(1-\cos(t))} = \frac{sin(t)}{4.(1-\cos(t))}\vec i-\frac{1}{4}\vec j[/math]
- 2. Suma de los vectores de posición de la curva y los desplazamientos obtenidos en el punto 1. Se obtienen las coordenadas de los centros de las circunferencias osculatrices.
- [math]C(t) = \gamma(t) + R.\vec n(t) = [/math]
7.1 Código
%Cicloide
x=t-sin(t);
y=1-cos(t);
%primera derivada (velocidades)
x1 = 1-cos(t);
y1 = sin(t);
%segunda derivada (aceleraciones)
x2 = sin(t);
y2 = cos(t);
%Curvaturas y radios
modk=(x1.^2+y1.^2).^(3/2);
K=(x1.*y2-x2.*y1)./modk;
R=1./abs(K);
%tangentes -> unitarios
mod=sqrt(x1.^2+y1.^2);
t1=x1./mod;
t2=y1./mod;
%normales. Orientación interior
n1=t2;
n2=-t1;
%Desplazamientos de valor el radio según normal
C1=R.*n1;
C2=R.*n2;
hold on
plot(x,y);
%Centros osculatrices. Coordenadas
Cx=x+C1;
Cy=y+C2;
plot(Cx,Cy,'--',"Color","k")
q=quiver(Cx,Cy,-C1,-C2,1);
q.AutoScale = 'off';
%Circunferencia osculatriz de t=0.3
dif=abs(t-0.3)
pos=find(dif == min(dif));
Ro=R(pos);
cxo=Cx(pos);
cyo=Cy(pos);
cx=Cx(pos)+Ro*cos(t);
cy=Cy(pos)+Ro*sin(t);
plot(cxo,cyo,'.',"MarkerSize",15,"color","k");
plot(cx,cy,'k');
q=quiver(cxo,cyo,-C1(pos),-C2(pos),1,"LineWidth",1.5,"Color","k");
q.AutoScale = 'off';
%Etiquetas
xticks([0 pi() 2*pi()]);
xticklabels({'0' '\pi' '2\pi'})
text(0.3*cxo,3*cyo,"C("+cxo+","+cyo+")","FontSize",12,"Color","k","FontWeight","bold"); %Centro osculatriz
text(0.5*cxo,-2*cyo,"R= "+Ro,"FontSize",12,"Color","k","FontWeight","bold"); %Radio osculatriz
%leyenda
legend("Trayectoria","Línea de centros","Radios de curvatura","","Circunferencia osculatriz")
%Ejes
axis("equal")
xlim([-0.1 2*pi()+0.1])
ylim([-2.1 3.1]);
xlabel("X","FontSize",15,"VerticalAlignment","middle");ylabel("Y","FontSize",15);
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
box off
grid on
8 Usos de la cicloide
La ecuación [math]R(t) = (t−sin(t),1−cos(t))[/math], describe una curva paramétrica en el plano. Esta curva es conocida como "curva de Cardioides". La curva S es una variante especial de las cardioides, que son curvas descritas por ecuaciones paramétricas en coordenadas polares. La forma paramétrica de la curva S implica dos funciones trigonométricas: [math]t−sin(t)[/math] para la coordenada x y [math]1−cos(t)[/math] para la coordenada y. Estas funciones definen cómo varían las coordenadas (x, y) en función del parámetro t. La variable t generalmente se toma en el rango completo de los números reales, lo que significa que la curva se extiende indefinidamente. La presencia de las funciones seno y coseno en las ecuaciones paramétricas sugiere que la curva S está relacionada con el círculo y las propiedades trigonométricas. La forma específica de estas funciones determina la apariencia exacta de la curva. En este caso, la curva S tiene similitudes con una cardiode clásica, pero con desplazamientos y escalas específicas debido a la presencia de t y las funciones seno y coseno. Esta curva es muy relevante en el campo de la ingeniería civil en varios aspectos, especialmente en el diseño y análisis de estructuras:
- Diseño de Carreteras y Curvas de Nivel:
- La curva S puede tener aplicaciones en el diseño de curvas de carreteras o senderos, ya que su forma única puede ser estéticamente agradable y funcional para la integración en el paisaje.
- Además, las curvas en el diseño de curvas de nivel en terrenos montañosos o con pendientes pronunciadas pueden ser modeladas utilizando ecuaciones paramétricas similares.
- Diseño de Puentes y Estructuras:
- Las formas curvas a menudo se utilizan en el diseño de puentes y otras estructuras para distribuir las cargas de manera eficiente.
- La curva S podría ser utilizada en el diseño estético o funcional de elementos arquitectónicos en puentes u otras estructuras, especialmente cuando se busca un diseño distintivo.
- Análisis de Tensión y Deformación:
- En ingeniería estructural, la forma de las curvas puede afectar la distribución de tensiones y deformaciones en una estructura. Las propiedades geométricas de la curva S podrían influir en el análisis de tensiones y deformaciones en elementos estructurales.
- Diseño de Tuberías y Conductos:
- La curva S puede ser relevante en el diseño de sistemas de tuberías o conductos en los que se busque una trayectoria suave y continua. Esto podría ser útil en aplicaciones donde se necesita minimizar la resistencia al flujo o evitar turbulencias.
- Diseño de Elementos Arquitectónicos:
- En la arquitectura, la curva S podría ser utilizada en el diseño de elementos estructurales o decorativos, proporcionando un aspecto distintivo a un edificio.
- Modelado en Software de Ingeniería:
- Las ecuaciones paramétricas como las que describen la curva S pueden ser implementadas en software de modelado y análisis estructural para representar geometrías complejas en proyectos de ingeniería civil.
9 Superficie reglada
Podemos ver fácilmente que la cicloide parametrizada en coordenadas cartesianas en [math]\mathbb{R}^3[/math] es:
- [math] γ=γ(t)=(x(t),y(t),z(t)=(0,R.t-R.\sin(t),R-R\cos(t)),\hspace{1cm}t∈I=(0,2π)[/math].
Queremos dibujar la superficie reglada asociada a dicha curva mediante segmentos ortogonales de longitud 1 y vector director [math]\vec{i}[/math]:
9.1 Código
n=30;
u=linspace (0,1,n) ;
v=linspace (0,2*pi,n);
[U,V]=meshgrid(u,v) ;
x=U;
y=V-sin(V);
z=1+cos(V);
figure
surf(x,y,z);
axis equal
title ('Superficie reglada : arco cicloidal . ') ;
10 Masa de la superficie con densidad variable
Para calcular la masa de la superficie anterior siendo la densidad definida por la función [math]f(x1,x2,x3)=cos(x2)[/math], debemos aplicar la definición:
- [math] \int_Sf \; dS =\int_a^bf(S(u,v)).|\vec{n}| \; dudv [/math]
11 Bibliografía
11.1 Referencias
- ↑ Se trata de un método de integración numérica para aproximar el valor de una integral definida