Transcript Document
INFORMATIK Differential Coordinates for Interactive Mesh Editing Yaron Lipman Olga Sorkine Daniel Cohen-Or David Levin Tel-Aviv University Christian Rössl Hans-Peter Seidel Max-Planck Institut für Informatik Our goal: INFORMATIK Edit a surface while retaining its visual appearance Edit a surface while retaining its visual appearance Original surface The details are deformed INFORMATIK The details shape is preserved Our goal INFORMATIK Editing a surface while retaining its visual appearance – Smooth deformation – Smooth transition – Preserve relative local directions of the details – Minimal user interaction – Interactive time response T Differential coordinates INFORMATIK Differential coordinates are defined for triangular mesh vertices 1 δ i L( v i ) v i di jN ( i ) vj average of the neighbors the relative coordinate vector Differential coordinates INFORMATIK Differential coordinates are defined for triangular mesh vertices 1 δ i L( v i ) v i di jN ( i ) vj Why differential coordinates? INFORMATIK They represent the local detail / local shape description – The direction approximates the normal – The size approximates the mean curvature 1 δi di v vN ( i ) i v 1 v i v ds len( ) v 1 lim vi v ds H ( v i ) ni len ( ) 0 len( ) v Related work INFORMATIK Multi-resolution: Zorin el al.[97], Kobbelt et al.[98], Guskov et al.[99] Laplacians smoothing Taubin [SIGGRAPH95], Laplacians Morphing Alexa [TVC03] Image editing: Perez et al. [SIGGRAPH03] Mesh Editing: Zhou et al. [SIGGRAPH 04] Laplacian reconstruction INFORMATIK Denote by G V , E, P a triangular mesh with geometry P , embedded in R³ . For each vertex p j P we define the Laplacian vector: pj 1 L j ( P) p j dj i: i , j E pi The Laplacians represents the details locally. Laplacian reconstruction INFORMATIK The operator L is linear and thus can be represented by the following matrix: 1 1 M ij di 0 i j j j : ( j , i ) E otherwise Laplacian reconstruction INFORMATIK Transforming the mesh to the differential representation: , , M P , P , P P , P , P M , , x y z x y z Note that x 1 y x z y z rank ( M ) n 1 where n #V Laplacian reconstruction INFORMATIK Thus for reconstructing the mesh from the Laplacian representation: add constraints to get full rank system and therefore unique solution, i.e. unique minimizer to the functional M P ( x) ( x) 2 wi p iI ( x) i where I is the index set of constrained vertices , weights and ci are the spatial constraints. c ( x) i wi 0 are 2 Laplacian reconstruction INFORMATIK The use of Laplacian (differential) representation and least squares solution forces local detail preserving Laplacian reconstruction INFORMATIK Laplacian reconstruction gives smooth transformation, interactive time and ease of user interface -using few spatial constraints but doesn’t preserve details orientation and shape Rotated Laplacian reconstruction INFORMATIK We’d like to perform deformation which preserves the detail orientation and shape: We’d like to estimate the target shape Laplacians Rotated Laplacian reconstruction INFORMATIK For each 1-ring we look for rigid affine transformations Aj , j V : L j ( Aj ( P)) L j ( P) pj pj L j ( P) L j ( P) Rotated Laplacian reconstruction INFORMATIK The Laplacians are translation invariant: Lm T ( P) Lm ( P) L j ( P) L j ( P) Rotated Laplacian reconstruction INFORMATIK Laplacians are not rotational invariant (they represent detail with orientation) Note that the Laplacian operator commute with linear rotations : Lm ( R( P)) R( Lm ( P)) R L j ( P) Lj ( P ) Rotated Laplacian reconstruction INFORMATIK Therefore we get: L j ( P) L j ( Aj ( P)) L j ( R j ( P)) R j ( L j ( P)) So all we need is to estimate the local rotations. Rotated Laplacian reconstruction INFORMATIK From our assumption that detail remain with same orientation to the underlying smooth surface: The rotations are defined by the smoothed surface. We use the Laplacian reconstruction to evaluate the smoothed underlying surface normals. Rotated Laplacian reconstruction INFORMATIK In summary we have the following steps: 1. Reconstruct the surface with original Laplacians: M 1 ( , C ) 2. Approximate local rotations R j 3. Rotate each Laplacian coordinate L j ( P ) by R j 4. Reconstruct the edited surface: M 1 R j ( L j ( P )), C Some results INFORMATIK Some results INFORMATIK Some results INFORMATIK Implementation INFORMATIK We solve the normal equations via factorization. The factorization is done once for each ROI. And back substitution for each new handle location. Future work (October 2003) INFORMATIK The main problem of the Laplacian coordinates are the need to estimate the rotation explicitly (also in Zhou et al. SIGGRAPH 2004). Instead those rotations can be computed implicitly so that the final shape is defined in one step! To be presented in SGP 2004 in Nice next month… INFORMATIK Differential Coordinates for Interactive Mesh Editing