jueves, 24 de abril de 2014

Simulación cuerda elástica

Realizar la simulación de una cuerda utilizando las ecuaciones del péndulo elástico, como mínimo se deben utilizar 3 eslabones conectados.



Fecha de entrega en clase: Martes 13 de Mayo de 2014

Tarea simulación partículas

Realizar la simulación de una explosión, similar a la que ocurre en el siguiente ejemplo. 





Fecha de entrega:  Martes 6 de Mayo de 2014

martes, 8 de abril de 2014

3er Corte - Pocentajes

Proyectos y trabajos 50 %
Endorphine 10 %
Parcial Final  40 % (Fecha Jueves 15 de Mayo de 2014)

Endorphine simulation - 10% Tercer Corte

El proyecto de simulación sobre Endorphine, será realizado en grupos de 2 personas cómo máximo y deberá ser entregado via link en youtube a mi correo electrónico con plazo máximo Jueves 15 de Mayo a la media noche. En la escena del endorphine deben colocar sus nombres utilizando las herramientas de modelado como cajas o figuras que vienen predeterminadas o en su defecto utilizando MAYA.

Este es el link de Endorphine oficial en el encontraran tutoriales y manuales importantes para que realicen su proyecto:
http://www.naturalmotion.com/middleware/endorphin-2-7/

Este es  uno de los proyectos que me entregaron el semestre pasado para que se guíen:


Este es un link tutorial de como realizar la simulación de personajes en Endorphine:

Simulación sistemas rotacionales (Rueda)

function rotacional
R=1;

% declara variables

time=0:1/10:30;
condicionesiniciales=[0 10];

% desarrolla las ecuaciones diff rk 4 orden
[t,theta]=ode45(@fk,time,condicionesiniciales)
x=R*sin(theta(:,1));
y=-R*cos(theta(:,1));

% Animación graficas

for i=1:length(time)

% plot velocidad angular
pause(1/100)
subplot(2,2,1)
plot(time(i),theta(i,2),'-')
xlabel('tiempo (s)')
ylabel('w (rad/s)')
hold on

% plot rotacion angular
subplot(2,2,2)
plot(time(i),theta(i,1),'-')
xlabel('tiempo (s)')
ylabel('Angulo (rad)')
hold on

% grafico circulo
xc=0; yc=0; r=1; % Centro y radio
n = 50; k=0:n; fi=2*pi*k/n;
xx=xc+r*cos(fi); yy = yc+r*sin(fi);
subplot(2,2,3)
plot(xc,yc,'x',xx,yy);
axis([-2 2 -2 2]), axis equal;
hold on

%plot linea para visualizar la velocidad angular
subplot(2,2,3)
plot([0 x(i)],[0 y(i)])
axis([-2 2 -2 2])
xlabel('x(m)')
ylabel('y(m)')
hold off

end

end

%Ecuacion diferencial

function rk=fk(t,y)
m=2;
b=0.1;
R=1;
rk=[y(2);-(b/(m*R))*y(2)];
end

simulación doble masa

function doblemasa

% declara variables
x1d=5;
x2d=20;
time=0:1/10:120;
condicionesiniciales=[x1d+10 0 x2d+20 0];

y=0*time;

% desarrolla las ecuaciones diff rk 4 orden
[t,x]=ode45(@fk,time,condicionesiniciales);


% graficas

for i=1:length(time)

pause(1/1000)  
    plot(x(i,1)+x1d,0,'ko','Markersize',10,'MarkerFaceColor','green');
    hold all;
    plot(x(i,3)+x2d,0,'ko','Markersize',10,'MarkerFaceColor','red');
    hold off;
    xlabel('DistanciaX(Metros)');
    ylabel('DistanciaY(Metros)');
    grid on;
    axis([-50, 50,-2, 2]);
    drawnow
end

end

function rk=fk(t,x)
m=1;
k1=2;
k2=2;
b=1;
rk=[x(2);-(k1/m)*x(1)-(k2/m)*(x(1)-x(3))-(b/m)*(x(2)-x(4));x(4);-(k2/m)*(x(3)-x(1))-(b/m)*(x(4)-x(2))];
end