Download presentation
Presentation is loading. Please wait.
1
Polygonal Simplification Techniques
Class Presentation Computational Geometry Comp 290
2
The Triangle Mesh In Computer Graphics, we routinely represent models a polygonal meshes Any surface can be approximated by a triangle mesh We will assume we have a mesh of triangles that we want to either simplify, producing one LOD simplify, producing a succession of LOD’s
3
Why Simplify the Mesh Fewer triangles -- faster rendering speed
Small detail may not be visible anyway Some model acquisition techniques produce models of uniform tesselation. Areas of low curvature don’t need to be as highly tesselated, so simplification may not reduce the quality of the model by much Smaller mesh uses less storage space
4
Pictures of LOD’s
5
Level Of Detail (LOD) Can simplify the same object by varying amounts, producing LOD’s Rendering algorithm can intelligently choose LOD in order to obtain: Obtain constant frame rate, or Best frame rate that guarantees a certain screen space error between image rendered with LOD and image rendered with full model
6
Progressive Mesh Hugues Hoppe in Siggraph 1996
Defines a continuous sequence of meshes M0, M1, …, Mn of increasing accuracy Representation of a model M = Mn: a base mesh M0 n detail records telling how to incrementally refine M0 exactly back to the original mesh Mn geomorphs can be efficiently constructed between any two meshes Mi and Mj Progressive Transmission Progressive transmission
7
Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals
Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References
8
Competing Goals Computational Efficiency Storage Efficiency Quality
Error metrics screen space v.s. model space geometry and attributes Global v.s. local optimization local may be faster global may simplify more which gives a better appearance?
9
Some Design Parameters
manifold v.s. non-manifold T-junctions and cracks topology preservation important in some areas if topology is allowed to change, then we can: close holes in objects join disconnected components when rendering, shape and attribute appearance are more important than topology
10
Attributes Color Normal Vectors Texture Coordinates Curvature
Material Properties
11
Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals
Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References
12
Vertex Clustering Rossignac and Borrel, 1993
Can handle arbitrary polygonal input Place a bounding box around original model and divide into a grid For each cell, all the vertices in the cell are clustered together into a single vertex Update model faces
13
Vertex Clustering Rossignac and Borrel, 1993
Can be very fast Often poor quality Difficult to construct an approximation with a specific face count Grid position and orientation matter Luebke and Erikson, 1997, generalized to use an octree (adaptive grid structure)
14
Vertex Decimation Schroeder et al., 1992
Loop until done For each vertex, measure its distance to the “average plane” of it’s neighbors Remove all vertices for which this distance is below some threshold triangulate the resulting holes adjust value of threshold parameter if necessary
15
Vertex Decimation Decimation Criterion
Average Plane Distance to plane
16
Edge Contraction Collapse an edge into a vertex
Used by many simplification algorithms Two vertices at the endpoints of the edge get merged into one The two faces incident to the edge each contract into an edge Only affects local neighborhood
17
Edge Contraction Contract Before After
18
Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals
Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References
19
Error Bounds Given two polygonal meshes P and Q
P and Q are -approximations of each other iff every point on P is within of some point of Q, and every point on Q is within of some point of P definition from Cohen et al., 1996 Given a viewing point and distance, error bounds let us choose the simplest LOD that guarantees a given screen space error
20
Error Bounds Min-# Approximations Min- Approximations
given , minimize the number of vertices Min- Approximations given a number of vertices, minimize computing minimal-facet -approximation is NP-hard for convex polytopes we will look at a few polynomial time approximation algorithms
21
Simplification Envelopes Cohen, Varshney et al.
Define a outer and an inner simplification envelope Iteratively simplify the model such that the simplified model remains between the two envelopes Can preserve sharp edges and boarders Can set adaptively across the model
22
Simplification Envelopes Offset Surface
Given a parametric surface f(s,t) = (f1(s,t), f2(s,t), f3(s,t)), with unit normal n(s,t) = (n1(s,t), n2(s,t), n3(s,t)) -offset surface is defined as f (s,t) = (f i(s,t), f i(s,t), f i(s,t)), where f (s,t) = fi(s,t) + ni(s,t)
23
Simplification Envelopes
A fundamental triangle is a triangle of the original mesh It’s fundamental prisim is the volume between the corresponding triangles on the inner and outer envelopes The sides of the prisim are bilinear patches
24
Simplification Envelopes Offset Surface
May self-intersect Self-intersections occur when an offset vertex lies in the Voronoi region of an adjacent fundamental triangle Voronoi edge b Originalsurface c+ b+ c Offset surface
25
Simplification Envelopes
Simplification envelope is a polygonal surface that lies within from every point p on I in the same (or opposite) direction as the normal at p Outer envelope is in the direction of the normal, inner envelope in opposite direction Reduce where necessary to avoid self-intersections
26
Simplification Envelopes
Start with input surface Iteratively modify hole creation: remove a connected set of triangles from the mesh hole filling: fill the hole with a smaller number of triangles Holes must be filled with triangles that lie between the two envelopes
27
Decimation via Pair Contraction Garland and Heckbert, 1997
Edge contraction generalized to pair contraction between arbitrary vertices (v1,v2) v’ merges v1 and v2 into one vertex v’ connects incident edges remove edges or faces that have become degenerate Local control--only affects neighborhood
28
Decimation via Pair Contraction
Pair Contraction can alter topology fill holes connect previously disconnected components Handles non-manifold surfaces Error is approximated with quadrics Not sure what this means geometrically; I can’t gain intuition from the math Used to maintain a cost function characterization of error at each vertex
29
Decimation via Pair Contraction Algorithm
Select all valid pairs Initialize cost function Select valid pairs (v1,v2) of vertices st. (v1,v2) is an edge, or |v1,v2| < t, where t is a threshold parameter Compute cost of contracting each valid pair Place pairs in a heap sorted by cost ...
30
Decimation via Pair Contraction Algorithm continued
... Iteratively remove from heap pair (v1,v2) of least cost contract (v1,v2) update cost of all pairs involving the vertices Produces a progressive mesh
31
Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals
Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References
32
Successive Mapping Cohen et al., 1997
This algorithm is really cool! Uses lots of ideas from computational geometry Gives tight error bounds on geometry Defines a piece-wise linear mapping between original surface and simplified surface Can produce a progressive mesh Algorithm tracks error both from original surface and from previous level of detail
33
Successive Mapping High-level Algorithm
Generic greedy algorithm Measure cost of all possible edge collapses Loop until no edged can be collapsed collapse edge with least cost (locally) re-compute cost of affected edges Output original model ordered list of edge collapses and assoc. cost
34
Successive Mapping Naïve Approach
Use natural mapping (picture from Cohen et al.,1997) Does not map from simplified surface back onto original surface Error may be larger than necessary
35
Successive Mapping planar projection
Cohen performs mapping using a planar projection of the local neighborhood called successive mappings Find a valid direction of projection that is one-to-one Re-triangulate in this plane Guaranteed no self-intersections if mapping is one-to-one
36
Successive Mapping validity test of planar projection
Check angle between projection direction and normal of triangles in the neighborhood direction of projection bad normal If this angle is greater than 90o for any triangle, then the direction is invalid Fast: only a single dot product and a sign test for each triangle
37
Successive Mapping finding valid projection
Gaussian sphere unit sphere where each point corresponds to a unit normal vector with same coordinates For each triangle, define a plane through the origin with the same normal as the triangle A projection direction if valid w.r.t. a triangle iff it its point on the Gaussian sphere lies on the correct side of this plane There is a half-space of valid directions
38
Successive Mapping finding valid projection
For a direction to be valid w.r.t. all the triangles, it must lie in the intersection of the triangles’ half-planes The intersection is a convex polyhedron--a cone with an unbounded base
39
Successive Mapping finding valid projection
Bound the last face by adding 6 more half-spaces--the faces of a cube containing the origin Construct a valid projection direction by finding a point inside the intersection and normalizing it’s length Use linear programming
40
Successive Mapping placing new vertex
Topology of mesh after edge collapse is determined, but we get to choose where to place the edge Orthographically project into a plane in the projection direction the neighborhood of the edge to be collapsed A valid position for the vertex is one that causes no edge crossings
41
Successive Mapping placing new vertex
from Cohen et al., 1997
42
Successive Mapping placing new vertex
The projection of the edge neighborhood into the plane is a star-shaped polygon The kernel of this polygon is the set of valid positions for the new vertex Use linear programming to find a valid vertex position Cohen presents a linear time algorithm to: test a candidate vertex position for validity, and find a valid vertex position, if one exists
43
Edge Contraction reminder
Before After
44
Successive Mapping create a mapping in the plane
45
Successive Mapping find 3D vertex position
We now have a piecewise linear mapping from the two local neighborhoods This mapping will serve as a mapping between the two successive meshes if we project each point back to the surface in the direction of projection The 3D position of the new vertex must lie on the line parallel to the direction of projection and passing through the its 2D position in the plane Finding its position is all we have left to do
46
Successive Mapping optimize 3D vertex position
Because the triangles are planar, the maximum distance between any two must be at the boundary For these triangles, it must actually be at a vertex The distance between respective border vertex positions is zero--they didn’t move Parameterize the position of the new vertex along the line by the single parameter t as t varies, the distance from an interior vertex to it’s mapped position on the other surface varies linearly optimize t to minimize the maximum distance
47
Successive Mapping bounding the error to original surface
Maintain a region that bounds the error between each LOD and the original surface Incrementally update the bounding regions in the local neighborhood of each edge collapse operation The portion of the original surface corresponding to a given triangle lies within the convolution of the triangle and the bounding volume
48
Appearance-Preserving Simplification Cohen et al., 1998
This algorithm is even more cool! Improves on Successive Mapping algorithm Projects into texture space instead of arbitrary plane Handles texture coordinates, normals, and other attributes gracefully, providing error bounds Decoupled representation
49
Appearance-Preserving Simplification
Can create not only texture maps, but also maps for other scalar fields maps for vector fields, e.g., like normal maps This algorithm decouples the normal field from the geometry defines a texture deviation metric to guarantee bounds on texture coordinate deviation total error metric - combines both geometric and texture error metrics
50
Appearance-Preserving Simplification
Algorithm similar to Successive Mapping, but instead of projecting into a plane, project into texture space Extra bookkeeping to track texture error Normal mapping lets the simplified model use the normals from the original triangles
51
Multiresolution Analysis
Elegant theoretical approach using wavelets Quite a few papers using this approach Store a base mesh along with the wavelet coefficients Applications include: compression as well as simplification progressive display and transmission LOD control multiresolution editing
52
Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals
Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References
53
Conclusion Many types of simplification algorithms
guarantee different things running times vary What’s the right one for me? depends on the application
54
References Cohen, Varshney, Manocha, Turk, Weber, Agarwal, Brooks, and Wright, Simplification Envelopes, Siggraph’96 Cohen, Manocha and Olano, Appearance-Preserving Simplification, Siggraph’98 Garland and Heckbert, Surface Simplification Using Quadric Error Metrics, Siggraph’97 Hoppe, Progressive Meshes, Siggraph96 Schroeder, Zarge and Lorensen, Decimation of Triangle Meshes, Computer Graphic July 1992 Turk, Re-Tiling Polygonal Surfaces, Computer Graphics July 1992 For a starting point to find papers on Multiresolution Analysis Eck et al., Multiresolution Analysis of Arbitrary Meshes, Siggraph’95
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.