Вращение фигуры — логотипа MATLAB
Рассмотрим вначале не очень сложный пример вращения сложной трехмерной поверхности — логотипа системы MATLAB, который представлен файлами logo.m и logo.mat. Ниже представлен фрагмент программы, обеспечивающий вращение этой поверхности (фигуры) относительно осей системы координат:
if ~exist('MovieGUIFlag'). figNumber=0; end;
load logo
h=surfl(L.source);
colormap(M);
ax=[7 52 7 52 -.5 .8]:
axis(ax);
axis on:
shading interp;
m=moviein(25):
for n=l:25.
rotate(h.[0 90],15.[21 21 0]);
h=surfl(get(h.'XData'),get(h.'YData').
get(h.'ZData'),source);
axis(ax);
axis on;
shading interp;
m(:,n)=mvframe(figNumber,24); end;
mvstoretfigNumber.m);
Эта программа имеет два блока: в первом задается исходная функция и ее образ, а во втором (с циклом for) выполняется создание кадров и их последовательное воспроизведение, создающее эффект анимации. На рис. 7.3 показан стоп-кадр полученной анимации.
Рис. 7.3. Стоп-кадр программы, обеспечивающей вращение фигуры — логотипа MATLAB