How to make circular Ring?

26 次查看(过去 30 天)
i want to make a ring. I have two circles of smaller and bigger radius and I want to substract smaller circle from bigger circle to make a ring. Please help me.
I have the code attached here.
L = 40; % Length of rectangle W = 80; % Width of rectangle angle = 0:2*pi/360:2*pi; % Angle of bending C = [L/2 0]; % centre of circle Rin = 15; %radius of inner circle Rout = 1.2*Rin; % Radius of outer circle
%% - boundary of the structure --------------------------------- xv1 = [0 0 0 0 L L 0]; % co-ordinate of rectangle yv1 = [-W/2 -W/2 W/2 W/2 W/2 -W/2 -W/2]; % co-ordinate of rectangle inc = [Rin*cos(angle')+L/2 Rin*sin(angle')]; % co-ordinate of inner circle ouc = [Rout*cos(angle')+L/2 Rout*sin(angle')]; % co-ordinate of inner circle
figure(1);plot(xv1,yv1);axis equal tight;hold on; figure(1);plot(inc(:,1),inc(:,2));axis equal tight;hold on; figure(1);plot(ouc(:,1),ouc(:,2));axis equal tight;hold on

采纳的回答

Image Analyst
Image Analyst 2015-2-14
编辑:Image Analyst 2015-2-14
Can't you just use the code in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_ring.3F

更多回答(1 个)

Jeremy Simpson
Jeremy Simpson 2015-2-14
编辑:Jeremy Simpson 2015-2-14
Try this script:
clear,clc
R = 3; %outer radius
r = 2; %inner radius
steps = 100;
theta = 0:2*pi/steps:2*pi;
r_outer = ones(size(theta))*R;
r_inner = ones(size(theta))*r;
rr = [r_outer;r_inner];
theta = [theta;theta];
xx = rr.*cos(theta);
yy = rr.*sin(theta);
zz = zeros(size(xx));
surf(xx,yy,zz)
It may or may not help. I wasn't really sure what you were wanting.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by