animationToFrame

Возвратите структуру систем координат от объектов Animation

Описание

пример

frames = animationToFrame возвращает массив структур систем координат от объектов Animation. Объекты Animation должны быть созданы с помощью fanimator функция.

пример

frames = animationToFrame(fig) возвращает массив структур систем координат от объектов Animation в фигуре fig.

пример

frames = animationToFrame(___,Name,Value) использует заданный Name,Value парные аргументы. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте анимацию движущегося круга и возвратите определенные системы координат анимации.

Во-первых, создайте две символьных переменные, t и x. Переменная t задает параметр времени анимации. Используйте t установить центр круга в (t,1) и x параметрировать периметр круга в области значений [-pi pi]. Создайте круговой объект Animation с помощью fanimator. Установите ось X и ось Y быть равной длиной.

syms t x
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

По умолчанию, fanimator генерирует объект Animation с 10 системами координат в единицу времени в области значений t от 0 до 10. Объект Animation по умолчанию содержит в общей сложности 101 систему координат. Используйте команду playAnimation проигрывать анимацию.

Затем возвратите массив структур систем координат от объекта Animation при помощи animationToFrame.

frames = animationToFrame

frames=1×101 struct array with fields:
    cdata
    colormap

Структура frames содержит два поля. cdata поле хранит данные изображения как массив uint8 значения.

Восстановите кадры анимации при помощи imshow функция. Например, отобразите 50-ю систему координат и последнюю систему координат анимации.

imshow(frames(50).cdata)

imshow(frames(101).cdata)

Создайте движущийся круговой объект Animation и объект Animation таймера. Возвратите сгенерированные кадры анимации в обратном порядке.

Во-первых, создайте две символьных переменные, t и x. Переменная t задает параметр времени анимации. Создайте окно рисунка для анимации.

syms t x
fig1 = figure;

Создайте круговой объект Animation с помощью fanimator. Используйте t установить центр круга в (t,1) и x параметрировать периметр круга в области значений [-pi pi]. Установите ось X и ось Y быть равной длиной.

fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

Затем используйте text функция, чтобы добавить часть текста, чтобы считать прошедшее время. Используйте num2str преобразовывать параметр времени в строку.

hold on
fanimator(@(t) text(8,3,"Timer: "+num2str(t,2)))
hold off

По умолчанию, fanimator создает системы координат движения остановки с 10 системами координат в единицу времени в области значений t от 0 до 10. Объект Animation по умолчанию содержит в общей сложности 101 систему координат. Используйте команду playAnimation проигрывать анимацию.

Затем возвратите массив структур систем координат от анимации в фигуре fig при помощи animationToFrame. Возвратите кадры анимации в обратном порядке путем установки 'Backwards' опция к true. Установите частоту кадров в единицу времени к 2 возвращать в общей сложности 21 систему координат.

frames = animationToFrame(fig1,'Backwards',true,'FrameRate',2)

frames=1×21 struct array with fields:
    cdata
    colormap

Структура frames содержит два поля. cdata поле хранит данные изображения как массив uint8 значения.

Восстановите кадры анимации при помощи imshow функция. Например, отобразите первую систему координат и 11-ю систему координат анимации в новом окне рисунка.

fig2 = figure;
imshow(frames(1).cdata)

imshow(frames(11).cdata)

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

свернуть все

Плановый показатель в виде Figure объект. Для получения дополнительной информации о Figure объекты, смотрите figure.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Backwards',true,'AnimationRange',[-2 5]

Область значений параметра времени анимации в виде двухэлементного вектора-строки. Этими двумя элементами должны быть действительные значения, которые увеличиваются.

Пример: [-2 4.5]

Частота кадров в виде положительного значения. Частота кадров задает количество систем координат в единицу времени когда вы возвращающий кадры анимации как массив структур.

Пример: 20

Обратная опция в виде логического значения (булевская переменная). Если вы задаете true, затем функция возвращает кадры анимации назад или в обратном порядке.

Пример: true

Выходные аргументы

свернуть все

Кадры анимации, возвращенные как массив структур с двумя полями:

  • cdata — Данные изображения, сохраненные как массив uint8 значения. Размер массива данных изображения зависит от вашего разрешения экрана.

  • colormap — Палитра. В системах истинного цвета это поле пусто.

animationToFrame функция возвращает структуру кадров анимации в том же формате как выходной параметр, возвращенный getframe функция.

Введенный в R2019a