步骤
先用极坐标生成各个圆环数据,上图为三个圆环(不同的半径),接着将极坐标转化为直角坐标(2d),最后做一个平移就行了。
实现
代码如下:
%% 使用极坐标画图
clear; clc;
p = [1, 2, 3;
1, 3, 1]; % centre of circle
r = [1, 0.8, 0.4]; % radius
N = 100; % num of each circle point
n = size(p, 2); % num of centre
A = [];
gnd = []; % gnd for data
% for i = 1:n
% gnd = [gnd; i * ones(N * length(r), 1)];
% end
%% 开始创建点集合
disp('generate circles.');
for i = 1:n
for k = 1:size(r, 2)
rk = r(k);
for j = 1:N
theta = unifrnd(0, 2*pi);