曲面メッシュデータの四元数DEC実装のためのメモ

  • 3次元空間の点に対して、その法線ベクトル(Nx,Ny,Nz)があるときに、この点に対して、4x2行列\begin{pmatrix}1 & 0 \\ 0 & Nx\\ 0 & Ny\\ 0 & Nz \end{pmatrix}を考え、これを対角成分として並べた、(点の数x4)x(点の数x2)行列をEとする
  • 三角形面について、その面の接平面を張る正規直交基底(二つの三次元ベクトルを(Xx,Xy,Xz),(Yx,Yy,Yz)とし、2x4行列\begin{pmatrix} 0 & Xx & Xy & Xz\\ 0 & Yx & Yy & Yz \end{pmatrix}を考え、これを対角成分として並べた、(三角形の数x2)x(三角形の数x4)の行列をFとする
  • また、離散版4元数的Diracオペレータに相当する行列Dは、(面の数)x(点の数)の4元数行列であって、そのij成分は、D_{ij} = -\frac{1}{2A_i}e_jとする。ただし、A_iとは面iの面積であり、e_jは点jの三角形iにおける対辺の値(長さ?)である。ただし、点jが三角形iの頂点でなければ、この値は0である
  • この行列Dは四元数行列なので、1成分を4x4行列\begin{pmatrix}a & -b & -c & -d\\b & a & -d & c\\ c & d & a & -b\\d & -c & b & a \end{pmatrix}と置き換えることで、四元数を表しつつ、成分は(面の数x4)x(点の数x4)の実行列ができる。これをD.とする
  • ここで、FDEという行列は、(面の数x4)x(点の数x4)の実行列となる
  • 今、各点に4元数が与えられているとき、その成分4つを点についてタンデムに並べたベクトルVがあればFDEVという計算ができる。ここで線形代数なので、最小二乗法を適用する、というのが、この「微分幾何」「外積代数」「四元数」のお話らしい
  • ここで、Vについて曲率がいい感じになるように凹凸変形に適用するか、など、何を考えて最小二乗法を適用するかで、応用対象のバリエーションが出る
  • この話は四元数でやっているけれど、共形変換のところだけなら、複素数の話になる
  • それについては次の記事に参考資料を