| Aerospace Toolbox | ![]() |
Animate Aero.Animation object given position/angle time series
play(h)
play.h
play(h) and play.h 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:
| 'Timeseries' | MATLAB® time series data with six values per time: x y z phi theta psi The values are resampled. |
| 'Simulink.Timeseries' | Simulink.Timeseries (Simulink® signal logging):
|
| 'StructureWithTime' | Simulink struct with time (Simulink root outport logging 'Structure with time'):
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 time advancement algorithm used by play is based on animation frames counted by ticks:
ticks = ticks + 1; time = tstart + ticks*FramesPerSecond*TimeScaling;
where
| TimeScaling | Specify the seconds of animation data per second of wall-clock time. |
| FramesPerSecond | Specify 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.
Note 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. |
Animate the body, idx1, for the duration of the time series data.
h = Aero.Animation;
h.FramesPerSecond = 10;
h.TimeScaling = 5;
idx1 = h.createBody('pa24-250_orange.ac','Ac3d');
load simdata;
h.Bodies{1}.TimeSeriesSource = simdata;
h.show();
h.play();show, createBody, updateBodies, updateCamera, initialize
![]() | play (Aero.FlightGearAnimation) | play (Aero.VirtualRealityAnimation) | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |