A moving point plot in MATLAB figure with animation between 2 point
3 次查看(过去 30 天)
显示 更早的评论
Hi everybody; i want to make a moving point animation between a = [41.50,-70.95] b = [ 41.80 , -70.5].How can i do this?
0 个评论
采纳的回答
Geoff Hayes
2014-12-29
Farhad - what kind of animation do you want? Should the point follow a straight line, or do something else? If the former, then try the following
a = [41.50, -70.95];
b = [ 41.80 , -70.50];
% straight line function from a to b
func = @(x)a(2) + (a(2)-b(2))/(a(1)-b(1))*(x-a(1));
% determine the x values
x = linspace(a(1),b(1),50);
% determine the y values
y = func(x);
% create the figure
figure;
% get a handle to a plot graphics object
hPlot = plot(NaN,NaN,'ro');
% set the axes limits
xlim([min(a(1),b(1)) max(a(1),b(1))]);
ylim([min(a(2),b(2)) max(a(2),b(2))]);
% iterate through each point on line
for k=1:length(x)
% update the plot graphics object with the next position
set(hPlot,'XData',x(k),'YData',y(k));
% pause for 0.5 seconds
pause(0.5);
end
So on each iteration of the for loop, we just replace the (x,y) coordinate of the last drawn point with the new one and then wait for half a second before drawing the next point, which creates a kind of animation.
7 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!