LSCM参数化

映射\(f\)是一个分段线性映射,对每个三角形是一个常量可以表示成$$ f_t(x) = J_tx +b_t $$,x是顶点三维坐标,不过我们可以通过建立一个如下的局部坐标系只使用二维就能表示

映射的Jacobi矩阵\(J_t\)是一个2*2矩阵

\[J_t = {\begin{pmatrix}{{\partial u}/{\partial x}}&{{\partial u}/{\partial y}}\\{{\partial v}/{\partial x}}&{{\partial v}/{\partial y}}\end{pmatrix} } \]

容易计算得到

\[J_t = {\begin{pmatrix}{u_j-u_i}&{u_k-u_i}\\{v_j-u_i}&{v_k-v_i}\end{pmatrix} }{\begin{pmatrix}{x_j-x_i}&{x_k-x_i}\\{y_j-y_i}&{y_k-y_i}\end{pmatrix}^{-1}} \]

将上式展开整理

\[{\begin{pmatrix}{{\partial u}/{\partial x}}\\{{\partial u}/{\partial y}}\end{pmatrix} }=\frac{1}{2A_t}{\begin{pmatrix}{y_j-y_k}&{y_k-y_i}&{y_i-y_j}\\{x_k-x_j}&{x_i-x_k}&{x_j-x_i}\end{pmatrix} } {\begin{pmatrix}u_i\\u_j\\u_k\end{pmatrix} } \]

其中\(A_t\)是三角形面积,可以通过叉积求得\(2A_t=(x_iy_j-y_ix_j)+(x_jy_k-y_jx_k)+(x_ky_i-y_kx_i)\)

用复数来表示则可得

\[{\partial u}/{\partial x} + i{\partial u}/{\partial y} = \frac{i}{2A_t}(W_{t_i},W_{t_j},W_{t_k}){\begin{pmatrix}u_i\\u_j\\u_k\end{pmatrix}}\\ 其中\begin{cases}W_{t_i} = (x_k - x_j)+i(y_k-y_j)\\ W_{t_j} = (x_i - x_k)+i(y_i-y_k)\\ W_{t_k} = (x_j - x_i)+i(y_j-y_i)\\ \end{cases} \]

共形映射即是全纯映射(无退化点),所以是满足Cauchy-Rieman定理的

\[C.R.\begin{cases}{{\partial u}/{\partial x}} = {{\partial v}/{\partial y}}\\ {{\partial u}/{\partial y}} = {-{\partial v}/{\partial x}}\end{cases}\\ 令 U = u+iv,则上式统一为 {{\partial U}/{\partial x}}+i{{\partial U}/{\partial y}}=0\\ \]

同时有

\[{{\partial U}/{\partial x}}+i{{\partial U}/{\partial y}}=\frac{i}{2A_t}(W_{t_i},W_{t_j},W_{t_k}){\begin{pmatrix}U_i\\U_j\\U_k\end{pmatrix}}\\ \]

那样这个三角形的保角(共形)的度量可以表示为

\[C(U)_t = {||{{\partial U}/{\partial x}}+i{{\partial U}/{\partial y}}||}^2_t \]

而整个三角网格映射的能量

\[E_{lscm} = \Sigma_{t\in T} {||{{\partial U}/{\partial x}}+i{{\partial U}/{\partial y}}||}^2_t \]

\[E_{lscm} = C(U=(U1,...,Un)^T) = \Sigma_{i=1}^{n} C(T_i) \\ C(T_i) = {||{{\partial U}/{\partial x}}+i{{\partial U}/{\partial y}}||}^2 A_{T_j}=\frac {1} {4A_T}{|(W_{j1},W_{j2},W_{j3})(U_{j1},U_{j2},U_{j3})|}^2\\ \]

上面推导的总体能量是关于复数\(U1,U2...,Un\)的二次型所以可以表示成

\[E_{lscm} = C(U=(U_1,U_2,...,U_n))=U^*CU \]

\(C\)的构造其为\(Hermittan\ Gram\)矩阵,所以\(C\)可以分解为

\[C=M^*M\\ M=(m_{ij})是F\times V稀疏矩阵,行对应三角面,列对应顶点,其系数\\ m_ij = \begin{cases}W_{j,T_i},如果v_j属于三角形T_i \\ 0\end{cases} \]

上面的能量优化容易得到一个平凡解(trivial),即像为0的常映射(U恒为0),为得到非平凡解可以固定一部分点(pin点),对M,U分块则能量式可以写为

\[C(U) = ||MU||^2=||MfUf+MpUp||^2 \]

复矩阵\(M\)的实部与虚部进行分解\(M=M^{re}+iM^{im}\),那么可以将上式转为求解如下的实最小二乘

\[C(x) = ||Ax-b||^2\\ A={\begin{pmatrix}{M_f^{Re}}&{-M_f^{Im}}\\{M_f^{Im}}&{-M_f^{Re}}\end{pmatrix} }, b=-{\begin{pmatrix}{M_p^{Re}}&{-M_p^{Im}}\\{M_p^{Re}}&{-M_p^{Im}}\end{pmatrix} }{\begin{pmatrix}U_p^{Re}\\U_p^{Im}\end{pmatrix}} \]

其中矩阵A的大小为\(2|F|\times 2(|V| -p)\),并且\(b\in R^{2|F|},x\in R^{2|V|-p}\)

原始文章附录中证明了,当固定点个数大于等于2时(\(p\geq2\)),矩阵A满秩,最小化问题有唯一解\(x=(A^TA)^{-1}A^Tb\)

posted @ 2023-12-12 20:41  LgxGeoGo  阅读(239)  评论(0)    收藏  举报