içinde bir eğri boyunca hareket eden noktalar Bir eğri boyunca hareket eden bir noktayı göstermek için bana verilen bir kod parçasını düzenlemeyi başardım.MATLAB
Bu eğri boyunca hareket eden iki bağımsız nokta oluşturmak veya grafikte hareket eden başka bir nokta gösteren ikinci bir rakam oluşturmak için bunu düzenlemenin bir yolunu bulmaya çalışıyorum. Ana nokta, noktaların birbirinden bağımsız olması ve böylece bir algoritmanın bunlara uygulanabilmesidir.
Şu anda eğri boyunca hareket eden tek bir noktayı verir Aşağıdaki kodu vardır:
%# control animation speed
DELAY = 0.01;
numPoints = 600;
%# create data
x = linspace(0,1,numPoints);
f = 5;
C = 1-exp(-f);
y = C*(1-(exp(-f*x)));
%# plot graph
figure('DoubleBuffer','on') %# no flickering
plot(x,y, 'LineWidth',2), grid on
xlabel('x'), ylabel('y'), title('')
%# create moving point + coords text
hLine = line('XData',x(1), 'YData',y(1), 'Color','r', ...
'Marker','o', 'MarkerSize',6, 'LineWidth',2);
hTxt = text(x(1), y(1), sprintf('(%.3f,%.3f)',x(1),y(1)), ...
'Color',[0.2 0.2 0.2], 'FontSize',8, ...
'HorizontalAlignment','left', 'VerticalAlignment','top');
%# infinite loop
i = 1; %# index
while true
%# update point & text
set(hLine, 'XData',x(i), 'YData',y(i))
set(hTxt, 'Position',[x(i) y(i)], ...
'String',sprintf('(%.3f,%.3f)',[x(i) y(i)]))
drawnow %# force refresh
%#pause(DELAY) %# slow down animation
i = rem(i+1,numPoints)+1; %# circular increment
if ~ishandle(hLine), break; end %# in case you close the figure
end