Diferencia entre revisiones de «Parametrización de curvas. La cicloide (Grupo 24)»
(→Curvatura) |
(→Circunferencia osculatriz) |
||
| Línea 311: | Línea 311: | ||
= Circunferencia osculatriz = | = Circunferencia osculatriz = | ||
[[Archivo:cicloide_osculatriz.jpg|500px|thumb|right|Figura 8: Circunferencia osculatriz para t=0.3.]] | [[Archivo:cicloide_osculatriz.jpg|500px|thumb|right|Figura 8: Circunferencia osculatriz para t=0.3.]] | ||
| + | |||
| + | 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 que | ||
| + | |||
| + | ::::<math>R(t) = \frac{1}{|\kappa(t)|}=2\sqrt{2}.\sqrt{(1-\cos(t)}</math> | ||
| + | |||
| + | |||
| + | |||
Revisión del 17:55 28 nov 2023
| 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 que
- [math]R(t) = \frac{1}{|\kappa(t)|}=2\sqrt{2}.\sqrt{(1-\cos(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 Bibliografía
8.1 Referencias
- ↑ Se trata de un método de integración numérica para aproximar el valor de una integral definida