作者kusobike ()
看板MATLAB
标题Re: [问题] 乱数均匀不重叠座标
时间Wed Nov 14 02:56:14 2012
※ 引述《mangobrother (芒果哥)》之铭言:
: 就想要做出来的结果是
: 大概100x100的大小 用个grid画格线
: 在这些方格内放入两百个乱数点
: 但是整个座标点是均匀分布的
: 尝试把座标都列出来做比较,
: 一个点与其他点的距离小於一定值就重做
: 但是结果出来失败
: 只能做出不重叠但无法做到均匀的地步
: 找了网路上的资料也一直失败
: 所以想来请教版上可否指点迷津
: 谢谢
我想到几个切入点,
1. 100*100的大小,用grid画格线,那会有10000个点
200个点仅占所有格点的2%
即使是用均匀分布乱数产生器取格点座标,
也会因为样本数太少,放在整个空间中(100*100格点)会"看起来不够均匀"
2. 但是我又看到"一个点与其他点的距离小於一定值就重做"
这个拘束条件的目的是...?确保间距最小值?还是不重叠?
如果是确保最小值,那不就会影响均匀分布这个随机取样机制?
如果是确保不重叠,那采用不重复选取的方法,
配合均匀分布乱数产生器产生座标就可以拉
3. 若回头来看均匀分布,不是产生的座标真的整整齐齐很均匀的分布
而是被选取的机率是一样
4. 即使是确保任两点距离不小於一最小值,
当样本数不多,画面呈现的点不会如人类认知的"均匀"(同3),
因为均匀分布还是随机选取,只是被选中的机率相同而已
5. 简单的测试法是,以目前的程式码,测试不同的点数
看是不是选的点数越多,越来越呈现均匀特性,便可知道程式是否正确
以上几点想法,参考参考
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.218.131
1F:推 H45:「均匀」是否可定义成「最大化每两个点的距离」? 11/14 10:26