CS 551/651: Simplification Continued David Luebke

advertisement
CS 551/651:
Simplification Continued
David Luebke
cs551dl@cs.virginia.edu
http://www.cs.virginia.edu/~cs551dl
DPL
7/27/2016
Assignment 3 Issues

Administrivia
– Interactive 3-D paper in copy cabinet
– Viewer & .poly files on web page

Triangulation algorithms
– Q: What is the difference between
triangulating polygons and holes?
– Q: What makes a “good” triangulation?
– Don’t get too caught up in this
DPL
7/27/2016
Assignment 3 Issues

Most people’s first taste of
computational geometry
– Data structure & algorithm issues
Ex: winged-edge mesh representation
 Ex: line segment intersection problem

– Numerical issues
Ex: co-linear points
 Ex: calculating polygon normal & area
 Q: What approaches might we take?

DPL
7/27/2016
Assignment 3 Issues
Take-home lesson: start soon
 Questions?

DPL
7/27/2016
Recap

Polygonal simplification or level of
detail methods simplify the polygonal
geometry of small or distant objects:
Preprocess
DPL
Run time
7/27/2016
Recap: Creating LODs

Q: How might you create LODs of a
polygonal object?
– SubQ: How might we generate a
version of the object with fewer
polygons?
– SubQ: What criteria might we try to
preserve in the simplified object?
DPL
7/27/2016
Recap: LOD Mechanism

SubQ: How might we generate a
version of the object with fewer
polygons?
– A: Four basic mechanisms:
Sample-and-reconstruct
Decimation
Vertex-merging

DPL
Adaptive subdivision
7/27/2016
Creating LODs:
Mechanism

Adaptive subdivision
– Create a very simple base model that
represents the model
– Selectively subdivide faces of base model
until fidelity criterion met (draw)
– Q: Why might this be hard?
– Q: Why might this not simplify model?
– Big potential application: multiresolution
modeling
DPL
7/27/2016
Creating LODs

SubQ: What criteria might we try to
preserve in the simplified object?
– A: Generally, its visual appearance
– But this is hard to quantify
Imperfectly understood visual system
 Very computationally intensive

– Often settle for geometric criteria like:
Distance from old surface to new surface
 Volume swept out by displaced surface

DPL
7/27/2016
Algorithm 1:
Vertex Clustering
Rossignac and Borrel, 1992
 Apply a uniform 3D grid to the object
 Collapse all vertices in each grid cell
to single most important vertex,
defined by:

– Curvature (1 / maximum edge angle)
– Size of polygons (edge length)

DPL
Filter out degenerate polygons
7/27/2016
Vertex Clustering

Resolution of grid determines
degree of simplification
– Coarse grid  lots of simplification
– Fine grid  little simplification

Representing degenerate triangles
– Edges  use OpenGL line primitive
– Points  use OpenGL point primitive
DPL
7/27/2016
Vertex Clustering

Low and Tan, 1997
– Refinement of Rossignac-Borrel
Use cos(max edge angle/2) for curvature
 Floating-cell clustering
 Thick lines and dynamic shading

DPL
7/27/2016
Vertex Clustering

Pros
– Fast, very fast
– Robust (topology-insensitive)

Cons
– Difficult to specify simplification degree
– Low fidelity (topology-insensitive)
– Underlying grid creates sensitivity to
model orientation in Rossignac-Borrel
DPL
7/27/2016
Vertex Clustering

Rossignac-Borrel examples:
10,108 polys 1,383 polys
DPL
Courtesy IBM
474 polys
46 polys
7/27/2016
Decimation

The algorithm: multiple passes over
al model vertices
– Consider each vertex for deletion
Characterize local geometyr/topology
 Evaluate criteria & possibly delete vertex
with surrounding triangles
 If deleted, triangulate resulting hole

DPL
7/27/2016
Decimation Issues
Characterizing vertices
 Decimation criteria

– Simple vertices: distance to plane
– Boundary & edge vertices: distance to
edge

DPL
Triangulating holes: loop splitting
7/27/2016
Outlook

More algorithms
– Quadric error metrics
– Simplification envelopes

Next topic: hardware
– Rendering pipeline
– Graphics architectures
DPL
7/27/2016
Download