% Funçao para animaçao de pendulos simples.
%
% pendulum_anim(xy,theta,t,L)
% xy    -> Coordenadas (x,y) do pendulo para os diversos instantes temporais.
% theta -> Valores de theta e Dtheta do pendulo para todos os instantes temporais.
% t     -> Espaço temporal.
% L     -> Dimensao da janela de animaçao.

function pendulum_anim(u)

L1=u(1);
L2=u(2);
theta1=u(3);
theta2=u(4);

% === CINEMATICA DIRECTA =============================
% theta(:,1)=angulo
x1=L1*sin(theta1);
y1=-L1*cos(theta1);
x2=x1+L2*sin(theta1+theta2);
y2=y1-L2*cos(theta1+theta2);
% ====================================================

% === ANIMACAO GRAFICA =============================
% Representacao do pendulo
plot([0,x1],[0,y1],'r','linewidth',3);
hold on;
plot([x1,x2],[y1,y2],'b','linewidth',3);
text(0,0,'X');
hold off;

title('Simple Pendulum Simulation');
xlabel('x');
ylabel('y');
axis(11/10*(L1+L2)*[-1,1,-1,1]);
axis square

drawnow
%==================================================
