A moving line plot in MATLAB figure with animation between 3 points
32 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rajawarman Thiruselvam
am 5 Jul. 2021
Beantwortet: Johannes Hougaard
am 6 Jul. 2021
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
Akzeptierte Antwort
Johannes Hougaard
am 6 Jul. 2021
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
0 Kommentare
Weitere Antworten (1)
Srijan Jain
am 5 Jul. 2021
Hey,
I understand you're trying to animate a line between 2 points.
I would suggest you to look into: Update figures and process callbacks - MATLAB drawnow
Hope this helps
Srijan
0 Kommentare
Siehe auch
Kategorien
Mehr zu Animation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!