Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2.1] 3D Imaging, Analysis and Applications-Springer-Verlag London (2012).pdf
Скачиваний:
12
Добавлен:
11.12.2021
Размер:
12.61 Mб
Скачать

172

W.A.P. Smith

Fig. 4.19 An edge collapse operation

As suggested above, an alternative to using compression to store a high resolution mesh in less space is to derive a lower resolution mesh which approximates the original. This is known as mesh simplification and is described in the following section.

4.6.1 Mesh Simplification

Mesh simplification or mesh decimation is the process of iteratively removing vertices, edges and faces from a mesh to reduce its complexity and storage requirements. As well as reducing storage requirements by removing redundant structures, simplified meshes can also be processed or rendered more efficiently. Most mesh simplification algorithms proceed using iterative edge collapse.

4.6.1.1 Edge Collapse

A pair contraction (v1, v2) v¯ , transforms a pair of vertices v1 and v2 to a new position v¯ , connects all their incident edges to v1 and deletes the vertex v2. Any edges or faces which became degenerate after the contraction are removed. An example is shown in Fig. 4.19.

Starting with the original high resolution mesh M N = (KN , S), a sequence of pair contractions is applied until the simplification goals are satisfied (for example, the target number of vertices is reached). Each contraction corresponds to a local incremental modification of the complex KN and shape vectors S. The algorithm generates a sequence of meshes M N , M N 1, M N 2, . . . with decreasing resolution.

In general, only edge pairs are considered valid for contraction, i.e. where

{ N

}

i

, v

j

)

→ ¯ ij

, the simplicial complex,

i, j

 

KN . When an edge is contracted: (v

 

v

K , describing the mesh topology is modified. Degenerate faces (those that no longer have 3 distinct vertices) and duplicate edges are removed as well as the collapsed edge and redundant vertex j :

KN 1 = KN \ {j }, {i, j }, {j, k}, {i, j, k} : {i, j, k} KN .

(4.31)

The shape vector of each individual mesh is also modified as the result of an edge collapse. The vertex vj is deleted and vi is moved to v¯ ij .

4 Representing, Storing and Visualizing 3D Data

173

4.6.1.2 Quadric Error Metric

Edge collapse algorithms operate by selecting the next edge for collapse as the one whose deletion will result in the least increase in error. The choice of error measure determines the nature of the simplification. For example, it may seek to preserve volume or surface orientation. The most successful and widely used error measure is based on the Quadric Error Metric (QEM), as proposed by Garland and Heckbert [18] in their QSlim algorithm.

Each vertex is a solution of a set of triangles (planes), which meet at that vertex. Hence we can define the error of the vertex with respect to this set as the sum of squared distances to each triangle. Given a triangular plane p defined by the equation ax + by + cz + d = 0, where n = [a, b, c] is the plane normal and d is a scalar constant. A fundamental quadric is defined as

Q = nnT , dn, d2 = (A, b, c),

(4.32)

where A is a 3 × 3 matrix, b is a 3-vector and c is a scalar. The quadric Q assigns a value Q(v) to every point in space v by the second order equation

Q(v) = vT Av + 2bT v + c.

(4.33)

Note that the level surface Q(v) = ε, which is a set of all points whose error with respect to Q is ε, is a quadratic surface. Also the value of this quadratic Q(v) is precisely the squared distance of v to a given plane. The addition of quadrics can be naturally defined component-wise: Q1(v) + Q2(v) = (Q1 + Q2)(v) where (Q1 + Q2) = (A1 + A2, b1 + b2, c1 + c2). Thus, given a set of fundamental quadrics, determined by a set of planes, the quadric error at each vertex vi is completely determined by

 

 

EQi (vi ) = Qp (vi ) = Qi (vi ),

(4.34)

p

where Qi = p Qp is the sum of the fundamental quadrics of all the planes incident on a vertex vi . Using this additive rule, for an edge collapse (vi , vj ) v¯ ij , we can associate a quadric Qi+j which approximates the error at v¯ ij , where Qi+j = Qi + Qj . This simple additive rule is one of the reasons for the efficiency of this approach.

When considering the contraction of an edge (vi , vj ), we need to determine the target position v¯ ij . We select the optimum position (v¯ ) as the one that minimizes Eq. (4.33). Since Eq. (4.33) is a quadratic, finding its minimum is a linear problem.

Taking partial derivatives of Eq. (4.33)

 

 

Q(v¯ ) = 2Av¯ + 2b.

(4.35)

Solving for Q(v¯ ) = 0, we find the optimum position to be

 

v

= −

A1b.

(4.36)

¯