connecting sinus function with circle through animation

Hi...I am trying to make animation that shows sinus function is a circle as ilustrate in the fig. First my problem is how to rotate the sinus fig (i use camroll (90) but it bit weird). second how to connect the line that walk over sinus and circle?
syms t;
t=0:0.01:2*pi;
x=3*cos(t);
y=3*sin(t);
subplot(2,1,1)
plot(t,y)
subplot(2,1,2)
plot (x,y,'-b');
axis square
camroll(90)

 Akzeptierte Antwort

Cameron
Cameron am 21 Mär. 2023
t=0:0.01:2*pi;
x=3*cos(t);
y=3*sin(t);
tiledlayout(2,1)
nexttile
p1 = plot(t,y);
axis square
camroll(90)
title('t vs. y')
nexttile(2)
p2 = plot(x,y,'--b');
axis square
camroll(90)
title('x vs. y')
h1 = animatedline(p1.Parent,...
'LineStyle','none',...
'Marker','o',...
'MarkerFaceColor','b',...
'MarkerEdgeColor','k');
h2 = animatedline(p2.Parent,...
'LineStyle','none',...
'Marker','o',...
'MarkerFaceColor','b',...
'MarkerEdgeColor','k');
h3 = animatedline(p2.Parent,...
'LineStyle','-',...
'Color','b',...
'Marker','none');
increment = 8;
while true %loop until you close the figure
for k = 1:increment:length(t)
addpoints(h1,t(k),y(k))
addpoints(h2,x(k),y(k))
addpoints(h3,[0,x(k)],[0,y(k)])
drawnow
clearpoints(h1)
clearpoints(h2)
clearpoints(h3)
end
for k2 = length(t):-increment:1
addpoints(h1,t(k2),y(k2))
addpoints(h2,x(k2),y(k2))
addpoints(h3,[0,x(k2)],[0,y(k2)])
drawnow
clearpoints(h1)
clearpoints(h2)
clearpoints(h3)
end
end

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 20 Mär. 2023

Beantwortet:

am 21 Mär. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by