Animacja komputerowa
w programie MATLAB
dr inż. Henryk Olszewski
2
Animacja – przykłady (1)
Animacja sprężyny:
clf
m=moviein(10);
% przygotowanie pamięci
v=0:0.1:6*pi;
for i=1:10
plot(v*i/5,sin(v))
% rysowanie
axis([0,12*pi,-1,1])
% przeskalowanie
m(:,i) = getframe;
end;
clf
movie(m,-6)
% odtworzenie filmu
3
Animacja – przykłady (1)
Animacja sprężyny:
4
Animacja – przykłady (2)
Logo programu MATLAB
Załóżmy, że plik peaks.m zawiera definicję funkcji drgań peaks,
wówczas:
Z = peaks; surf(Z)
M = moviein(20);
axis manual % zamrozone zostają osie wykresu
set(gca,'nextplot','replacechildren');
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
M(:,j) = getframe;
end
movie(M,2)
% odtworzenie filmu 2 razy
5
Animacja – przykłady (2)
Logo programu MATLAB
Z = peaks; surf(Z)
M = moviein(20);
mov = avifile('logo.avi')
axis manual % zamrozone zostają osie wykresu
set(gca,'nextplot','replacechildren');
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
M(:,j) = getframe;
mov = addframe(mov,M(:,j));
end
movie(M) % odtworzenie filmu 20 razy
mov = close(mov);
6
Animacja – przykłady (2)
Logo programu MATLAB
Dziękuję za uwagę