GAMES301课程笔记12-锥奇异点参数化应用
这个系列是GAMES301-曲面参数化(GAMES 301: Surface Parameterization)的同步课程笔记。课程内容涉及曲面参数化的基本理论与问题描述、面向离散网格的参数化、基于基函数表示的连续参数化、共形参数化、曲面参数化的应用等。本节课主要介绍锥奇异点参数化。
Cone Parameterizations
上一节我们介绍过共形映射前后Riemann度量之间只相差一个对数共形因子\(\lambda\):
\[g' = e^{2 \lambda} \cdot g\]当\(\lambda\)非常大或是非常小的时候共形映射会产生明显的面积扭曲,降低参数化的质量。
为了解决这样的问题人们提出了锥奇异点参数化(cone parameterization)的技术,通过在网格上放置一些奇异点来控制整体的面积扭曲。最直观的一个例子是对圆锥面进行参数化:圆锥面的锥点是一个奇异点,而在表面的其它位置上高斯曲率为0。直接对锥面进行参数化会在锥点上产生巨大的几何扭曲,但如果从锥点将曲面剪开我们则可以实现无扭曲的参数化。因此锥奇异点参数化的思想在于允许曲面上一些点的高斯曲率不为0,而在远离这些奇异点的区域则有为0的高斯曲率。这样就可以避免过大的几何(面积)扭曲。
如果我们把曲面上所有高斯曲率不为0的点作为奇异点,此时得到的共形映射即为等距映射。实际上如果我们把这些奇异点连成线然后剪开,整个曲面可以无扭曲地展开到平面上。
因此锥奇异点的数量和参数化的面积扭曲是相互平衡的关系。随着锥奇异点数量的增加,曲面参数化后的面积扭曲会相应减少。
实际应用需要在锥奇异点的数量和面积扭曲之间进行取舍,我们希望在可控的面积扭曲下尽可能少地设置奇异点。这里需要说明的是并不是锥奇异点的数量越多网格参数化的质量就越好。
锥奇异点除了进行参数化外还可以作为曲面上的控制点用来计算网格的变形(映射)。
除此之外,如果我们限制锥奇异点上的高斯曲率为\(\frac{\pi}{2}\)的整数倍时会得到一种特殊的参数化,称为旋转无缝参数化(rotational seamless parameterization)。这种参数化可以保证纹理走向在割缝处保持一致,因此它在计算曲面的向量场以及四边形网格的生成等领域都有一定的应用。
回忆上一节课介绍过高斯曲率在共形映射下满足Yamabe方程,利用Yamabe方程可以计算曲面上锥奇异点的分布,即锥奇异点与目标高斯曲率的线性组合满足Yamabe方程。
Heuristic Methods
Placement
选取锥奇异点时可以使用启发式算法。根据经验,原始曲面上高斯曲率的极值点往往在共形参数化后会产生比较大的扭曲,因此我们可以选择这些点作为锥奇异点。
另一种启发式算法是先假定曲面上没有锥奇异点,直接对网格进行共形参数化。然后利用参数化前后高斯曲率与对数共形因子的约束来计算对数共形因子\(\lambda\)在网格上的分布,并选择\(\lambda\)的极值点作为锥奇异点。
Cone Angle
得到锥奇异点后还需要计算这些位置上参数化后的高斯曲率。注意到参数化后非奇异点上高斯曲率为0,且根据Gauss–Bonnet定理(Gauss–Bonnet theorem)高斯曲率在曲面上的积分需要满足约束,我们可以认为原始网格上顶点的高斯曲率都转移到了奇异点上。这一过程可以模拟为非奇异点上的高斯曲率发生了随机游走(random walk),当移动到奇异点后会被吸收掉。当随机游走达到平稳分布时,奇异点上积累的高斯曲率即为所求。
Incremental Flattening
除了上面介绍过的奇异点选取方法外还可以从低高斯曲率的位置出发,将这些位置上范围\(\varepsilon\)内的目标高斯曲率设置为0。随着\(\varepsilon\)的增加,曲面上的高斯曲率会不断集中到一些孤立点上。当曲面仅在这些孤立点上有非0高斯曲率时,这些孤立点即为所需的锥奇异点。
这个算法的核心在于如何更新曲面上的高斯曲率,此时我们可以通过最小化映射的面积扭曲来进行计算。这样的更新方式本质上是求解一个带线性约束的最小二乘问题。
如果要约束映射后锥奇异点上的高斯曲率为\(\frac{\pi}{2}\)的整数倍,可以对奇异点上的高斯曲率按照\(\frac{\pi}{2}\)进行取整。需要注意的是Gauss–Bonnet定理对高斯曲率在整个曲面上的积分存在约束,因此只能每次选择曲率最接近\(\frac{\pi}{2}\)整数倍的顶点进行取整,并且要求取整后高斯曲率的和不变。
Sub-Optimal
启发式算法的一个主要缺陷在于它容易陷入局部最优的问题。实际上锥奇异点并不一定都是高斯曲率的极值点,有时在一些平坦区域上设置锥奇异点可能会得到更小的面积扭曲。
因此避免局部最优的一种方法是直接从优化的角度来计算锥奇异点。
Optimization-Based Methods
我们希望锥奇异点的数量不要太多,因此优化方法的难点在于如何获得一个稀疏的解。由于锥奇异点的分布可以表示为dirac函数的线性组合,利用函数与测度空间的对偶性可以把原始问题转换到测度空间进行求解。此时只需要优化共形映射的面积扭曲以及加权后的测度模即可,再结合对偶性把它转换为三角面片上函数空间中的优化问题。
试验结果表明这种利用测度模的优化方法可以得到稀疏解。
除此之外还可以使用邻域来代替测度模,此时可以得到更加稀疏的解。
同时面积扭曲的表达形式也会对结果的稀疏性产生影响。
Applications
锥奇异点参数化的主要应用包括无缝参数化以及分片参数化等。