MATLAB Answers

0

Circle rotating and whirling

Asked by DARLINGTON ETAJE on 24 Jul 2019
Latest activity Edited by infinity
on 25 Jul 2019
question.jfif

  4 Comments

Show 1 older comment
darova
on 24 Jul 2019
Can you please show your attempts? What did you try already?
radius = 5;
center = [10 15];
rotation = pi/3;
translation = [-0.5 -0.6];
rotTForm = [cos(rotation) sin(rotation); -sin(rotation) cos(rotation)];
viscircles(center,radius,'Color','b');
hold on;
%Circle just needs to be translated, as rotation won't have any effect on
%visuals
% viscircles(center+translation,radius,'Color','r');
% centerLines = center + [0 radius; 0 0; radius 0];
% rotatedLines = (centerLines - center)*rotTForm + center + translation;
% plot(centerLines(:,1), centerLines(:,2),'-.');
% hold on
% plot(rotatedLines(:,1), rotatedLines(:,2),'-.');
not exactly though

Sign in to comment.

3 Answers

darova
Answer by darova
on 24 Jul 2019

Look at my idea. Do you like it?
t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(3*x,3*y) % plot circle of radius 10
axis equal
hold on
for t0 = t
h = plot(2*cos(t0),2*sin(t0),'or');
pause(0.03)
delete(h)
end
hold off

  2 Comments

I like your idea...how do I get the inner circle to be bigger...meaning how do I control the radius size of the bigger circle and the inner circle
darova
on 24 Jul 2019
What radius of a circle you want?

Sign in to comment.


Answer by DARLINGTON ETAJE on 24 Jul 2019

the small circle moving around...how can I make it bigger

  0 Comments

Sign in to comment.


Answer by infinity
on 25 Jul 2019
Edited by infinity
on 25 Jul 2019

Hello,
You can also refer this code,
close all
t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
r1 = 3;
plot(r1*x,r1*y) % plot circle of radius 3
r2 = 2;
r3 = 1;
x2 = r2*cos(-t);
y2 = r2*sin(-t);
axis equal
hold on
for i = 1:length(t)
center = [x2(i),y2(i)];
h = viscircles(center,r3,'color','r');
pause(0.1)
delete(h)
end
hold off
where "r1" is radius of circle 1, and r3 is radius of inner circle.

  0 Comments

Sign in to comment.