[英]How do I do a simple Gaussian distribution algorithm to distribute points on a plane?
我想要的是將網格變成有點“隨機”的瓷磚平面。
我嘗試僅將Math.random()分別乘以平面的寬度和高度(在本例中為800/600)。 您所看到的圓圈中的點彼此相交,並且已從場景中刪除。
如您所見,它看起來與點的“均勻分布”域相去甚遠。 有大洞,同樣也可以看到點簇。
我正在尋找一種更好地分布這些點的方法,以使簇和孔的數量最少。 理想情況下,具有的值是任意兩點之間的最小距離,同時具有可容納在該區域中的最大點數。 我可以接受各種近似值,但我只是不想嘗試進行貪婪的分布。
無論您使用哪種ecma解決方案,都可以將其轉換為Actionscript。
我找到了一個直觀的例子。 左邊是我得到的,右邊是我的目標。
您可以嘗試Loyds算法,即質心加權voronoi圖。 計算vd,然后計算每個單元的重心。 替換舊的點並沖洗並重復: http : //www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.