在扭曲的盒子中插值

Interpolation in a distorted box

我想在一个扭曲的盒子里插值。由于我们在一个扭曲的框 (p0, p1, p2, ..., p7) 周围有 8 个点,如果我们找到将这个框转换为具有点 ((0, 0, 0), (0, 0, 1), (0, 1, 1), (0, 1, 0), (1, 0, 0), (1, 0, 1), (1, 1, 1), (1, 1, 0) ) 的框的转换矩阵,插值可以很容易地完成。换句话说,如果我们找到一个从变形框到长宽高都为 1 的正常框的变换,插值就可以非常简单地完成。任何人都知道如何在扭曲的盒子中进行插值或找到从扭曲的盒子到正常盒子的转换吗?

您可以将 scaling matrix 的倒数应用于 vxvy 的立方体vz
是立方体的空间范围。

没有回答原来的问题,因为在评论中你说你只是想在立方体中插入一个函数,使用 8 个顶点的值。

因此,为了做到这一点,您可以按以下方式推理:

1) Split the cube in 6 tetrahedra

2) 找到包含要插值的点的四面体

3) 一个不规则的四面体可以很容易地映射到一个规则的四面体,即你可以很容易地得到一个点的广义四面体坐标。检查当量。 9-11here.

4) 一旦你有了点的四面体坐标,插值就很简单了(见前面的link)。

这是我能想到的最简单的方法,最大的缺点是有 13 种方法可以将立方体分成四面体,这种选择会产生(略微)不同的结果,尤其是在立方体严重变形的情况下。您应该以立方体的 delaunay 四面体化为目标,以尽量减少这种影响。

另请注意,以这种方式定义的插值函数在四面体的面上是连续的(但不可微分)。