How to make circular Ring?

37 views (last 30 days)
mk_ballav
mk_ballav on 14 Feb 2015
Edited: Jeremy Simpson on 14 Feb 2015
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

Accepted Answer

Image Analyst
Image Analyst on 14 Feb 2015
Edited: Image Analyst on 14 Feb 2015
Can't you just use the code in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_ring.3F

More Answers (1)

Jeremy Simpson
Jeremy Simpson on 14 Feb 2015
Edited: Jeremy Simpson on 14 Feb 2015
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.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!