Class: Aero.Animation
Package: Aero

Animate Aero.Animation object given position/angle time series




play(h) and animate the loaded geometry in h for the current TimeseriesDataSource at the specified rate given by the 'TimeScaling' property (in seconds of animation data per second of wall-clock time) and animated at a certain number of frames per second using the 'FramesPerSecond' property.

The time series data is interpreted according to the 'TimeseriesSourceType' property, which can be one of:


MATLAB® time series data with six values per time:

x y z phi theta psi

The values are resampled.


Simulink.Timeseries (Simulink® signal logging):

  • First data item

    x y z

  • Second data item

    phi theta psi


Simulink struct with time (for example, Simulink root outport logging 'Structure with time'):

  • signals(1).values: x y z

  • signals(2).values: phi theta psi

Signals are linearly interpolated vs. time using interp1.

'Array6DoF'A double-precision array in n rows and 7 columns for 6-DoF data: time x y z phi theta psi. If a double-precision array of 8 or more columns is in 'TimeseriesSource', the first 7 columns are used as 6-DoF data.
'Array3DoF'A double-precision array in n rows and 4 columns for 3-DoF data: time x z theta. If a double-precision array of 5 or more columns is in 'TimeseriesSource', the first 4 columns are used as 3-DoF data.
'Custom'Position and angle data is retrieved from 'TimeseriesSource' by the currently registered 'TimeseriesReadFcn'.

The following are limitations for the TStart and TFinal values:

  • TStart and TFinal must be numeric.

  • TStart and TFinal cannot be Inf or NaN.

  • TFinal must be greater than or equal to TStart.

  • TFinal cannot be greater than the maximum Timeseries time.

  • TStart cannot be less than the minimum Timeseries time.

The time advancement algorithm used by play is based on animation frames counted by ticks:

ticks = ticks + 1;
time  = tstart + ticks*FramesPerSecond*TimeScaling;


TimeScalingSpecify the seconds of animation data per second of wall-clock time.
FramesPerSecondSpecify the number of frames per second used to animate the 'TimeseriesSource'.

For default 'TimeseriesReadFcn' methods, the last frame played is the last time value.

Time is in seconds, position values are in the same units as the geometry data loaded into the animation object, and all angles are in radians.


If there is a 15% difference between the expected time advance and the actual time advance, this method will generate the following warning:

TimerPeriod has been set to <value>. You may wish to modify the animation 
TimeScaling and FramesPerSecond properties to compensate for the 
millisecond limit of the TimerPeriod.  See documentation for details.

Input Arguments

hAnimation object.


Animate the body, idx1, for the duration of the time series data.

h = Aero.Animation;
h.FramesPerSecond = 10;
h.TimeScaling = 5;
idx1 = h.createBody('','Ac3d');
load simdata;
h.Bodies{1}.TimeSeriesSource = simdata;;;
Was this topic helpful?