小编Kno*_*ork的帖子

两个磁盘交叉区域的统一采样

给定2D均匀变量如所讨论的,我们可以产生在一个单元盘的均匀分布在这里.

我的问题是在我希望均匀地采样两个相交的盘的交叉区域相似,其中一个磁盘总是单元盘和另一个可自由移动和调整大小等在这里

在此输入图像描述

我试图将该区域分成两个区域(如上所述),并根据受尊重的磁盘对每个区域进行单独采样.我的方法基于上面引用的统一磁盘算法.为了对中心线右边的第一个区域进行采样,我将θ限制在两个交叉点内.接下来需要根据θ进行投影,以便将点推到我们的中线和磁盘半径之间的区域.python示例代码可以在这里找到.

u = unifrom2D()
A;B; // Intersection points
for p in allPoints
    theta = u.x * (getTheta(A) - getTheta(B)) + getTheta(B)
    r = sqrt(u.y + (1- u.y)*length2(lineIntersection(theta)))  
    p = (r * cos(theta), r * sin(theta))
Run Code Online (Sandbox Code Playgroud)

然而,这种方法相当昂贵,并且进一步无法保持均匀性.只是为了澄清我不想使用拒绝抽样.

random math geometry

7
推荐指数
1
解决办法
415
查看次数

标签 统计

geometry ×1

math ×1

random ×1