二维重组算法

我有一个需要重组的12乘50阵列.该数组表示二元概率分布p(a,b),其中a和b是非笛卡尔坐标.但是,我想重新绑定它,以便我在笛卡尔坐标p(x,y)中有一个分布.

a和b(轻微地)非线性地与x和y相关,但是我做了简化的假设:(a,b)箱子看起来像(x,y)空间中的凸四边形(弯曲的盒子!).我可以在所有bin角处制作与(a,b)到(x,y)相关的查找表.

任何人都知道这种重组的算法,以免我重新发明轮子?

我特别寻找分析解决方案,但是会寻求解决方案,包括将(a,b)箱子切割成许多小型垃圾箱,并根据它们的中心位置在适当的(x,y)垃圾箱中进行分类.

请注意,这是一个重组任务,而不仅仅是插值(这将是一块蛋糕).

最佳答案 您可以尝试两种常见的解决方案类别.一个是精确的分析方法:找出与bin(x,y)重叠的bin(a,b)的精确分数面积f,然后将所有重叠a和b的f * p(a,b)相加获得p(x,y)的bin. (如果a,b箱的大小不同,则应找到实际区域并除以(x,y)箱区域.)如果箱柜边界的方程式足够简单,应该相对简单,如果有点单调乏味.

另一类是抗锯齿,与计算机图形中使用的方法相同.基本上,您使用一堆等间距的点替换(a,b)处的整个bin,并将这些点放入x,y平面并将它们添加到包含该值的bin中.因此,例如,使用4的抗锯齿,你会想象一个点阵列(a 3/8,b 3/8),(a 1/8,b 3/8),(a-1/8, b 3/8),…每个包含(a,b)bin的值的1/16;然后,您将找到这16个位置中的每一个位于x,y平面上的位置,并将每个bin添加1/16值.

(也存在随机解决方案,但对于您的问题,它们会引入更大的错误并需要更长的时间来计算.)

点赞