我需要生成随机分叶状轮廓如如何做到这一点下面思路生成随机分叶状肺结节的轮廓
任何想法或算法? 我将要使用的软件是MATLAB,但我有没有问题,如果你发布在其他语言中也解决方案...
PS我只需要画出类似于上述的随机轮廓......
我需要生成随机分叶状轮廓如如何做到这一点下面思路生成随机分叶状肺结节的轮廓
任何想法或算法? 我将要使用的软件是MATLAB,但我有没有问题,如果你发布在其他语言中也解决方案...
PS我只需要画出类似于上述的随机轮廓......
这个怎么样?
degree = 5;
numPoints = 1000;
blobWidth = 5;
theta = 0:(2*pi)/(numPoints-1):2*pi;
coeffs = rand(degree,1);
rho = zeros(size(theta));
for i = 1:degree
rho = rho + coeffs(i)*sin(i*theta);
end
phase = rand*2*pi;
[x,y] = pol2cart(theta+phase, rho+blobWidth);
plot(x,y)
axis equal
set(gca,'Visible','off')
您可以通过修改degree
控制
wiggliness
lobulacrity。我认为5给出了一些关于
wiggly
lobotcious作为你的例子。
这很有趣 - 希望它有帮助!
这是一个想法。
step = 0.1;
r_min = 0.5;
r_max = 1.0;
ir = 35;
tt = linspace(0, 2*pi, ir);
t = linspace(0, 2*pi, 5*ir);
rr = r_min + (r_max - r_min)*rand(1, length(tt));
rr(end) = rr(1);
r = interp1(tt, rr, t, 'spline');
// add some noise of magnitude N
N = 0.1;
noise = -N + 2*N*rand(1, length(r));
noise(1:2:end) = 0.0;
r = r + noise;
//
hp = polar(t, r);
set(hp, 'LineWidth', 2)
h = findall(gca,'type','line');
h(h == hp) = [];
delete(h);
t = findall(gca,'type','text');
delete(t);
delete(findall(gca, 'FaceColor', [1 1 1]))
典型输出看起来像这样(IR = 10,无噪音)
或该(IR = 35,具有和不具有噪声)
投票重新开放。为格式提供足够短的答案很简单,尽管可能会有多种变化,但只有一个基本答案。答案是狭隘的,这个问题可以在几段中回答。 –
发布的两个答案都令人满意......我还编辑了题目以使问题更加具体化...... – obelix