Make an asterisk or point move sinusoidally

Hi, I plotted an asterisk on the image mentioned in the code below. I am supposed to get the asterisk to move in a sinusoidal motion directly on the image. However, with my code, I am getting the asterisk on the image seperately and then a plot of a sine wave separately. How do I combine the two?

1 Kommentar

Cris LaPierre
Cris LaPierre am 1 Aug. 2020
Please copy and paste your code rather than sharing a screenshot of it.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Cris LaPierre
Cris LaPierre am 1 Aug. 2020

0 Stimmen

Your code is written to create 2 separate figures. The figure command explicitly tells MATLAB to create a new figure window rather than plotting into the current axes.
In order to combine your two figures onto the same axes, you will need to use the command hold on. Once completed, turn hold off.
Consider this example using an image included with MATLAB.
img = imread('peppers.png')
imshow(img)
hold on
h=plot(100,300,'w*');
hold off
Then, if I wanted to move the asterisk up and down, just change the YData property using the line object variable h:
h.YData = 100;
If I wanted to make it move sinusoidally, I could update the XData and YData properties inside a for loop. You might need to add a short pause in the loop so you can actually see the motion.

3 Kommentare

SS
SS am 1 Aug. 2020
Bearbeitet: SS am 1 Aug. 2020
Will try this. Thank you!
SS
SS am 1 Aug. 2020
I did what you suggested and it all worked! However because the image and the plot are overlayed, there is some strange flickering going on when I run it. Do I use a double buffer for this issue
Cris LaPierre
Cris LaPierre am 1 Aug. 2020
Not sure. I just tried it on my computer and it didn't flicker at all. If could be due to your graphics card, or it might be related to the size of your image. You might see if some suggestions in this post are helpful.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

SS
am 1 Aug. 2020

Kommentiert:

am 1 Aug. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by