How to make a video from comet(x, y) command?

9 Ansichten (letzte 30 Tage)
N/A
N/A am 6 Nov. 2023
Beantwortet: Walter Roberson am 2 Jan. 2024
I am trying to record a movie using the comet(x, y) command. To record a movie I use the following commands:
drawnow
movieVector(k) = getframe(gcf);
these are inside a lopp and:
v = VideoWriter('L3 Orbits', 'MPEG-4');
v.FrameRate = 100;
open(v);
writeVideo(v, movieVector)
close(v);
which are outside of the loop.
The issue is I need to capture more frames than just one frame per trajectory. I don't know how to do this.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Jan. 2024
You cannot do this while using comet() . comet() does not return until all of the drawing is complete .
These days comet() is implemented in terms of animatedLine() and addpoints() and drawnow() . That is probably the same strategy you should use to create the movie.

Weitere Antworten (1)

Balaji
Balaji am 7 Nov. 2023
Hi Mark,
To capture more frames per trajectory when recording a movie using the `comet` command in MATLAB, you can modify your code as follows:
v = VideoWriter('L3 Orbits', 'MPEG-4');
v.FrameRate = 100;
open(v);
for k = 1:numTrajectories
comet(x, y);
numFramesPerTrajectory = 100;
movieVector = struct('cdata', cell(1, numFramesPerTrajectory), 'colormap', cell(1, numFramesPerTrajectory));
for frame = 1:numFramesPerTrajectory
drawnow;
movieVector(frame) = getframe(gcf);
end
writeVideo(v, movieVector);
end
close(v);
Thanks,
Balaji
  2 Kommentare
N/A
N/A am 7 Nov. 2023
I still do not get a video output.
I've attached the main script 'Comet_Plot.m' and the supporting function files: 'pcr3bp.m', 'trajGet3BP.m', and 'Rotation_Rot2Iner.m'.
Balaji
Balaji am 2 Jan. 2024
Please insert the following line of code after the `movie_vector` has finished updating, at line 109 in `Comet_Plot.m`:
writeVideo(v, movieVector);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Orange finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by