1 / 17

Anima es em MATLAB

Introdu

Jims
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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 – luizgustavo@supriano.com Roberto Basting Junior – basting_jr@yahoo.com.br Universidade Estadual Paulista Instituto de Geociências e Ciências Exatas Departamento de Estatística, Matemática Aplicada e Computação

More Related