※ 引述《mangobrother (芒果哥)》之銘言:
: 就想要做出來的結果是
: 大概100x100的大小 用個grid畫格線
: 在這些方格內放入兩百個亂數點
: 但是整個座標點是均勻分布的
: 嘗試把座標都列出來做比較,
: 一個點與其他點的距離小於一定值就重做
: 但是結果出來失敗
: 只能做出不重疊但無法做到均勻的地步
: 找了網路上的資料也一直失敗
: 所以想來請教版上可否指點迷津
: 謝謝
我想到幾個切入點,
1. 100*100的大小,用grid畫格線,那會有10000個點
200個點僅佔所有格點的2%
即使是用均勻分布亂數產生器取格點座標,
也會因為樣本數太少,放在整個空間中(100*100格點)會"看起來不夠均勻"
2. 但是我又看到"一個點與其他點的距離小於一定值就重做"
這個拘束條件的目的是...?確保間距最小值?還是不重疊?
如果是確保最小值,那不就會影響均勻分布這個隨機取樣機制?
如果是確保不重疊,那採用不重複選取的方法,
配合均勻分布亂數產生器產生座標就可以拉
3. 若回頭來看均勻分布,不是產生的座標真的整整齊齊很均勻的分布
而是被選取的機率是一樣
4. 即使是確保任兩點距離不小於一最小值,
當樣本數不多,畫面呈現的點不會如人類認知的"均勻"(同3),
因為均勻分布還是隨機選取,只是被選中的機率相同而已
5. 簡單的測試法是,以目前的程式碼,測試不同的點數
看是不是選的點數越多,越來越呈現均勻特性,便可知道程式是否正確
以上幾點想法,參考參考
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.218.131
推
11/14 10:26, , 1F
11/14 10:26, 1F
討論串 (同標題文章)