极坐标 2D 插值

Posted

技术标签:

【中文标题】极坐标 2D 插值【英文标题】:Polar 2D Interpolation 【发布时间】:2015-08-06 15:12:51 【问题描述】:

假设我们正在为设备创建校准查找表,如下图所示。 theta代表不同的相位值,r代表不同的幅度值。校准设定点以蓝色圆圈显示,并在每 N 度相位和 N 个幅度值处获取。对于每个设定点,我们测量实际设备输出并获得红色坐标,它描述了生成的相位和幅度。因此,对于每个蓝色设定点,我们观察设备输出红色点。

现在的问题是,我想将设备设置为带有橙色环的绿色圆圈的值。如何计算设置点(绿色圆圈)以将设备设置为以获得绿色/橙色的输出?

我遇到的问题是,对于每个 2D 设定点(mag,phase),结果数据都是 2D(mag,phase)。此外,幅度和相位不是独立变量(固定相位,只改变幅度,产生的相位输出确实会改变)。

那么我应该使用什么基本的数学/逻辑来执行必要的插值?

【问题讨论】:

我想一种看待这个的方法是我们有一个二维极向量场。也许一个潜在的解决方案是翻转向量,使它们从回读指向设定点。然后在我们想要的输出处插入向量场,并确定将我们带到正确设定点的向量?不过,我不确定如何计算。 如果你有大量的校准数据点,你可以训练一个神经网络或其他数据驱动的模型来研究 end 点和 start 点,因此您的“输入”数据将是您的终点,您的“输出”数据将是您的起点。然后,生成的数据驱动模型可能能够泛化以找到所需终点(模型的输入)的起点(模型的输出)。这种方法有很多需要考虑的地方,而且它可能不是最简单的解决方案。 【参考方案1】:

如何将其视为注册问题。例如,您可以使用affine transformation 作为测量点和校准点之间的模型?对于每个单元格(即图中的 4 个蓝点)计算蓝点和红点之间的仿射变换的最小二乘估计。然后对于新点应用相应的变换以获得您想要的绿点。 Here 和 here 是一些讨论这个的 SO 问题。此外,您可以考虑直接在幅度/相位空间中估计和应用变换。

【讨论】:

如果多于4对点,则可以使用高阶变换,弹性变形曲面。

以上是关于极坐标 2D 插值的主要内容,如果未能解决你的问题,请参考以下文章

给定横坐标插值获得纵坐标(包含时间序列插值)Python

如何在 Python 中使用克里金法对 2D 空间数据进行插值?

给定横坐标插值获得纵坐标(包含时间序列插值)Python

MATLAB插值后已知纵坐标值求对应的横坐标值

计算机图形学-纹理映射计算重心坐标UV插值双线性插值MipMap

计算机图形学-纹理映射计算重心坐标UV插值双线性插值MipMap