You are on page 1of 4

Animação Matlab

Exemplos de figuras:

(0,1) (1,1)
(1,2)

(0,0) (1,0) (0,0) (2,0)


pr = [0 0; 1 0; 1 1; 0 1; 0 0]’ pt = [0 0; 2 0; 1 2; 0 0]’

r n = 0:2*pi/50:2*pi
x = r*cos(n)
y = r*sen(n)
pc = [x; y]

Em geometria computacional é utilizado em lugar do sistema de coordenadas


cartesiano as coordenadas homogêneas, devido às vantagens que oferece no
tratamento algébrico de pontos "no infinito".

A figura deve armazenada numa matriz de coordenadas de pontos, onde cada linha
representa o eixo e cada coluna o conjunto de pontos.

x x2 xn 
p 1
 y1 y2 yn 

Para representar as figuras em coordenada homogêneas:

p(3,:) = 1; % Igual as coordenadas cartesianas

 x1 x2 xn 
p   y1 y2 yn 
 1 1 1 1 
Para plotar

plot(p(1,:),p(2,:));
axis equal;

A figura deve armazenada numa matriz de coordenadas de pontos, onde cada linha
representa o eixo e cada coluna o conjunto de pontos.

Translação

Matriz para mudança do ponto

function newp=move2d(p,dx,dy)
trans= [1 0 dx; 0 1 dy; 0 0 1]
newp = trans*p;

Teste da função de translação

pn = move2D(p,2,5);
plot(pn(1,:),pn(2,:));

Rotação

Matriz de rotação em relação à ORIGEM

function newp=rot2d(p,ang)
ang=ang*pi/180
rot=[cos(ang), -sin(ang), 0; sin(ang), cos(ang), 0; 0 0 1]
newp = rot*p;

Teste da função da rotação

pn = rot2d(p,30);
plot(pn(1,:),pn(2,:));
Mudança de Escala

function newp=esc2d(p,sx,sy)
esc= [sx 0 0; 0 sy 0; 0 0 1]
newp = esc*p;

Teste da função de mudança de escala

pn = esc2d(p,2,2);
plot(pn(1,:),pn(2,:));

Comandos Importantes

 figure('color','white');
 line('x','y');
 line('x','y','color','green','linewidth',3);
 title('nome','color','red');
 h = area(x,y,'facecolor','blue');
 set(h,'xdata',x);
 set(h,'ydata',y);
 pause(n);
 hold on

Curiosidades:

1)

for k = 1:16
plot(fft(eye(k+16)))
axis equal
M(k) = getframe;
end
movie(M,5)

2)

IFES ...

Ferramentas Simulação
by

Turma EN7
clf
line([0 0 1 1 0], [0 1 1 0 0]);

h1 = text(.5, .7, 'IFES ...', ...


'fontangle','italic', ...
'horizontal','center');
set(gca,'visible','off')

h2 = text(.5, .5, 'Ferramentas Simulação', ...


'horizontal', 'center', ...
'fontsize', 30, 'fontname', 'times', ...
'fontweight', 'bold', 'erase', 'xor');

h3 = text(.5, .4, 'by', 'horizontal', 'center');

h4 = text(.5, .3, 'Turma EN7', ...


'fontsize', 16, 'horizontal','center', ...
'erase','xor');

Exemplo de uma animação

corpo=[0 0 1; 1 0 1; 1 2 1; 0 2 1; 0 0 1]';
braco=[1 2 1; 2 2 1; 2 1.5 1; 1 1.5 1; 1 2 1]';
antebraco=[2 2 1; 3 2 1; 3 1.5 1; 2 1.5 1; 2 2 1]';

figure('color','white');

area(corpo(1,:),corpo(2,:),'facecolor','blue');
axis([-0.5 3.5 -1 3]);
hold on;
des2d(braco);
des2d(antebraco);
axis off
hold off

cotovelo=[2 1.75 1]';

for j = 30:30:360

pause(1)
% Move para origem
antebraco = move2d(antebraco,-cotovelo(1),-cotovelo(2));
% Rotaciona
antebraco = rot2d(antebraco,30);
% Move de volta
antebraco = move2d(antebraco,cotovelo(1),cotovelo(2));
% Desenha os objetos
area(corpo(1,:),corpo(2,:),'facecolor','blue');;
hold on;
des2d(braco);
des2d(antebraco);
axis([-0.5 3.5 -1 3]);
axis off
hold off

end

You might also like