How to make circular Ring?

27 visualizaciones (últimos 30 días)
mk_ballav
mk_ballav el 14 de Feb. de 2015
Editada: Jeremy Simpson el 14 de Feb. de 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

Respuesta aceptada

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

Más respuestas (1)

Jeremy Simpson
Jeremy Simpson el 14 de Feb. de 2015
Editada: Jeremy Simpson el 14 de Feb. de 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.

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by