网格简化-QEM 顶点二次度量的优化

QEM 顶点二次度量的优化

理论

QEM(Quadric Error Metrics,四元数误差度量)是一种常用的网格简化技术,它通过计算几何代价来评估边的简化。通过使用 QEM,您可以在简化过程中保留重要的几何特性。

边折叠的基本思想

在 QEM 中,边折叠的目的是将两个顶点合并成一个新顶点,以减少网格的复杂性。每条边都有一个代价(即误差度量),这个代价通常是基于如何保持网格特征的原始形状和细节。边的折叠会改变网格的几何结构,因此需要重新计算与其相关的度量。

计算二次度量

    1. 原始度量定义:
      QEM 为每个顶点维持一个四维度量矩阵(4x4 矩阵),用于表示折叠过程中对几何的误差。这一度量是从与每个顶点相邻的每个面导出的。

    2. 从面导出度量:
      对于每个面 FF,可以计算其四元数误差的二次形式:

      QF=NF⋅NFT⋅AFQF=NFNFTAF

      其中,NFNF 是面的法向量,AFAF 是面的面积,QFQF 是一个 4x4 矩阵。这一过程会为每个顶点累积所有相邻面 FF 的度量:

      Qv=∑F∈N(v)QFQv=FN(v)QF

      其中 N(v)N(v) 是与顶点 vv 相邻的所有面。

    3. 边折叠的二次度量:
      在选择边折叠时,要计算通过折叠边 e=(v1,v2)e=(v1,v2) 后得到的新顶点 v′v′ 的误差:

      Qe=Qv1+Qv2Qe=Qv1+Qv2

      对于给定的新顶点 v′v′,应计算其代价:

      Cost(v′)=v′TQev′Cost(v)=vTQev

      这是一个关于新顶点位置的二次形式,您可以通过求导来找到使成本最小的 v′v′。

    4. 求解最小值:
      为了最小化代价,我们对 Cost(v′)Cost(v) 进行求导并设置为零,得到:

      Qev′=0Qev=0

      如果 QeQe 是非奇异的,可以求解出合并后的顶点 v′v′。

posted @ 2024-11-19 14:22  玥茹苟  阅读(8)  评论(0编辑  收藏  举报