将曲面拟合到三角剖分边缘上给定的标量函数

计算科学 计算几何 插值
2021-12-16 17:44:55

给定一个三角形网格,顶点和三角形TV={vi}i=1nR3Tijk=[vi,vj,vk]

对于每个顶点,我有一个标量值vifv(vi)=Ui

对于每条边,连接顶点,我有一个标量函数 . 选择标量使得对于边缘函数在其顶点内插ejvavbfe(ej,t)=At2+Bt+CABCt[0,1]fefvfe(ej,0)=Uafe(ej,1)=Ub

我希望找到一个函数来插值所有边缘函数。f(p),pT

我想最简单的解决方案是在每个三角形上局部寻找一个插值曲面。然后每个三角形上的表面将与跨边的连续性连接C0T

上找到一个在所有三个边上插入函数的曲面的最佳方法是什么?Tijk

额外的问题:是否有可能在每个边缘的补丁之间C1

我第一次在数学 SE上问了这个问题,但在这里得到了一个提示。

2个回答

你可以用有限元做这种事情。也许您熟悉线性标量节点插值函数,您可以从高阶变体构造插值。对于 C0 连续性和二次完备性,每个三角形应该有 6 个基函数,每个顶点一个,每个中点一个。顶点函数的形式为,而中点函数的形式为形成(对于所有这些,λ0(12λ0)λ1(12λ1)λ2(12λ2)4λ0λ14λ1λ24λ2λ0λ0/λ1/λ2表示重心坐标)。基本上,您只需在顶点/中点对给定数据进行采样,这些将是用于缩放每个基函数的权重/“未知数”。对加权函数求和以形成插值。

为了获得更高的连续性,我会引导您使用 Hermite 元素 - 不幸的是,我没有使用它们的经验。

这可以通过使用“总度数表面”来完成,请参阅此参考资料(您还需要查看其余的课程笔记)。请注意,分段线性曲面由您的唯一定义Ui,给你C0连续性。分段线性曲面插值仅需要三角形的局部值。达到C1连续性,您需要使用分段二次曲面,这将需要边缘附近的信息。请注意,分段二次曲面由更多信息指定,而不仅仅是Ui. 由于您在边缘的中点有值,这应该足够了。在任何情况下,考虑问题的正确方法是使用样条曲面。