Download presentation
1
Laplacian Surface Editing
2
Introduction 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.
3
Introduction 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.
4
Introduction 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.
5
Laplacian Mesh Processing
Discrete Laplacians n L x d = duniform : wij = 1 dcotangent : wij = cot aij + cot bij
6
Laplacian Mesh Processing
Discrete Laplacians n L y z x dz dy dx L x d = L duniform : wij = 1 dcotangent : wij = cot aij + cot bij
7
Laplacian 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.
8
Laplacian 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.
9
Laplacian Mesh Processing
Least-squares solution n L y z x dz dy dx wLi wLi = 1 fix c1 edit w1 1 w1 1 Normal Equations 1 c2 w2 1 w2 1 ATA x = b AT (ATA)-1 A x = b
10
Laplacian 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) v i - ui) 2
11
Laplacian 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|
12
Laplacian 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.
13
Laplacian Mesh Processing
Mesh editing The editing process. The user selects the region of interest - the upper lip of the dragon, bounded by the belt of stationary anchors (in red). The chosen handle (enclosed by the yellow sphere) is manipulated by the user: translated and rotated. The editing result.
14
Laplacian Mesh Processing
Mesh editing The editing process. Different handle manipulations. The region of interest (arm), bounded by the belt of stationary anchors, and the handle. Translation of the handle. Subsequent handle rotation. Note that the detail is preserved in all the manipulations.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.