多边形中的随机采样


9

我想在多边形中采样均匀一致的点...

如果采样大量,则如果它们具有相同的面积,它们将很可能落入两个区域。

如果它是一个正方形,这将是非常简单的,因为我将[0,1]中的两个随机数作为我的坐标。

我拥有的形状是规则的多边形,但我希望它适用于任何多边形。

/programming/3058150/how-to-find-a-random-point-in-a-quadrangle

Answers:


9
  1. 对多边形进行三角剖分
  2. 确定该点应位于哪个三角形中(权重三角形区域)
  3. 样本中的三角点为解释在这个岗位

这个问题不是您链接的旧问题的重复吗?
拉斐尔

@Raphael:相关,但我会说更笼统。
A.Schulz 2013年

4

一种简单的方法是找到多边形的边界框并使用剔除采样:从边界框采样并接受其是否落入多边形内(发生概率至少为)(我认为)。1/2

另一种可能性是对多边形进行三角剖分。首先以比例方式对三角形进行采样,然后对三角形中的随机点进行采样。后者很简单:在进行仿射变换之前,所有三角形的形式均为。要从该分布均匀采样一个点,首先根据密度采样(即采样均匀并计算),然后均匀地对采样(即对均匀采样并计算)。一个更简单的方法是将样品,如果{(x,y):x,y0,x+y1}x[0,1]2(1x)r[0,1] ÿ[01-X]小号[01]ÿ=1-X小号Xÿ[01]X+Ý>1XÝ1-X1-yx=11ry[0,1x]s[0,1]y=(1x)sx,y[0,1]x+y>1用替换。(x,y)(1x,1y)


拒绝采样将以2个维度中最多1/2的概率拒绝,但是在较高维度中,拒绝的概率可能会更差。
DW

拒绝采样的拒绝率可能大于1/2。只是想起一个螺旋形,略微突出。
A.Schulz

如果保证多边形是凸的怎么办?
Yuval Filmus 2013年

如果您的边界框是轴向对齐的,则凸度无济于事。正如上一个问题的答案所建议的,对于一个非常大的x,只考虑一个顶点在(0,1),(1,0)和(x,x)的三角形-这将占其边界框的比例很小当x达到无穷大时。如果您正在谈论最小的边界框,那么您可能可以得出凸形
所占

4

这有点疯狂,但是即使您的多边形非常怪异,也应该可以正常工作。

使用Reimann映射定理找到从单位圆盘到多边形的共形图,将其视为的子集。参见,例如:C

http://siam.org/pdf/news/1297.pdf

然后使用光盘上均匀密度的前馈作为Metropolis-Hastings MCMC采样中的建议密度。


但是,共形图并不一定要保留区域。它们保持角度,但是几乎可以保证不会均匀采样多边形。
史蒂文·斯塔德尼基

因此,需要将其用作MCMC中的建议,而不是用作实际采样器。利用庞加莱不等式,您可以显示均匀分布的共形图的变化以常数为界。
Nick Alger 2013年

我也许仍然想念它。所指向的维基百科页面上的讨论说,“试发行”仍然需要直接正比于所需的分布; 即,对于某些常数和,不是,而是。映射密度的局部方差仍将导致采样中的局部方差。一个b ˚F X = c ^ P X XaP(x)<f(x)<bP(x)abf(x)=cP(x)x
史蒂文·斯塔德尼克

Metropolis Hastings MCMC的全部要点是该提议不是真正的发行。MCMC链的收敛速度取决于提案对真实分布的近似程度。最常见的建议是在当前点放置高斯,无论您要采样的分布是什么……
Nick Alger 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.