在给定点的四边形内均匀分布的点生成

12次浏览(最近30天)
NKM
NKM 2020年5月11日
编辑: Rena伯曼 2020年5月14日
我有一个顶点为(1,0)(1,2)(2,1)(3,4)的四边形。如何在图中生成均匀分布的点?
2的评论

登录评论。

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2020年5月11日
编辑:埃米尔哈姆萨 2020年5月11日
一种方法是找到一个包含所有顶点的矩形,在矩形内创建均匀分布的随机点,然后使用inpolygon()过滤掉这些点。
X = [2 2 3 4];
Y = [1 3 2 5];
对顶点进行排序以创建一个凸多边形
X = [X。' y。');
idx = convhull (X);
X = X(idx,:);
找到外围矩形
Ll_corner = [min(x) min(y)];% lower_left角落
Tr_corner = [max(x) max(y)];% top_right角落
点数= rescale(rand(10000, 2), ll_corner, tr_corner);%缩放随机数
%将位于矩形内
idx = inpolygon(点(:1),点(:,2),X (: 1), X (:, 2));
Points = Points (idx,:);
图();
ax =轴();
情节(X (: 1) X (:, 2),“线宽”, 1)
持有
情节(点(:1),点(:,2),“。”

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!