需求:
在半径为300和半径为50的同心圆的未相交部分随机生成N个点(黑色部分)
function [] = pos_generate(N, R, r, filename, seed)
% R=300; r=50;
% N: 生成N个点, filename: 保存文件
% seed:随机种子
rng(seed);
P=r+(R-r)*sqrt(rand(N, 1));
t=2*pi*rand(N, 1);
px=P.*cos(t);
py=P.*sin(t);
save(filename, 'px', 'py');
end
import numpy as np
import math
R = 300
r = 50
N = 20
x = np.random.rand(N)
t = 2 * math.pi * np.random.randn(N)
P = r + (R-r)*np.sqrt(x)
px = P * np.cos(t)
py = P * np.sin(t)
#for x,y in zip(px, py):
# dist = np.sqrt(x*x+y*y)
# if 50<=dist<=300:
# pass
# else:
# print("error")