網格簡化-QEM 頂點二次度量的最佳化

玥茹苟發表於2024-11-19

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′。

相關文章