我正在尝试生成一个在三角形内均匀分布的二维点云。到目前为止,我已经实现了以下功能:
N = 1000;
X = -10:0.1:10;
for i=1:N
j = ceil(rand() * length(X));
x_i = X(j);
y_i = (10 - abs(x_i)) * rand;
E(:, i) = [x_i y_i];
end
然而,很明显在左右两个角落中,这些点并不是均匀分布的。我该如何改善这种结果呢?我一直在尝试寻找不同的形状,但是没有什么好的效果。
t
和s
表示的x,y
),并将其重新映射到由V
表示的三角形所限制的空间中。P
是映射矩阵和(x,y)的乘积。请注意,随机化的t
中的sqrt
只是简化最终计算乘积的一种方式。但是,我认为更容易指向一些解释得更好的链接,例如此问题或此链接... - Eitan Tbsxfun
。 - Eitan T