在扭曲的盒子中插值

时间:2015-02-17 18:19:29

标签: math

我想插入一个扭曲的盒子。由于我们在扭曲的框(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,则插值可以非常简单地完成。任何人都有任何关于在扭曲的盒子中插值或从变形盒子到正常盒子的转换的想法吗?

2 个答案:

答案 0 :(得分:1)

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

所以为了做到这一点,你可以推理如下:

1)Split the cube in 6 tetrahedra

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

3)不规则四面体可以很容易地映射到常规四面体,也就是说你可以很容易地得到一个点的广义四面体坐标。检查eq。 9-11 here

4)一旦你得到了你的点的四面体坐标,插值是微不足道的(见前面的链接)。

这是我能想到的最简单的方法,最大的缺点是有13种方法可以在四面体中分割立方体,这种选择会产生(略微)不同的结果,特别是如果立方体发生严重变形。你应该瞄准立方体的delaunay四面体化,以尽量减少这种影响。

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

答案 1 :(得分:0)

您可以将scaling matrix的倒数应用于 vx vy vz 的多维数据集 是立方体的空间范围。