我想在* 100平面上生成均匀分布的圆/点/节点。为此,我在java中使用Random()方法。具体而言,我在这样做以下列方式:平面上的均匀分布点正在Java中聚集,为什么?
Random r1=new Random();
for(int i=0;i<100;i++){
x=100*r1.nextDouble();
y=100*r1.nextDouble();
}
但问题是,作为予反复运行代码再次,节点不是均匀地在平面上间隔开,即,有浓度的簇和一些未被占用的空间。
任何想法,建议将不胜感激。 下图显示了群集和空白区域的典型输出。圆圈的数量只是圆圈的ID。
这是一个常见的误解,即随机数是非聚集的。如果它们不够多,它们肯定会形成群集。如果你想要统一,那么编写一个统一的发电机(均匀划分飞机并相应地放置点)。 – Adam
谢谢你的回应,请你澄清一下。我没有得到你所说的将飞机均匀划分并相应放置节点的部分。 – OAH
@Anderson你应该看看[生日问题](http://en.wikipedia.org/wiki/Birthday_problem)。 – SpaceTrucker