laplacian surface editing. introduction introduction recent paper of o. sorkine, d. cohen-or, y....

14
Laplacian Surface Editing

Upload: randolf-harper

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Surface Editing

Page 2: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

IntroductionIntroduction

Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian Surface Editing, Eurographics Symposium on Geometry Processing (2004) based on the Laplacian of a mesh presents useful editing operations: interactive free-form deformation in a region of interest based on the transformation of a handle, transfer and mixing of geometric details between two surfaces, and transplanting of a partial surface mesh onto another surface.

Page 3: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

IntroductionIntroduction

Surfaces in computer graphics are mostly represented in global coordinate systems: explicit representations are based on points, vertices, or nodes that are typically described using absolute Euclidean coordinates.

Implicit representations describe the shape as the level set of a function defined in Euclidean space.

A global coordinate system is the natural choice for all operations involving other objects, such as rendering, intersection computation, transformations, or CSG modeling.

On the other hand, for local surface modeling, itwould be desirable that the representation captures the local shape (i.e. the intrinsic geometry of the surface) rather than the absolute position or orientation in Euclidean space.

Page 4: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

IntroductionIntroduction

An approach to surface mesh editing is based on encoding each vertex relative to the centroid of its topological neighbors.

The difference of a vertex position from the centroid of its neighbors is known as a Laplacian coordinate.

Laplacian coordinates are a linear function of the global mesh geometry, which allows efficient converting between absolute and intrinsic representations by solving a sparse linear system.

Laplacian coordinates are invariant under translation (of absolute geometry), but they are not invariant to scaling and rotation, which poses the main practical problem.

Page 5: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Discrete LaplaciansDiscrete Laplacians

=L x

n

cotangent : wij = cot ij + cot ij

uniform : wij = 1

( , )( , )

1i i ij j

i j Eiji j E

ww

δ x x

Page 6: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Discrete LaplaciansDiscrete Laplacians

n

cotangent : wij = cot ij + cot ij

( , )( , )

1i i ij j

i j Eiji j E

ww

δ x x

uniform : wij = 1

=L x

L

L

y

z

x

z

y

x

Page 7: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Fitting transformed Laplacian coordinates• Let the mesh M be described by a pair (K,V), where K describes the

connectivity and V = {v1; : : : ;vn} describes the geometric positions of the vertices in 3.

• We use the following terminology: the neighborhood ring of a vertex i is the set of adjacent vertices Ni = { j|(i; j) K} and the degree di of this vertex is the number of elements in Ni.

• Instead of using absolute coordinates V, we would like to describe the mesh geometry using a set of differentials = i.

• Specifically, coordinate i will be represented by the difference between vi

and the average of its neighbors: i. = (vi).

• is defined with uniform weights.

Page 8: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Fitting transformed Laplacian coordinates• The transformation between V and can be described in matrix

algebra. Let A be the mesh adjacency matrix and D = diag(d1,…,dn) be the degree matrix.

Imagine a simple graph consisting of n vertices connected in a cycle. The adjacency matrix A of this graph is the circulant n x n matrix induced by the vector [1 0 1] (where the zero coincides with the diagonal).

The degree matrix is a diagonal matrix which contains information about the degree of each vertex.

• Then = LV, where L = I – D-1A for the uniform weights. The matrix L is commonly considered as the Laplacian operator of the mesh with connectivity A, which is why we call i the Laplacian coordinate of vertex i.

Page 9: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Least-squares solutionLeast-squares solution

n

z

y

x

y

z

x

=L

L

L

c1

fixedit

c2

w1 w1

w2 w2

wLi wLi

A x = bATA x = bAT

(ATA)-1x = bAT

Normal Equations

Page 10: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Fitting transformed Laplacian coordinates• The approach to performing modeling operations using

Laplacian coordinates is to fix the absolute position of several vertices, i.e., vi = ui, i {m,…,n} m < n and solve for the remaining vertices {vi }, i {1,…,m-1} by fitting the Laplacian coordinates of the geometry v to the given Laplacians .

• It has been observed that the solution behaves better if the constraints {ui} are satised in a least squares sense rather than exactly.

• This results in the following error functional:

E(v) = i - (v i) 2 + v i - ui) 2

n

i 1

n

mi

Page 11: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Fitting transformed Laplacian coordinates• The detail structure of the shape can be translated, but not

rotated or scaled. If the constraints ui imply a linear transform, the details are not transformed accordingly.

• The main idea of the approach is to compute an appropriate transformation Ti for each vertex i based on the eventual new configuration of vertices vi .

• A linear approximation for rotations with small angles is used So called essential matrix is used. Let , and be the direction

angles of the fixed coordinate system in a coordinate system bound with the solid.

|1 |1 - -||

|-|- 1 1 ||

|| - - 1| 1|

Page 12: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Mesh editing• Perhaps the simplest form to manipulate an existing

mesh consists of manipulating a handle, which is a set of vertices that can be moved, rotated and scaled by the user.

• The manipulation of the handle is propagated to the shape such that the modication is intuitive and resembles the outcome of manipulating an object made of some physical soft material.

Page 13: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Mesh editing• The editing process. (a) The user selects the region

of interest - the upper lip of the dragon, bounded by the belt of stationary anchors (in red).

(b) The chosen handle (enclosed by the yellow sphere) is manipulated by the user: translated and rotated.

(c) The editing result.

Page 14: Laplacian Surface Editing. Introduction Introduction Recent paper of O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel Laplacian

Laplacian Mesh ProcessingLaplacian Mesh Processing

Mesh editing• The editing process. • Different handle

manipulations. a) The region of interest (arm),

bounded by the belt of stationary anchors, and the handle.

b) Translation of the handle.c) Subsequent handle rotation.

Note that the detail is preserved in all the manipulations.