平滑算法,2.5D

Smoothing algorithm, 2.5D

下图为三角面网格。它的顶点正好在原始 3D 对象的表面上,但直边和面当然在原始表面弯曲处存在一些几何误差,我需要一些算法来估计光滑的原始表面。

详细信息:我有这个表面(的可投影部分)的高度场(一个 2.5D 三角剖分,其中每个 x,y 对都有一个唯一的高度 z),我需要计算任意 x 的高度 z, y 对。例如,图像中光标指向的点的 z 值。

如果是二维问题,我会使用三次样条,但对于曲面,我不确定什么是最佳解决方案。

正如@Darren 所评论的,您需要的是 补丁

它可以是双线性补丁或双二次或库恩补丁或其他。

我在快速搜索时没有找到太多参考,但是这个链接:

概念是您计算沿边的样条曲线(相对于直边段本身的高度函数),然后在由边分隔的曲面内部进行混合。 补丁 os 负责混合,这意味着在任何面内你都有一个高度,它是面内点 pos 坐标和定义在同一张脸的边缘。

据我所知,在四边形网格上使用这种方法非常容易(因为定义在哪些边序列上进行样条曲线变得很容易),但我不确定如果你被迫要如何应用进行实际的三角测量。