# Random dots to make a circle

2 views (last 30 days)
Lucas Sigfridsson on 12 Apr 2021
Edited: Alan Stevens on 12 Apr 2021
This code works excellent to make a circle with randomized dots. My problem now is that I want a inner circle were these randomized dots can't be placed. So it will be like this
but have I drawn a circle.

Alan Stevens on 12 Apr 2021
Try something like
n = 1000;
t = 2*pi*rand(n,1);
Ri = 1;
Ro = 2;
r = Ri + (Ro - Ri)*rand(n,1);
x0 = 0; y0 = 0;
x = x0 + r.*cos(t);
y = y0 + r.*sin(t);
plot(x,y,'.b')
##### 2 CommentsShowHide 1 older comment
Alan Stevens on 12 Apr 2021
n = 2000;
t = 2*pi*rand(n,1);
Ri = 1;
Ro = 3;
r = Ro*rand(n,1);
x0 = 0; y0 = 0;
x = x0 + r.*cos(t);
y = y0 + r.*sin(t);
xoffset = 1;
yoffset = -0.5;
theta = 0:pi/180:2*pi;
xi = xoffset + Ri*cos(theta);
yi = yoffset + Ri*sin(theta);
plot(x,y,'.b')
hold on
fill(xi,yi,'w')
Note that, in order to get a uniform distribution of dots in a circle you need to choose R^2, not R, randomly (though this might not be important for your application, and I've not bothered to do that in the listing here).

R2021a

### Community Treasure Hunt

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

Start Hunting!