A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Luiz Gustavo Supriano Roberto Basting Junior

Apresentações semelhantes


Apresentação em tema: "Luiz Gustavo Supriano Roberto Basting Junior"— Transcrição da apresentação:

1 Luiz Gustavo Supriano Roberto Basting Junior
Animações em MATLAB Luiz Gustavo Supriano Roberto Basting Junior Universidade Estadual Paulista Campus de Rio Claro

2 Introdução O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz A partir das matrizes conseguimos plotar seus respectivos gráficos Plotando essa seqüência de gráficos sobrepostos, podemos gerar uma animação

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: Superfícies: plot3(x,y,t)
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 Animação gerada 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([ ]) F=getframe mov = addframe(mov,F); end mov=close(mov); Animação gerada

11 Exemplos Animação gerada 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) Animação gerada

12 Exemplos Animação gerada 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([ ]) axis off; F=getframe; m=addframe(m,F) end m=close(m) Animação gerada

13 Exemplos Animação gerada m=avifile('teste5.avi')
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 = [ ]; for tspan=1:0.05:10 [t,y] = tspan],yo); plot(t,y(:,1)); f=getframe; m=addframe(m,f) end m=close(m) Animação gerada

14 Exemplos m=avifile('teste2.avi'); yo = [0.1; 0.1; 0.1];
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] = tspan],yo); plot(t,y(:,3)); f=getframe m=addframe(m,f) end m=close(m) Animação gerada

15 Exemplos Animação gerada m=avifile('eod.avi'); yo = [0.1; 0.1; 0.1];
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] = t],yo); plot(y(:,1),y(:,3)); f=getframe m=addframe(m,f) end m=close(m); Animação gerada

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 Universidade Estadual Paulista
Contato Luiz Gustavo Supriano – Roberto Basting Junior – Universidade Estadual Paulista Instituto de Geociências e Ciências Exatas Departamento de Estatística, Matemática Aplicada e Computação


Carregar ppt "Luiz Gustavo Supriano Roberto Basting Junior"

Apresentações semelhantes


Anúncios Google