How to achieve real-time graphics in MATLAB?
18 views (last 30 days)
Show older comments
SYED IMTIAZ ALI SHAH on 2 Feb 2020
Answered: Thiago Henrique Gomes Lobato on 2 Feb 2020
I created a ball using MATLAB graphics functions. This ball is supposed to follow equations of motion and fall from certain height. The data I generate follows the laws of motion but the ball does not seem( or it looks too slow) to be falling with the speed that we see in real life. It is like if I am seeing this falling object in slow motion. Is it possible to make MATLAB show us the ball going down with exactly the same look and speed as we normally see in real life?
Thiago Henrique Gomes Lobato on 2 Feb 2020
If you plot your ball in matlab and update the plots there it will never be exactly as fast as a real life example because you have a plotting processing time. If you know the processing time and just skip some frames you may get a reasonable result although a not so smooth one. A solution is to use the videowriter function which has a framing rate that allows you to exactly calculate the time. An example code adpated from the matlab example:
A = rand(300);
v = VideoWriter('newfile.avi');
The default framerate is 30, so if I have 60 images/plots, the duration of the video will be 2 s. In this way you can exactly calculate how much samples you need and the ration of time needed to end up with a real time plot animation.
More Answers (2)
Hello, SYED IMTIAZ ALI SHAH. Please tell me if your ball is moving on the screen. Or do you see a static image? There is a demo in MATLAB - Bouncing Ball. Look. Good luck!
See Matlab help topic: Simulation of a Bouncing Ball.
At Simulink: sldemo_bounce
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!