How to randomly divide an M by M region into n sub regions

1 回表示 (過去 30 日間)
Shamsuddeen Abdullahi
Shamsuddeen Abdullahi 2019 年 4 月 20 日
編集済み: Image Analyst 2019 年 4 月 20 日
I what to randomly divide a sqaure region (20 by 20) into 3 portions (not necessary square in shape).
Then randomly deploy points in the 3 regions.
I tried the code below but not getting what i want. I need random divisions (different shapes e.g one portion can be a trapezoid and so on)
m=20;
for i=1:1:m;
n(i)=rand.*0.25.*m;
b(i)=(0.25 +(0.25).*rand).*m;
c(i)=(0.5 +(0.25).*rand).*m;
end
plot (n, '+r')
hold on
plot (b, 'ok')
hold on
plot (c, 'vg')
hold off
Please help
The above code gives divisions along horizontal lines
figure 1.
I need something like the above figure 1.
  3 件のコメント
Walter Roberson
Walter Roberson 2019 年 4 月 20 日
https://en.m.wikipedia.org/wiki/Voronoi_diagram
Shamsuddeen Abdullahi
Shamsuddeen Abdullahi 2019 年 4 月 20 日
yes

サインインしてコメントする。

回答 (1 件)

Image Analyst
Image Analyst 2019 年 4 月 20 日
編集済み: Image Analyst 2019 年 4 月 20 日
Try voronoi() if you want random points, or superpixels() if you have an image and want some sort of decision-based boundaries.

カテゴリ

Help Center および File ExchangeLighting, Transparency, and Shading についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by