Волновые колебания мембраны
Принцип мультипликации легко распространить на существенно более сложные задачи анимации. В качестве иллюстрации можно рассмотреть системный пример vibes, демонстрирующий волнообразные колебания тонкой пластины – мембраны. Ниже представлен переработанный файл данного примера, в котором сокращены подробные комментарии на английском языке и введены только для пояснения комментарии на русском языке, их следует изъять при попытке запустить программу:
%Волновые колебания мембраны %Переработка файла VIBES фирмы MathWorks. Inc. if~exist('MovieGUIFlag'): figNumber=0; end; hlpStr=... [' Это пример анимации - наблюдение колебаний '' трехмерной поверхности - мембраны. ']: mvinit(figNumber.hlpStr): % Загрузка данных функции load vibesdat; [n.n] = size(Ll): nh = fix(n/2):. x = (-nh:nh)/nh; % Вычисление коэффициентов clear с for k = 1:12. eval(['c(k) = L' num2str(k) '(24.13)73:']) end; % Установка графических параметров axis([-11-11-11]); caxis(26.9*[-1.5 1]); colormap(hot); hold on% Генерация кадров мультипликации delt = 0.1; nf names =12: M - moviein(nf names): fon k - l:nf names, % Коэффициенты t = k*delt; s = c.*sin(sqnt(1ambda)*t); % Амплитуды L = s(l)*Ll + s(2)*L2 + s(3)*L3 + s(4)*L4 +s(5)*L5 + s(6)*L6 +. S(7)*L7 + s(8)*l_8 + s(9)*L9 + s(10)*L10 +s(ll)*Lll + s(12)*L12; % Скорость мультипликации s = s.* lambda; V = s(l)*Ll + s(2)*L2 +'sC3)*L3 +s(4)*L4 + s(5)*L5 + s(6)*L6 +... s(7)*L7 + s(8)*L8 + s(9)*L9 + s(10)*L10 +s(11)*L11 + s(12)*L12; % График поверхности; цвет задается скоростью V(l:nh.l:nh) = NaN*ones(nh,nh); Cla sunf(x.x.L.V); axis off% Создание кадров мультипликации M(:.k) - mvfname(f1gNumben,nfnames): end: hold off%======================================= % Запись кадров мультипликации mvstone(figNumben, M);Этот пример дан с целью иллюстрации, и подробно эту программу мы описывать не будем. К сожалению, в представленном виде (с русскоязычными комментариями), данная программа MATLAB 6 неработоспособна. Чтобы она работала, эти комментарии должны быть убраны или заменены англоязычными. В этом случае проблем с запуском программы не будет.
