Plotting a circle always around a moving point

Rudrashis Majumder (view profile)

on 4 Mar 2019
Latest activity Commented on by Rudrashis Majumder

on 4 Mar 2019

KSSV (view profile)

I need to plot a circle whose center is a moving point. The point is moving with its path being plotted using "animatedline". However, I want to show only the current circle centering the point at a particular instant and the previous circles are to be cleared. Please help.

KSSV (view profile)

on 4 Mar 2019

x = linspace(0,2*pi) ;
y = cos(x) ;
R = 0.1 ;
for i = 1:length(x)
plot(x(1:i),y(1:i))
axis([0 6 -2 2])
hold on
xc = x(i)+R*cos(x) ;
yc = y(i)+sin(x) ;
plot(xc,yc,'r')
hold off
drawnow
pause(0.1)
end

1 Comment

Rudrashis Majumder

on 4 Mar 2019
Thanks a lot...

Jos (10584) (view profile)

on 4 Mar 2019

Adapted from the help of animatedline:
numpoints = 10000;
x = linspace(0,4*pi,numpoints);
y = sin(x);
pc = [-.1 -.1 .2 .2] ; % position of circle
figure
h = animatedline;
hc = rectangle('Position', [x(1) y(1) 0 0]+pc,'Curvature',1, 'FaceColor','r') ; % draw circle
axis([-pi,5*pi,-1.5,1.5])
for k = 1:numpoints
set(hc,'Position', [x(k) y(k) 0 0] + pc) ; % adjust position of circle
drawnow update
end

1 Comment

Rudrashis Majumder

Rudrashis Majumder (view profile)

on 4 Mar 2019
Thank you very much.