【问题标题】:Bicubic Interpolation for Non-regular grids?非常规网格的双三次插值?
【发布时间】:2011-08-18 19:31:25
【问题描述】:

我正在做一个项目,我有一组已知的测量值 (x,y,z,a) 和一个输入 (z,a)。我需要能够对 (x,y,z) 进行插值,以便从给定的 z 中获取可能的 (x,y) 坐标列表。

我正在研究双三次插值,但我只能找到与规则网格有关的示例,而且我的 (x,y) 对肯定不是规则的。

基本上,我正在寻找一些关于算法/模型的指导来实现这一目标。我正在考虑一个三角形的不规则网络,它很有吸引力,因为它分解成很容易从给定 Z 确定 (x,y) 的平面。但我想要更多的技巧。

我知道这听起来像家庭作业,但不是。

效率不是问题。

谢谢!

【问题讨论】:

    标签: grid interpolation bicubic non-uniform-distribution


    【解决方案1】:

    我实际上最终使用 Delauney Triangulation 将字段分解为带有标识符的 3 维 X、Y、Z 表面。然后给定一组 (Identity,Z) 对,我从每个表面形成一条场线,并从这些线计算由线之间的最短边形成的多边形。这给了我一个潜在的 x,y 坐标区域。

    【讨论】:

      【解决方案2】:

      看看Kd-tree。 这些首先取一组 2d 或 3d 或 10d 的散点, 然后回答诸如“找到最接近 P 的 3 个点”之类的查询。

      您的查询是z a 对吗? 例如,给定地图上的一堆彩色图钉,x y size color 的表格, 可以将所有[x y] 放在kd 树中,然后在给定x0 y0 附近询问引脚。
      或者,可以将所有[size color[ 放在一棵树上,然后要求尺寸和颜色相似的别针。 (请注意,大多数 kd-tree 实现使用欧几里得度量, 所以 sqrt( (size - size2)^2 + (color - color2)^2 ) 应该是有意义的。)

      在 Python 中,我强烈推荐 scipy.spatial.cKDTree

      另见 SO questions/tagged/kdtree

      【讨论】:

      • 这可能很有帮助,我基本上会收集像 [x, y, size, identifier] 这样的数据,然后,给定一组 (size, identifier) 对:得到相似的 (x, y)对。我去看看,让你知道结果如何,谢谢!嗯,很多齿轮刚刚开始转动,非常感谢!
      • 将大小和 ID 缩放到大致相同的范围,这样 sqrt( (size - size2)^2 + (id - id2)^2 ) 才有意义。并打印最接近 (size, id) s 的 3 xy s,并确保 它们 有意义。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多