CCG 05-06:三角形 Jacobian 与共形能量

本页只解决一个问题

怎样在每个面上测角度、面积和 Cauchy-Riemann 残差?

本页是原长篇讲义的单概念版本。第一次阅读只追踪本页定义的对象;看见未掌握的前置符号时,先沿链接退回,不要跳过定义硬背结论。

开始前

12. 单个三角形的参数化 Jacobian

设原三角形局部二维矩阵

X=[xj−xixk−xiyj−yiyk−yi],X= \begin{bmatrix} x_j-x_i&x_k-x_i\\ y_j-y_i&y_k-y_i \end{bmatrix},

UV 三角形矩阵

U=[uj−uiuk−uivj−vivk−vi].U= \begin{bmatrix} u_j-u_i&u_k-u_i\\ v_j-v_i&v_k-v_i \end{bmatrix}.

仿射映射 Jacobian 为

Jt=UX−1.\boxed{J_t=UX^{-1}.}

用 SVDJt=R1diag⁡(σ1,σ2)R2TJ_t=R_1\operatorname{diag}(\sigma_1,\sigma_2)R_2^T 可计算:

  • 共形畸变:Kt=σ1/σ2K_t=\sigma_1/\sigma_2;
  • 面积缩放:JtA=det⁡Jt=σ1σ2J_t^A=\det J_t=\sigma_1\sigma_2;
  • symmetric Dirichlet:σ12+σ22+σ1−2+σ2−2\sigma_1^2+\sigma_2^2+\sigma_1^{-2}+\sigma_2^{-2};
  • 翻转:det⁡Jt<0\det J_t<0。

13. 共形能量与 Cauchy–Riemann 残差

平面映射f=(u,v)f=(u,v) 的共形条件:

ux−vy=0,uy+vx=0.u_x-v_y=0, \qquad u_y+v_x=0.

定义 least-squares conformal energy

EC(f)=12∫M[(ux−vy)2+(uy+vx)2]dA.E_C(f)=\frac12\int_M \left[(u_x-v_y)^2+(u_y+v_x)^2\right]dA.

展开:

2EC=∫M(ux2+uy2+vx2+vy2),dA−2∫M(uxvy−uyvx),dA.\begin{aligned} 2E_C &=\int_M (u_x^2+u_y^2+v_x^2+v_y^2),dA\\ &\quad-2\int_M(u_xv_y-u_yv_x),dA. \end{aligned}

所以

EC=ED−A(f),\boxed{E_C=E_D-A(f),}

其中A(f)A(f) 是有向映射面积(具体1/21/2 系数随定义约定)。这再次给出:Dirichlet 能量减面积正是非共形误差。

读完必须能回答

  1. 不看公式,用自己的话回答开头的核心问题。
  2. 指出本页最重要公式中每个符号的类型:标量、向量、矩阵、映射还是集合。
  3. 找出定理成立所需的假设,并举一个删除某条假设后可能失败的例子。
  4. 对最小例子手算一遍;若本页含代码,再比较手算与程序输出。

前后课程

上一课:Tutte 定理与调和参数化 | 下一课:LSCM 的组装、约束与翻转