大佬教程收集整理的这篇文章主要介绍了linux – 在矩形内生成随机点(统一)?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们的矩形
A B C D
我的想法是:
通过AC对角线将矩形划分为两个三角形.求斜率和对角线的截距.
然后,从[0,1]间隔生成两个随机数,让它们成为a,b.
评估x = aAB和y = bAD(AB,AD,距离).如果A不是(0,0),那么我们可以添加到x和y A的坐标.
现在我们有一个点(x,y).如果它不在下三角形(ABC)中,请跳至下一步.
否则,将点添加到我们的绘图中,并添加(x,y)与AC对角线的对称性,以便我们也可以填充上三角形(ADC).
我已经实现了这一点,但我非常怀疑这些点是统一生成的(从图中判断).我应该如何修改我的算法?我猜这个问题与@R_489_11399@选择三角形和对称的东西有关.
你在做什么用上三角和下三角?它们似乎是不必要的,肯定会减少随机性.是否有一些形式的差异减少了antithetic variates?如果@ Paddy3118是正确的,你真的需要随机点来填充空间,那么你应该看看low-discrepancy sequences. Halton sequence将van der Corput sequence推广到多个维度.如果您有Matlab的统计工具箱,请查看sobolset
和haltonset
函数或qrandstream
和qrand
.
以上是大佬教程为你收集整理的linux – 在矩形内生成随机点(统一)?全部内容,希望文章能够帮你解决linux – 在矩形内生成随机点(统一)?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。