Sil*_*rol 3 linux algorithm matlab geometry octave
我试图在矩形内生成一定数量的随机均匀点(我知道每个角的坐标对).
让我们的矩形为ABCD
我的想法是:通过AC对角线将矩形划分为两个三角形.求斜率和对角线的截距.然后,从[0,1]间隔生成两个随机数,让它们成为a,b.评估x = a AB和y = b AD(AB,AD,距离).如果A不是(0,0),那么我们可以添加到x和y A的坐标.现在我们有一个点(x,y).如果它不在下三角形(ABC)中,请跳至下一步.否则,将点添加到我们的绘图中,并添加(x,y)与AC对角线的对称性,以便我们也可以填充上三角形(ADC).
我已经实现了这一点,但我非常怀疑这些点是统一生成的(从图中判断).我应该如何修改我的算法?我猜这个问题与我如何选择三角形和对称的东西有关.

这被称为点选和其他类似术语.你似乎走在正确的轨道上,因为这些点应该来自均匀分布.你的情节对我来说看起来很随机.
你在做什么用上三角和下三角?它们似乎是不必要的,肯定会减少随机性.这是一种形式方差减少沿着对立变量线?如果@ Paddy3118是正确的,你真的只需要随机点来填充空间,那么你应该研究低差异序列.在哈尔顿序列概括了范德Corput序列到多个维度.如果你有Matlab的统计工具箱,请查看sobolset和haltonset函数或qrandstream和qrand.