movie

Проигрывайте зарегистрированные кадры фильма

Описание

пример

movie(M) проигрывает кадры фильма в массиве M однажды. Чтобы создать кадр фильма из текущей фигуры или осей, смотрите getframe.

пример

movie(M,n) проигрывает фильм n число раз. Можно задать n как числовой массив, где первый элемент массива задает, число раз, чтобы проигрывать фильм и остающиеся элементы составляет список систем координат, чтобы вопроизвести последовательно в фильме.

пример

movie(M,n,fps) задает количество кадров в секунду fps в котором можно проигрывать фильм.

пример

movie(h,...) проигрывает фильм, сосредоточенный на рисунке или осях, идентифицированных фигурой или объектом осей h. Определение фигуры или осей позволяет MATLAB® соответствовать фильму к доступному размеру.

пример

movie(h,M,n,fps,loc) проигрывает фильм в положении, заданном четырехэлементным массивом loc в текущей фигуре.

Примеры

свернуть все

Используйте getframe функция в цикле, чтобы записать системы координат peaks функция, взятая в качестве примера, затем проигрывайте кадры фильма однажды.

Создайте figure объект h. Инициализируйте объемную поверхностную диаграмму peaks функциональный Z. Настройте оси вращения.

h = figure;
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';

Предварительно выделите массив с 40 элементами M сохранить кадры фильма.

loops = 40;
M(loops) = struct('cdata',[],'colormap',[]);

Для каждой итерации j, получите каждый график функционального X как отдельная система координат. Сохраните систему координат в M.

Установите 'Visible' свойство фигуры возражает против 'off' скрыть объемные поверхностные диаграммы при вычислении X.

h.Visible = 'off';
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    M(j) = getframe;
end

Установите 'Visible' свойство фигуры к 'on' и проигрывайте фильм в M однажды.

h.Visible = 'on';

Figure contains an axes. The axes contains an object of type surface.

movie(M);

Просмотрите графики фигуры, в то время как они вычисляются. Проигрывайте массив фильма однажды.

Создайте figure объект h и инициализируйте объемную поверхностную диаграмму. Настройте оси вращения.

h = figure;
Z = peaks;
surf(Z)
axis tight manual

Figure contains an axes. The axes contains an object of type surface.

ax = gca;
ax.NextPlot = 'replaceChildren';

Предварительно выделите массив с 40 элементами M сохранить кадры фильма.

loops = 40;
M(loops) = struct('cdata',[],'colormap',[]);

Получите каждый график функционального X как отдельная система координат и хранят их в M.

for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    M(j) = getframe;
end

Figure contains an axes. The axes contains an object of type surface.

Проигрывайте фильм в M однажды.

movie(M);

Проигрывайте четыре системы координат массива фильма дважды.

Создайте figure объект h и инициализируйте объемную поверхностную диаграмму. Настройте оси вращения.

h = figure;
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';

Предварительно выделите массив с 40 элементами M сохранить кадры фильма.

loops = 40;
M(loops) = struct('cdata',[],'colormap',[]);

Получите каждый график функционального X как отдельная система координат и хранят их в M.

Установите 'Visible' свойство фигуры возражает против 'off'.

h.Visible = 'off';
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    M(j) = getframe;
end

Установите 'Visible' свойство фигуры к 'on'. Проигрывайте первые, пятнадцатые, двадцать третьи, и тридцать шестые системы координат в фильме в последовательном порядке дважды. Установите фильм проигрывать 12 кадров в секунду.

h.Visible = 'on';

Figure contains an axes. The axes contains an object of type surface.

movie(M,[2 1 15 23 36],12);

Задайте количество кадров в секунду, на уровне которых можно проигрывать фильм.

Создайте figure объект h и инициализируйте объемную поверхностную диаграмму. Настройте оси вращения.

h = figure;
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';

Предварительно выделите массив с 40 элементами M сохранить кадры фильма.

loops = 40;
M(loops) = struct('cdata',[],'colormap',[]);

Получите каждый график функционального X как отдельная система координат и хранят их в M.

Установите 'Visible' свойство фигуры возражает против 'off'.

h.Visible = 'off';
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    M(j) = getframe;
end

Установите 'Visible' свойство фигуры к 'on'. Проигрывайте фильм однажды на уровне 6 кадров в секунду.

h.Visible = 'on';

Figure contains an axes. The axes contains an object of type surface.

movie(M,1,6);

Проигрывайте кадры фильма в левом нижнем углу фигуры.

Создайте figure объект h и инициализируйте объемную поверхностную диаграмму. Настройте оси вращения.

h = figure;
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';

Предварительно выделите массив с 40 элементами M сохранить кадры фильма.

loops = 40;
M(loops) = struct('cdata',[],'colormap',[]);

Установите 'Visible' свойство фигуры возражает против 'off'. Получите каждую фигуру в указателе h как отдельная система координат и хранят их в M.

h.Visible = 'off';
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    M(j) = getframe(h);
end

Установите 'Visible' свойство фигуры к 'on'. Проигрывайте фильм в M однажды на уровне 12 кадров в секунду и со смещением 30 пикселей в направлениях X и Y. Задайте обрабатывают h проигрывать фильм в текущей фигуре.

h.Visible = 'on';

Figure contains an axes. The axes contains an object of type surface.

movie(h,M,1,12,[30 30 0 0]);

Входные параметры

свернуть все

Массив кадров фильма в виде массива структур, где каждая структура содержит данные изображения, полученные в текущей фигуре или осях, когда они появляются на экране. Каждая строка в M соответствует одному кадру фильма.

Можно использовать getframe функционируйте, чтобы получить и сохранить данные изображения как структуру с полями cdata и colormap. Для получения дополнительной информации о cdata свойство изображения и colormap возразите, смотрите Свойства изображения и colormap.

Число раз, чтобы проигрывать фильм на рисунке в виде числового массива. Если вы не задаете nфильм будет только проигрывать фильм однажды. Если n отрицательно, каждый цикл показывают вперед затем назад.

Если вы задаете n как вектор, первым элементом является число раз, чтобы проигрывать фильм, и остающиеся элементы составляют список систем координат, чтобы вопроизвести в фильме.

Например, если M состоит из четырех кадров фильма и n массив с элементами n = [10 4 4 2 1], затем movie проигрывает фильм в M десять раз, и фильм состоит из четвертой системы координат, сопровождаемой четвертой системой координат снова, сопровождаемой второй системой координат, и наконец первой системой координат.

Кадры в секунду в виде числового скаляра. Если вы не задаете fpsфильм будет проигрывать 12 кадров в секунду. Если ваша машина не может достигнуть скорости, которую вы задаете как fps, это будет проигрывать фильм максимально быстро.

Указатель графического объекта в виде указателя осей или указателя фигуры. Указатель по умолчанию h gca, который возвращает текущую систему координат или график для текущей фигуры. Для получения дополнительной информации о gca функционируйте, смотрите gca.

Если вы хотите проигрывать фильм на рисунке вместо осей, задайте указатель фигуры (или gcf) в качестве первого аргумента: фильм (figure_handle,...).

Вектор местоположения в виде четырехэлементного числового массива, [x y 0 0], где левый нижний угол кадра фильма привязывается в координатах, заданных первыми двумя элементами в массиве. Координаты заданы в loc относительно левого нижнего угла фигуры или осей, заданных указателем h, и находятся в модулях пикселей. movie функция игнорирует последние два элемента loc.

Советы

  • movie функционируйте использует размер фигуры по умолчанию 560 420 и не изменяет размер фигур, чтобы соответствовать фильмам большими или меньшими системами координат. Чтобы вместить другие форматы кадра, можно изменить размер фигуры, чтобы соответствовать фильму.

  • Буферизация фильма помещает все системы координат в память. В результате на Microsoft® Windows® и возможно других платформах, длинный фильм (порядка нескольких сотен систем координат) может исчерпать память, в зависимости от системных ресурсов. В таких случаях выпущено сообщение об ошибке:

    ??? Error using ==> movie 
    Could not create movie frame

    Можно прервать фильм путем ввода Ctrl-C.

Смотрите также

| |

Представлено до R2006a