Я пытаюсь использовать aero.animation для анимации движения ракеты в Matlab. Когда я использую следующий код, он воспроизводит видео, но сохраняет только первый кадр.используя aero.animation для видео
* data
в виде [time, x, y, angle]
матрицы, где все time
, x
, y
и angle
являются nx1
векторы, которые я вычислил заранее. В моем случае n = 1312
и я взял x
и y
как нули векторов столбцов. angle
- это пятая колонка SOLUTION
, которая является матрицей 1312x7, которую я вычислил раньше.
data = [time, zeros(length(time), 1), zeros(length(time), 1), SOLUTION(:, 5)];
h=Aero.Animation;
f=figure;
h.Figure=f;
h.initialize();
h.FramesPerSecond=10
h.TimeScaling = 5;
idx1=h.createBody('testrocket.ac','ac');
h.bodies{1}.TimeseriesSourceType='Array3DoF';
h.bodies{1}.timeseriesSource=data;
h.Camera.offset=[-150 -150 0];
h.show()
h.VideoRecord = 'on';
h.VideoQuality = 50;
h.VideoCompression = 'Motion JPEG AVI'
h.VideoFilename = 'astMotion_JPEG';
h.play()
h.VideoRecord='off';
Код выглядит, как это сейчас, пока видео записи еще и то же изображение в течение нескольких секунд InstEd записи фактического видео с ракетным Movment. (когда я воспроизвожу запись, которую он показывает, как замороженная ситуация).
Спасибо.
это помогло мне получить видео нескольких секунд, но все же образом он показывает в целом видео является первым кадром. как видеозапись 30 секунд того же кадра. – Ben
@ben - Я улучшил свой ответ, надеюсь, что это будет полезно. Удачи .. – mehmet
Прежде всего спасибо за вашу помощь, я попытался сделать то, что вы сказали, и он воспроизводит видео в Matlab медленнее, чем раньше, и записывается как 5 минут видео. старая проблема все еще существует, что, когда я воспроизвожу видео, записанное в медиаплеере, например, оно показывает мне 5 минут того же изображения. – Ben