Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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@选择三角形和对称的东西有关.

解决方法

这被称为 point picking和其他类似术语.你似乎走在正确的轨道上,因为这些点应该来自均匀分布.你的情节对我来说看起来很随机.

你在做什么用上三角和下三角?它们似乎是不必要的,肯定会减少随机性.是否有一些形式的差异减少了antithetic variates?如果@ Paddy3118是正确的,你真的需要随机点来填充空间,那么你应该看看low-discrepancy sequences. Halton sequence将van der Corput sequence推广到多个维度.如果您有Matlab的统计工具箱,请查看sobolsethaltonset函数或qrandstreamqrand.

大佬总结

以上是大佬教程为你收集整理的linux – 在矩形内生成随机点(统一)?全部内容,希望文章能够帮你解决linux – 在矩形内生成随机点(统一)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:0)