【问题标题】:Multidimensional interpolation多维插值
【发布时间】:2012-03-20 23:37:25
【问题描述】:

给定一个多维空间(在我的例子中是 4D 空间)中的样本数据集,其中样本存在于 4D 立方体的所有角落,并且该立方体中有大量样本,但不是整齐的网格。每个样本在其 4D 坐标旁边都有一个输出值。立方体的坐标为 [0,0,0,0]..[1,1,1,1]。

给定一个新坐标 (4D),我如何在给定这些样本的情况下得出最佳插值?例如,我如何选择开始的样本,如何进行插值。

作为第一个猜测,我猜这可以通过两步过程完成:

  1. 在我们需要插值的坐标周围找到最小的凸五面体(4D 等效于 3D 四面体/2D 三角形)。

  2. 在这个四面体内插值。

尤其是第 1 步似乎相当复杂和缓慢。

【问题讨论】:

标签: language-agnostic dataset interpolation multidimensional-array


【解决方案1】:

这是我尝试的第一种方法。

步骤 1

通过欧几里得距离查找该点的 4 个最近邻。重要的是这 4 个点是线性独立的,因为接下来它们用于创建重心坐标系。这 4 个点成为您的五边形(又名 4-单纯形)的顶点。

如果最近邻检查太慢,请尝试将您的数据结构化为在 4D 中工作的空间查找树。

第二步

现在我们需要将一个值与插值点 X 相关联。首先在这个新的重心坐标系中导出 X 的表示。此重心坐标由 4 个数字组成,它们共同描述了插值点与 4-单纯形中每个顶点之间的相对距离。

标准化重心坐标,使其分量总和为 1。

这 4 个单纯形顶点中的每一个都是数据点并具有输出值。将这 4 个输出值组合成一个向量。

最后,通过计算归一化坐标与输出值向量的点积进行插值。

来源:这个想法实际上只是 Wikipedia 上 Barycentric coordinate system page 中间的这个 gem 的 4D 扩展。

【讨论】:

  • 第 2 步使用重心坐标进行插值。因此,只要我们能够进入每个五角星的凸包内,我们就不会在边界上出现不连续性,我们将拥有相同的插值。但是在步骤 1 中使用 EUcl 距离找到的 4 个点可能会产生最近的五边形,但不会产生包含该点的凸边。因此,当 p 的凸包内有两个点时,我们可能会得到不连续性。 A. 使用 p 中的坐标系。 A和另一个来自p。 B.
猜你喜欢
  • 2019-10-02
  • 2021-04-08
  • 1970-01-01
  • 2016-08-31
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多