我需要隨機生成固定數量的非重疊圓圈。我可以顯示圓,在這種情況下20,位於隨機與此一段代碼,不重疊隨機分佈的圈子
for i =1:20
x=0 + (5+5)*rand(1)
y=0 + (5+5)*rand(1)
r=0.5
circle3(x,y,r)
hold on
end
然而圓重疊,我希望避免這種情況。這是通過以前的用戶Mathematica https://mathematica.stackexchange.com/questions/69649/generate-nonoverlapping-random-circles實現的,但我使用MATLAB,我想堅持下去。
對於重複性,這是功能,CIRCLE3,我使用繪製圓
function h = circle3(x,y,r)
d = r*2;
px = x-r;
py = y-r;
h = rectangle('Position',[px py d d],'Curvature',[1,1]);
daspect([1,1,1])
謝謝。
請顯示您嘗試檢查重疊的內容。 – SpamBot
不一樣,但讓我想起了這一點:http://stackoverflow.com/q/7833534/97160 – Amro
我認爲你可以切割你的地區使用瓷磚成正方形,然後填寫在那裏的圓圈 – GameOfThrows