A moving line plot in MATLAB figure with animation between 3 points

Hi everyone, I need help to do an animated line for known coordinates
for example :(x1,y1)=(2,1)
(x2,y2)=(3,2)
(x3,y3)=(4,2)
simply i can plot these lines , but don't know how to animate from one point to another point. How can i do this??

3 Kommentare

I'm not sure what you mean by 'animated line' - is it that the point should be moving slowly from x1,y1 to x3,y3 via x2,y2?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Could be something like this then...
It's super inefficient code and can definitely be improved in speed as well as complexity.
x = [2 3 4];
y = [1 2 2];
totaltime = seconds(10);
steptime = totaltime/length(x);
figure;
for ii = 1:length(x)-1
npoints = 999;
pointsx = linspace(x(ii),x(ii+1),npoints);
pointsy = linspace(y(ii),y(ii+1),npoints);
for jj = 1:npoints
pause(seconds(steptime)/npoints);
plot([x(1:ii),pointsx(jj)],[y(1:ii),pointsy(jj)],'-o');
xlim([min(x)*.8 max(x)*1.2]);
ylim([min(y)*.8 max(y)*1.2]);
end
end

Weitere Antworten (1)

Srijan Jain
Srijan Jain am 5 Jul. 2021

0 Stimmen

Hey,
I understand you're trying to animate a line between 2 points.
Hope this helps
Srijan

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by