Anima  es em MATLAB

Anima es em MATLAB PowerPoint PPT Presentation


  • 434 Views
  • Uploaded on
  • Presentation posted in: General

Introdu

Download Presentation

Anima es em MATLAB

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1. Animações em MATLAB Luiz Gustavo Supriano Roberto Basting Junior

3. Como plotar gráficos Existem dois tipos de gráficos em Matlab: gráficos 2D e gráficos 3D Gráficos 2D: Plot: função básica para desenhar gráficos em 2D exemplo: plot(x,y) onde: x é a definição do intervalo que queremos plotar y é a função que desejamos plotar

4. Como plotar gráficos Gráficos 3D: Curvas: plot3(x,y,t) Superfícies: surf(X,Y,Z) => superfície preenchida mesh(X,Y,Z) => malha

5. Animação Animação = seqüência de gráficos plotados sobrepostos Requisitos: Saber o que se deseja animar Descobrir as funções que serão utilizadas Gerar uma matriz de posição

6. Animação Objetivos: Melhor análise de determinados fenômenos através de recursos visuais Visualização das iterações de uma função Simulação de situações reais Criação de filmes quando os cálculos exigem um tempo significativo e as imagens resultantes são bastantes complexas

7. Como animar? O Matlab possui funções específicas para criação de animações (vídeos): Avifile(‘nome_arquivo.avi') ? gera arquivo avi para salvar a animação Close(ponteiro do arquivo) ? Fecha o arquivo de filme.

8. Como animar? Getframe ? retorna cada pixel da imagem para a variável de frames ; Addframe(ponteiro do arquivo,variável de frames ) ? copia cada quadro do gráfico plotado para o final do arquivo de vídeo; Axis([xi xf yi yf zi zf]) ? Fixa o tamanho dos eixos das coordenadas;

9. Como animar? Movie(array_pixel) ? executa o filme Movie(array_pixel,n) ? executa o filme n vezes Aviread(nome_arquivo) ? lê um arquivo de filme avi

10. Exemplos mov = avifile('animaçao1.avi') t = 0:pi/100:10*pi; for i=0:1:50 plot3(sin(t+i).*cos(t+i),sin(t+i),t+i) hold on axis off axis([-1 1 -1 1 0 100]) F=getframe mov = addframe(mov,F); end mov=close(mov);

11. Exemplos video=avifile('trajetoria.avi') s0=20; v0=15; a=2; for i=1:5:100 y=s0+v0*i+(a*(i.^2))/2; xlabel('tempo'); ylabel('espaço'); plot(i,y,'bo'); hold on; axis off; F=getframe; video=addframe(video,F); end video=close(video)

12. Exemplos m=avifile('superficie.avi') x=-3:3; y=1:5; [X,Y]=meshgrid(x,y); for i=-100:1 Z=((X+Y).^2)/2-(X.^3); [X,Y,Z]=peaks(49) surfl(X,Y,Z./i); axis([-4 4 -5 5 -10 10]) axis off; F=getframe; m=addframe(m,F) end m=close(m)

13. Exemplos function exemplo=funcao(t,y) B1=1; B2=1; B3=1; A1=1; A2=1; exemplo = [y(2);(-(y(1)-y(3))/B1)/A1; y(4);(-(y(3)-y(5))/B2 - (y(1)-y(3))/B1)/A2; y(6); (-(y(5)/B3 - (y(3)-y(5))/B2))/A2; ]; m=avifile('teste5.avi') yo = [0.1 0.1 0.1 0.1 0.1 0.1]; for tspan=1:0.05:10 [t,y] = ode45(@funcao,[0 tspan],yo); plot(t,y(:,1)); f=getframe; m=addframe(m,f) end m=close(m)

14. Exemplos function yprime=vdpol(t,y) a=0.398; b=2; c=4; yprime = [-(y(2)+y(3));y(1)+a.*y(2); b+y(3).*(y(1)-c)]; m=avifile('teste2.avi'); yo = [0.1; 0.1; 0.1]; for tspan=1:5:1000 [t,y] = ode45(@vdpol,[0 tspan],yo); plot(t,y(:,3)); f=getframe m=addframe(m,f) end m=close(m)

15. Exemplos function yprime=vdpol(t,y) a=0.398; b=2; c=4; yprime = [-(y(2)+y(3));y(1)+a.*y(2); b+y(3).*(y(1)-c)]; m=avifile('eod.avi'); yo = [0.1; 0.1; 0.1]; for t=1:5:1000 [t,y] = ode45(@vdpol,[0 t],yo); plot(y(:,1),y(:,3)); f=getframe m=addframe(m,f) end m=close(m);

16. Bibliografia MATLAB 6 : curso completo Duane Hanselman, Bruce Littlefield Tradução Cláudia Sant'Ana Martins Editora Prentice Hall, São Paulo 2003. Amaro, R.; Takahagi, D. N. Seminário: Animação em Matlab Bovolenta, J. E.; Coyado, A. F. Seminário: Matlab

17. Contato Luiz Gustavo Supriano – [email protected] Roberto Basting Junior – [email protected] Universidade Estadual Paulista Instituto de Geociências e Ciências Exatas Departamento de Estatística, Matemática Aplicada e Computação

  • Login