CS 284: CAGD 
Lecture #12 -- Tue 10/02, 2012.


PREVIOUS < - - - - > CS 284 HOME < - - - - > CURRENT < - - - - > NEXT

Preparation:

Review:  "Intrinsic Properties of a Surface" by M. E. Mortenson  (handout).
 

Optionally: Read: 
"Root-3 Subdivision" by Leif Kobbelt (SIGGRAPH 2000).
Even more optionally: Read:  "Interpolatory Root-3 Subdivision" by Labsik and Greiner.

Warm-up: Define Schemes for Adaptive Mesh Refinement


Evaluation / Analysis of Subdivision Schemes

Testing / Evaluation by Visual Inspection

Formal Analysis of Blending / Subdivision Methods

Discussion of: "Root-3 Subdivision" by Leif Kobbelt (SIGGRAPH 2000).

The basic root-3 scheme.
Typical mesh generated.
The "rotation" implied by a single subdivision step.
Adaptive refinement to different levels -- may cause cracks.
Bad triangles or a large "transition zone" are generated to reach a desired deep level of subdivision.
Root-3 scheme has no crack problem and generates good transition zones.
Nice adptive refinement meshes on "the bunny".
Maintaining smooth boundaries in the root-3 scheme.
Forming cusps or creases by joining two patches along a common boundary curve.
The root-3 scheme allows finer gradation of uniform subdivision than the Loop scheme.

How would you do adaptive refinement in a quad scheme ?

Discussion of: "Interpolatory Root-3 Subdivision" by Labsik and Greiner.

The topological aspect is the same as in the above paper.

However the geometrical functions are different:
Because this is an interpolatory scheme, and vertices are place once and then left in place,
a more careful computation using a larger neighborhood of vertices needs to be used: -- the Butterfly stencil.



Mesh Data Structures

Tailored to 2-manifolds. Goals: efficiency, robustness.

Winged-edge data structure for orientable 2-manifolds (Baumgart)

-- describes a non-hierarchical boundary representation.
-- every edge connects to exactly two polygons, one on each side.


Half-edge data structure (e.g. http://www.flipcode.com/articles/article_halfedge.shtml)

-- a lean and regular variant for 2-manifolds.
-- can  use fixed-size data structures, even if valences and number of sides in meshes are not all the same!
-- in the triangle subdivision process, every half-edge gets subdivided, and new pairs of half-edges get introduced for the new central triangle.


A lean triangle hierarchy: just enough to do the dyadic Triangle subdivision for your homework

-- vertex list
-- triangle list (referencing the vertex list); each triangle also carries: surface pointer (material,color)
-- half-edge list with just enough connectivity information to find all vertices needed for the smoothing or interpolation step.
-- probably best to keep all subdivision generations separately side by side.



Assignments for Thu. Oct. 4, 2012:

Study: SS'98:  Subdivision Surfaces in Character Animation (Sharp Features)
As you study the paper, try to find the answers to the following questions:
  1. What subdivision scheme are they using ?
  2. What are the key additions to the basic scheme that they have made ?
  3. Why do they prefer quadrilaterals ?
  4. What is the basic approach to creating semi-sharp edges ?
  5. What is the underlying model for cloth simulation ?
  6. How is excessive wrinkling of the cloth avoided ?
  7. What are virtual threads ? -- and what is their purpose ?
  8. What is the data structure to make collision detection efficient ?
  9. How is it made possible to apply texture maps and procedural shaders ?
  10. What was one of the general implementation requirements for the Pixar production environment ?


Sketch a control mesh for an interesting mug to be used as test object in future subdivision assignments.

Start thinking about possible course projects.


PREVIOUS < - - - - > CS 284 HOME < - - - - > CURRENT < - - - - > NEXT
Page Editor: Carlo H. Séquin