Diferencia entre revisiones de «La Cicloide (Grupo 18)»
(→Cálculo de los vectores velocidad 𝛾 ′ (𝑡) y aceleración 𝛾 ″ (𝑡), y dibujo junto a la curva.) |
|||
| Línea 82: | Línea 82: | ||
}} | }} | ||
| + | ==Longitud de la curva== | ||
| + | Para este cálculo se hará uso del método del rectángulo. (el número escogido no es uno en concreto, pero cuanto mayor sea, mejor será la aproximación) | ||
| + | {{matlab|codigo= | ||
| + | R=3; | ||
| + | |||
| + | %Definición de la parametrización derivada | ||
| + | dx=@(t) R*(1-cos(t)); | ||
| + | dy=@(t) R*sin(t); | ||
| + | |||
| + | %Definición del intervalo del parámetro | ||
| + | a=0; | ||
| + | b=2*pi; | ||
| + | |||
| + | %Definición del número de rectángulos | ||
| + | n=4000; | ||
| + | |||
| + | %División del intervalo entre el número de rectángulos escogido | ||
| + | dt=(b-a)/n; | ||
| + | |||
| + | %Obtención de vectores que unen los puntos medios de cada subintervalo | ||
| + | t_mid=a+dt/2:dt:b-dt/2; | ||
| + | |||
| + | %Aproximación de la longitud de la curva generada a partir de los vectores anteriores | ||
| + | L=sum(sqrt(dx(t_mid).^2+dy(t_mid).^2))*dt; | ||
| + | |||
| + | %Muestra del resultado obtenido | ||
| + | fprintf("La longitud aproximada de la Cicloide es = %.6f\n",L); | ||
| + | }} | ||
| + | |||
| + | ==Cálculo de los vectores tangente 𝑡⃗(𝑡) y normal 𝑛⃗(𝑡)== | ||
| + | |||
| + | {{matlab|codigo= | ||
| + | % Datos | ||
| + | R = 3; | ||
| + | % Radio fijado en el enunciado | ||
| + | t_domain = linspace(0.01, 2*pi - 0.01, 200); | ||
| + | % Dominio para la curva, evitando cúspides | ||
| + | t_vec = linspace(0.1, 2*pi - 0.1, 15); | ||
| + | %% 1. Cálculo de la Cicloide | ||
| + | X = R * (t_domain - sin(t_domain)); | ||
| + | Y = R * (1 - cos(t_domain)); | ||
| + | %% 2. Cálculo de Vectores Tangente y Normal Unitarios | ||
| + | % Calculamos t/2 solo para los puntos de la muestra | ||
| + | t_half = t_vec / 2; | ||
| + | % Vector Tangente Unitario t(t) = (sin(t/2), cos(t/2)) | ||
| + | Tx = sin(t_half); | ||
| + | Ty = cos(t_half); | ||
| + | % Vector Normal Unitario n(t) = (-cos(t/2), sin(t/2)) | ||
| + | Nx = cos(t_half); | ||
| + | Ny = -sin(t_half); | ||
| + | %% 3. Dibujo de la Curva y Vectores | ||
| + | figure('Name','La Cicloide', 'Color', 'w'); | ||
| + | hold on; | ||
| + | % Dibuja la cicloide en rojo | ||
| + | plot(X, Y, 'r', 'LineWidth', 2); | ||
| + | % Coordenadas de origen para los vectores (en los puntos t_vec) | ||
| + | X_vec = R * (t_vec - sin(t_vec)); | ||
| + | Y_vec = R * (1 - cos(t_vec)); | ||
| + | % Factor de escala visual para que los vectores sean visibles | ||
| + | escala = 0.8; | ||
| + | % Dibuja los vectores tangente (azul) | ||
| + | quiver(X_vec, Y_vec, Tx, Ty, escala, 'b', 'LineWidth', 0.5, 'MaxHeadSize', 0.1); | ||
| + | % Dibuja los vectores normal (verde) | ||
| + | quiver(X_vec, Y_vec, Nx, Ny, escala, 'g', 'LineWidth', 0.5, 'MaxHeadSize', 0.1); | ||
| + | title(['Vectores Tangente y Normal de la Cicloide (R=', num2str(R), ')']); | ||
| + | xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex'); | ||
| + | ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex'); | ||
| + | legend('Cicloide', 'Tangente $\vec{t}(t)$', 'Normal $\vec{n}(t)$', 'Location', 'NorthEast', 'Interpreter', 'latex'); | ||
| + | axis equal; | ||
| + | grid on; | ||
| + | hold off; | ||
| + | }} | ||
| + | |||
| + | ==Cálculo de la curvatura 𝜅(𝑡)== | ||
| + | |||
| + | {{matlab|codigo= | ||
| + | clc,clear,clf | ||
| + | t=linspace(0,2*pi,500); %Intervalo del parámetro t | ||
| + | %Parámetrización de la cicloide con R=3 | ||
| + | x=3*(t-sin(t)); | ||
| + | y=3*(1-cos(t)); | ||
| + | %Definición de las derivadas parciales primeras respecto a t | ||
| + | dxdt=3-3*cos(t); | ||
| + | dydt=3*sin(t); | ||
| + | %Definición de las derivadas parciales segundas respecto a t | ||
| + | dx2dt2=3*sin(t); | ||
| + | dy2dt2=3*cos(t); | ||
| + | %Cálculo de la curvatura a lo largo de la cicloide | ||
| + | k=abs((dxdt.*dy2dt2)-(dx2dt2.*dydt))./((dxdt.^2+dydt.^2).^(3/2)); | ||
| + | %Graficación de la cicloide en subventana gráfica | ||
| + | subplot(2,1,2); | ||
| + | plot(t,k,'b','LineWidth',3); | ||
| + | %Titulo, leyendas y etiquetas | ||
| + | title('Curvatura de la Cicloide para R=3') | ||
| + | xlabel('Parámetro t'); | ||
| + | ylabel('Curvatura \kappa(t)'); | ||
| + | %Redimensionado del eje x | ||
| + | ax=gca; | ||
| + | ax.XTick=[0,pi/2,pi,3*pi/2,2*pi]; | ||
| + | ax.XTickLabel={'0','\pi/2','\pi','3\pi/2','2\pi'}; | ||
| + | %eje y | ||
| + | axis manual | ||
| + | xlim([0,2*pi]) | ||
| + | ylim([0,3]) | ||
| + | grid on | ||
| + | %Graficación de la curvatura en la segunda subventana | ||
| + | subplot(2,1,1); | ||
| + | plot(x, y, 'r', 'LineWidth', 2); | ||
| + | title('Gráfica de la Cicloide con R=3'); | ||
| + | %Titulos, leyenda, etiquetas y escala de ejes | ||
| + | xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex'); | ||
| + | ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex'); | ||
| + | xlim([0,2*pi]); | ||
| + | ylim('auto'); | ||
| + | axis equal; | ||
| + | grid on; | ||
| + | }} | ||
| + | |||
| + | ==Obtención del centro y el radio de la circunferencia osculatriz== | ||
| + | |||
| + | {{matlab|codigo= | ||
| + | clc,clear,clf | ||
| + | t=linspace(0,2*pi,500); %Intervalo de valores del parámetro t | ||
| + | x=@(t) 3*(t-sin(t)); %Función anónima que define la coordenada x(t) de la cicloide | ||
| + | y=@(t) 3*(1-cos(t)); %Función anónima que define la coordenada y(t) de la cicloide | ||
| + | t0=4; %Punto a evaluar (t=4) | ||
| + | %Funciónes de las derivadas parciales primeras y segundas | ||
| + | dxdt=@(t) 3-3*cos(t); dx2dt2=@(t) 3*sin(t); | ||
| + | dydt=@(t) 3*sin(t); dy2dt2=@(t) 3*cos(t); | ||
| + | %Evaluación de la parametrización de la cicloide y sus derivadas primeras y segundas en t=4 | ||
| + | x0=x(t0); dx0=dxdt(t0); dx2_0=dx2dt2(t0); | ||
| + | y0=y(t0); dy0=dydt(t0); dy2_0=dy2dt2(t0); | ||
| + | k=((dx0.*dy2_0)-(dx2_0.*dy0))./((dx0.^2+dy0.^2).^(3/2)); %Curvatura en el punto | ||
| + | r=1./abs(k); %Radio de la circunferencia osculatriz | ||
| + | %Coordenadas cartesianas del centro de la circunferencia en t=4 | ||
| + | xc=3*4-3*sin(t0)+(1/k).*(-sin(t0))/sqrt(2*(1-cos(t0))); | ||
| + | yc=3-3*cos(t0)+(1/k)*((1-cos(t0)))/sqrt(2*(1-cos(t0))); | ||
| + | %Intervalo para la graficación de la circunferencia y parametrización que la define | ||
| + | theta=linspace(0,2*pi,500); | ||
| + | xcirc=xc+r*cos(theta); | ||
| + | ycirc=yc+r*sin(theta); | ||
| + | %Generación del plot | ||
| + | hold on; grid on; axis equal; | ||
| + | plot(x(t),y(t),'b','LineWidth',3) %Graficación de la cicloide | ||
| + | plot(xcirc,ycirc,'g--'); %Graficación de la circunferencia | ||
| + | plot(x0,y0,'ro','MarkerSize',8,'MarkerFaceColor','r'); %Graficación de gamma(t=4) | ||
| + | plot([xc x0],[yc y0],'k:','LineWidth',1) %Radio de la circunferencia | ||
| + | plot(xc,yc,'o','Color', [0.5 0 0.5],'MarkerSize',8,'MarkerFaceColor',' [0.5 0 0.5]') %Centro de la circunferencia | ||
| + | ylim([-15,8]) | ||
| + | yticks(-15:5:8) | ||
| + | hold off | ||
| + | %Leyenda y etiquetas | ||
| + | legend('Gráfica de la cicloide \gamma(t) en t\in(0,2\pi)','Circunferencia osculatriz en t=4', ... | ||
| + | 'P=\gamma(4)','Radio de curvatura en P=\gamma(4)','Centro de la circunferencia','Location','southwest') | ||
| + | xlabel('Parámetro t'); | ||
| + | ylabel('\gamma(t)'); | ||
| + | }} | ||
Revisión del 16:35 6 dic 2025
| Trabajo realizado por estudiantes | |
|---|---|
| Título | La Cicloide (Grupo 18) |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores | Alejandro Porrúa Perea Salvador Sánchez Burgos Natalia Andrés Jiménez Jaime Colomina López John Cuenca Uyaguari |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
- 1 Introducción
- 2 Dibujo de la curva
- 3 Cálculo de los vectores velocidad 𝛾 ′ (𝑡) y aceleración 𝛾 ″ (𝑡), y dibujo junto a la curva.
- 4 Longitud de la curva
- 5 Cálculo de los vectores tangente 𝑡⃗(𝑡) y normal 𝑛⃗(𝑡)
- 6 Cálculo de la curvatura 𝜅(𝑡)
- 7 Obtención del centro y el radio de la circunferencia osculatriz
1 Introducción
La Cicloide se define como la curva trazada por un punto contenido en la circunferencia de un círculo que rueda sin deslizar sobre una línea recta. Aunque también se puede entender como el lugar geométrico descrito por las posiciones de un punto P que pertenece a la circunferencia de un círculo que rueda sin deslizamiento sobre una recta. Dicha recta recibe el nombre de directriz, mientras que la circunferencia recibe el nombre de generatriz o ruleta.
A pesar de su sencilla definición geométrica, esta curva tiene propiedades notables que le consiguen un lugar crucial en la física teórica, como en el estudio de los principios variacionales que cimentan la Teoría de Campos.Principalmente se conoce por la aplicación como solución al problema de la Braquistócrona (La curva de descenso más rápido entre dos puntos) y al problema de la Tautócrona (la curva en que el tiempo de descenso a un punto inferior es independiente de la posición inicial), estableciendo una relación directa con el formalismo de Lagrange y Hamilton.
La Cicloide se puede representar algebraicamente mediante la siguiente parametrización en coordenadas cartesianas: [math]𝛾(𝑡) = (𝑥(𝑡), 𝑦(𝑡)) = (𝑅(𝑡 − sin 𝑡), 𝑅(1 − cos𝑡)), 𝑡 ∈ (0, 2𝜋)[/math]. Donde R es el radio del círculo y t es el ángulo de desplazamiento angular.
2 Dibujo de la curva
Para este estudio se toma como origen una circunferencia de radio [math]R = 3[/math]
%Radio de la circunferencia
R=3;
%Valores entre los que se encuentra (t)
t=linspace(0,2*pi);
%Parametrización en coordenadas cartesianas
x=R*(t-sin(t));
y=R*(1-cos(t));
%Representación de la Cicloide
figure
hold on
plot(x,y, 'r', 'LineWidth',2);
title('Cicloide de R=3');
grid on
xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex');
ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex');
%Tamaño del recuadro en el que estará representada la curva
axis([-1,max(x)+1,0,max(y)+1])
axis equal
hold off
3 Cálculo de los vectores velocidad 𝛾 ′ (𝑡) y aceleración 𝛾 ″ (𝑡), y dibujo junto a la curva.
% 1. Parámetros de entrada
R = 3;
% 2. Cálculo de la trayectoria (Para dibujar la curva completa)
% Vector de tiempos 't' con varios puntos
t = linspace(0, 2*pi,200);
% Fórmulas directas de la Cicloide
x = R * (t - sin(t));
y = R * (1 - cos(t));
% 3. Cálculo de vectores en puntos específicos (Seleccionamos menos puntos para no saturar el dibujo con flechas, por ejemplo, cada pi/4 radianes)
t_vec = linspace(0,2*pi,15)
% Posición de los vectores (origen de las flechas)
x_vec = R * (t_vec - sin(t_vec));
y_vec = R * (1 - cos(t_vec));
% Velocidad v(t) = r'(t) (Fórmula derivada a mano)
vx = R * (1 - cos(t_vec));
vy = R * sin(t_vec);
% Aceleración a(t) = v'(t) (Fórmula derivada a mano)
ax = R * sin(t_vec);
ay = R * cos(t_vec);
% 4. Representación gráfica
figure('Name','La Cicloide', 'Color', 'w');
hold on; axis equal; grid on;
xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex');
ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex');
title('Cinemática de la Cicloide para R = 3',['r' ...'']);
% Dibujo de la trayectoria de la curva
plot(x, y, 'r', 'LineWidth', 2, 'DisplayName', 'Trayectoria');
% Dibujo de los vectores velocidad (Azul) y aceleración (Rojo)
quiver(x_vec, y_vec, vx, vy, 0.5, 'm', 'LineWidth', 0.5, 'maxheadsize',0.1, 'DisplayName', 'Velocidad');
quiver(x_vec, y_vec, ax, ay, 0.5, 'c', 'LineWidth', 0.5, 'maxheadsize',0.1,'DisplayName', 'Aceleración');
% Detalles finales para ajustar la gráfica y leyenda
legend('Location', 'best');
xlim([0, R*2*pi + 1]);
ylim([0, 2*R + 2]);
hold off;
4 Longitud de la curva
Para este cálculo se hará uso del método del rectángulo. (el número escogido no es uno en concreto, pero cuanto mayor sea, mejor será la aproximación)
R=3;
%Definición de la parametrización derivada
dx=@(t) R*(1-cos(t));
dy=@(t) R*sin(t);
%Definición del intervalo del parámetro
a=0;
b=2*pi;
%Definición del número de rectángulos
n=4000;
%División del intervalo entre el número de rectángulos escogido
dt=(b-a)/n;
%Obtención de vectores que unen los puntos medios de cada subintervalo
t_mid=a+dt/2:dt:b-dt/2;
%Aproximación de la longitud de la curva generada a partir de los vectores anteriores
L=sum(sqrt(dx(t_mid).^2+dy(t_mid).^2))*dt;
%Muestra del resultado obtenido
fprintf("La longitud aproximada de la Cicloide es = %.6f\n",L);
5 Cálculo de los vectores tangente 𝑡⃗(𝑡) y normal 𝑛⃗(𝑡)
% Datos
R = 3;
% Radio fijado en el enunciado
t_domain = linspace(0.01, 2*pi - 0.01, 200);
% Dominio para la curva, evitando cúspides
t_vec = linspace(0.1, 2*pi - 0.1, 15);
%% 1. Cálculo de la Cicloide
X = R * (t_domain - sin(t_domain));
Y = R * (1 - cos(t_domain));
%% 2. Cálculo de Vectores Tangente y Normal Unitarios
% Calculamos t/2 solo para los puntos de la muestra
t_half = t_vec / 2;
% Vector Tangente Unitario t(t) = (sin(t/2), cos(t/2))
Tx = sin(t_half);
Ty = cos(t_half);
% Vector Normal Unitario n(t) = (-cos(t/2), sin(t/2))
Nx = cos(t_half);
Ny = -sin(t_half);
%% 3. Dibujo de la Curva y Vectores
figure('Name','La Cicloide', 'Color', 'w');
hold on;
% Dibuja la cicloide en rojo
plot(X, Y, 'r', 'LineWidth', 2);
% Coordenadas de origen para los vectores (en los puntos t_vec)
X_vec = R * (t_vec - sin(t_vec));
Y_vec = R * (1 - cos(t_vec));
% Factor de escala visual para que los vectores sean visibles
escala = 0.8;
% Dibuja los vectores tangente (azul)
quiver(X_vec, Y_vec, Tx, Ty, escala, 'b', 'LineWidth', 0.5, 'MaxHeadSize', 0.1);
% Dibuja los vectores normal (verde)
quiver(X_vec, Y_vec, Nx, Ny, escala, 'g', 'LineWidth', 0.5, 'MaxHeadSize', 0.1);
title(['Vectores Tangente y Normal de la Cicloide (R=', num2str(R), ')']);
xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex');
ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex');
legend('Cicloide', 'Tangente $\vec{t}(t)$', 'Normal $\vec{n}(t)$', 'Location', 'NorthEast', 'Interpreter', 'latex');
axis equal;
grid on;
hold off;
6 Cálculo de la curvatura 𝜅(𝑡)
clc,clear,clf
t=linspace(0,2*pi,500); %Intervalo del parámetro t
%Parámetrización de la cicloide con R=3
x=3*(t-sin(t));
y=3*(1-cos(t));
%Definición de las derivadas parciales primeras respecto a t
dxdt=3-3*cos(t);
dydt=3*sin(t);
%Definición de las derivadas parciales segundas respecto a t
dx2dt2=3*sin(t);
dy2dt2=3*cos(t);
%Cálculo de la curvatura a lo largo de la cicloide
k=abs((dxdt.*dy2dt2)-(dx2dt2.*dydt))./((dxdt.^2+dydt.^2).^(3/2));
%Graficación de la cicloide en subventana gráfica
subplot(2,1,2);
plot(t,k,'b','LineWidth',3);
%Titulo, leyendas y etiquetas
title('Curvatura de la Cicloide para R=3')
xlabel('Parámetro t');
ylabel('Curvatura \kappa(t)');
%Redimensionado del eje x
ax=gca;
ax.XTick=[0,pi/2,pi,3*pi/2,2*pi];
ax.XTickLabel={'0','\pi/2','\pi','3\pi/2','2\pi'};
%eje y
axis manual
xlim([0,2*pi])
ylim([0,3])
grid on
%Graficación de la curvatura en la segunda subventana
subplot(2,1,1);
plot(x, y, 'r', 'LineWidth', 2);
title('Gráfica de la Cicloide con R=3');
%Titulos, leyenda, etiquetas y escala de ejes
xlabel('$x(t) = 3(t - \sin t)$', 'Interpreter', 'latex');
ylabel('$y(t) = 3(1 - \cos t)$', 'Interpreter', 'latex');
xlim([0,2*pi]);
ylim('auto');
axis equal;
grid on;
7 Obtención del centro y el radio de la circunferencia osculatriz
clc,clear,clf
t=linspace(0,2*pi,500); %Intervalo de valores del parámetro t
x=@(t) 3*(t-sin(t)); %Función anónima que define la coordenada x(t) de la cicloide
y=@(t) 3*(1-cos(t)); %Función anónima que define la coordenada y(t) de la cicloide
t0=4; %Punto a evaluar (t=4)
%Funciónes de las derivadas parciales primeras y segundas
dxdt=@(t) 3-3*cos(t); dx2dt2=@(t) 3*sin(t);
dydt=@(t) 3*sin(t); dy2dt2=@(t) 3*cos(t);
%Evaluación de la parametrización de la cicloide y sus derivadas primeras y segundas en t=4
x0=x(t0); dx0=dxdt(t0); dx2_0=dx2dt2(t0);
y0=y(t0); dy0=dydt(t0); dy2_0=dy2dt2(t0);
k=((dx0.*dy2_0)-(dx2_0.*dy0))./((dx0.^2+dy0.^2).^(3/2)); %Curvatura en el punto
r=1./abs(k); %Radio de la circunferencia osculatriz
%Coordenadas cartesianas del centro de la circunferencia en t=4
xc=3*4-3*sin(t0)+(1/k).*(-sin(t0))/sqrt(2*(1-cos(t0)));
yc=3-3*cos(t0)+(1/k)*((1-cos(t0)))/sqrt(2*(1-cos(t0)));
%Intervalo para la graficación de la circunferencia y parametrización que la define
theta=linspace(0,2*pi,500);
xcirc=xc+r*cos(theta);
ycirc=yc+r*sin(theta);
%Generación del plot
hold on; grid on; axis equal;
plot(x(t),y(t),'b','LineWidth',3) %Graficación de la cicloide
plot(xcirc,ycirc,'g--'); %Graficación de la circunferencia
plot(x0,y0,'ro','MarkerSize',8,'MarkerFaceColor','r'); %Graficación de gamma(t=4)
plot([xc x0],[yc y0],'k:','LineWidth',1) %Radio de la circunferencia
plot(xc,yc,'o','Color', [0.5 0 0.5],'MarkerSize',8,'MarkerFaceColor',' [0.5 0 0.5]') %Centro de la circunferencia
ylim([-15,8])
yticks(-15:5:8)
hold off
%Leyenda y etiquetas
legend('Gráfica de la cicloide \gamma(t) en t\in(0,2\pi)','Circunferencia osculatriz en t=4', ...
'P=\gamma(4)','Radio de curvatura en P=\gamma(4)','Centro de la circunferencia','Location','southwest')
xlabel('Parámetro t');
ylabel('\gamma(t)');