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

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

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

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

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

imshow(frames(50).cdata)

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

imshow(frames(101).cdata)

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

Создайте движущийся круговой объект 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)

Figure contains an axes object. The axes object contains 2 objects of type parameterizedfunctionline, text.

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

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

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

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

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

imshow(frames(11).cdata)

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

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

свернуть все

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

Аргументы name-value

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

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

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

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

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

Пример: 20

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

Пример: true

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

свернуть все

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

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

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

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

Введенный в R2019a