Circle rotating and whirling

6 次查看(过去 30 天)
question.jfif
  4 个评论
DARLINGTON ETAJE
DARLINGTON ETAJE 2019-7-24
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),'-.');

请先登录,再进行评论。

采纳的回答

infinity
infinity 2019-7-25
编辑:infinity 2019-7-25
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.

更多回答(2 个)

darova
darova 2019-7-24
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 个评论
DARLINGTON ETAJE
DARLINGTON ETAJE 2019-7-24
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
darova 2019-7-24
What radius of a circle you want?

请先登录,再进行评论。


DARLINGTON ETAJE
DARLINGTON ETAJE 2019-7-24
the small circle moving around...how can I make it bigger

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by