Algorithm 二维重绕算法

Algorithm 二维重绕算法,algorithm,probability,discrete-mathematics,Algorithm,Probability,Discrete Mathematics,我有一个12乘50的阵型需要重新投球。该数组表示一个二元概率分布,p(a,b),其中a和b是非笛卡尔坐标。然而,我想重新定义它,这样我就有了笛卡尔坐标下的分布,p(x,y) a和b与x和y是(轻度)非线性相关的,但是我做了一个简化的假设,即(a,b)箱子在(x,y)空间中看起来像凸四边形(弯曲的箱子!)。我可以在箱子的所有角落制作与(a,b)和(x,y)相关的查找表 有谁知道有一种算法能让我重蹈覆辙 我特别想寻找分析解决方案,但我会选择将(a,b)垃圾箱切碎成许多小垃圾箱,并根据它们的中心位置将

我有一个12乘50的阵型需要重新投球。该数组表示一个二元概率分布,
p(a,b)
,其中
a
b
是非笛卡尔坐标。然而,我想重新定义它,这样我就有了笛卡尔坐标下的分布,
p(x,y)

a
b
x
y
是(轻度)非线性相关的,但是我做了一个简化的假设,即
(a,b)
箱子在
(x,y)
空间中看起来像凸四边形(弯曲的箱子!)。我可以在箱子的所有角落制作与
(a,b)
(x,y)
相关的查找表

有谁知道有一种算法能让我重蹈覆辙

我特别想寻找分析解决方案,但我会选择将
(a,b)
垃圾箱切碎成许多小垃圾箱,并根据它们的中心位置将它们分类到适当的
(x,y)
垃圾箱中的解决方案


请注意,这是一个重新开始的任务,而不仅仅是一个插值(这将是小菜一碟)

您可以尝试两种解决方案。一种是精确的分析方法:计算出与bin
(x,y)
重叠的bin
(a,b)
的精确分数区域
f
,然后对所有重叠的
a
b
求出
p(x,y)
。(如果
a、b
垃圾箱的大小不尽相同,则应找到实际面积,然后除以
(x,y)
垃圾箱的面积。)如果垃圾箱边界的方程式足够简单,这应该相对简单,如果有点繁琐

另一类是反走样,与计算机图形学中使用的方法相同。基本上,将
(a,b)
处的整个箱子替换为一组等距点,然后将这些点放入
x,y
平面,并将它们添加到包含该值的箱子中。因此,例如,使用4的抗锯齿,您可以想象一个点数组
(a+3/8,b+3/8)
(a+1/8,b+3/8)
(a-1/8,b+3/8)
。。。每个都包含
(a,b)
箱值的1/16;然后,您将找到这16个位置中的每一个位于
x,y
平面上的位置,并将该1/16值添加到每个箱子中


(随机解也存在,但对于你的问题,它们会带来更大的误差,计算时间更长。)

你有x和y[x[a,b]=x,y[a,b]=y]的反函数吗?不,不幸的是,这些函数不能用解析的方式表示。这就是我通过优化算法制作(a,b)到(x,y)的查找表的原因。@JF-哪种类型的算法?分析方法可能是你的问题所特有的,所以你可能必须自己做数学题。抗锯齿解决方案仅适用于所有(a,b),对于(i=1到k,j=1到k):将p(a,b)/k^2添加到对应于位置(a+i/k-1/2k-1/2,b+j/k-1/2k-1/2)的p(x,y)上。