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

jN ( 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

jN ( 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
vN ( 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
iI
( 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
pj
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)
Lj ( 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