Lecture #13b -- Tu 10/10, 2006 -- Assignment B (to be done individually)

Use the SLIDE filesCS284/CODE/minSubdiv.slf
and CS284/CODE/subdivision.slf
to test many of the subdivision schemes accessible from the menu that
do NOT have the word "SELECTIVE" in their name.

**NOTE: Not all methods work with all objects** (Some methods in this implementation seem not to work with any objects ... :-)

**NOTE: **The subdivision module starts up in **
SLF_SUBDIVISION_SHARP_CATMULL_CLARK -- even though the label says differently !
**

Within this SLIDE program, **compare the capabilities of the various schemes
**to make smooth, evenly rounded objects with as few concavities or undulations as possible
for convex starting objects. One of the tougher test objets is "gHexPrism1"
because of the many coplanar facets and the sharp edges in the input net.

You can activate different objets by "un-commenting" different instance commands in lines 300-340 in the subdivision.slf file.

Pick a second object of your choice from the given list.

The third test object should be one of your own design; it should be non-convex and of genus >1 -- How does this get handled by the various methods?

Now take a closer look at these methods:

**SLF_SUBDIVISION_SHARP_CATMULL_CLARK**

-- Catmull-Clark cubic, anything goes -- including sharp tags.-
SLF_SUBDIVISION_DOO_SABIN --- Ignore: always crashes !

-- Doo-Sabin quadratic, it must be a closed mesh. -
SLF_SUBDIVISION_CORNER_CUTTING --- Ignore: always vanishes !

-- All of the CORNER_... schemes generalize the Loop topological split for arbitrary polygons

by creating a triangle at each corner by connecting the two adjacent edge midpoints. -
SLF_SUBDIVISION_CORNER_ROUNDING --- Not quite right either !

**SLF_SUBDIVISION_CORNER_ROUNDING_SHARP_LOOP**

-- Loop quartic scheme (if the input is all triangles), sharp tags are OK.**SLF_SUBDIVISION_CORNER_ROUNDING_BUTTERFLY**

-- Butterfly interpolating scheme, must be a closed object.**SLF_SUBDIVISION_CORNER_ROUNDING_ZORIN**

-- Zorin's enhanced interpolating scheme, must be a closed object.-
SLF_SUBDIVISION_TRIANGLE_LOOP --- Not quite right either !

-- All of the TRIANGLE_... schemes are the same as the CORNER_... schemes,

but they insert a vertex in the center of non-triangles to triangulate them in the first step;

afterwards they run the classic subdivision schemes. **SLF_SUBDIVISION_TRIANGLE_BUTTERFLY****SLF_SUBDIVISION_TRIANGLE_ZORIN**

**Report your observations on these test runs**.

As a second way of focusing on the capabilities of the different schemes
-- and using very much what you have learned from the four papers -- consider
the following task:

Assume you have given the 20 vertices of a regular
dodecahedron and would like to have a very finely tessellated, sphere-like,
subdivision surface that interpolates these 20 vertices.

Try to do this
with two different subdivision schemes: an interpolating one and an approximating
one.

Which two schemes would you use ? -- Why ? -- How ?

Describe the initial control mesh complete with a value for the circum-radius (or scale factor)
for each of the chosen schemes. Discuss the trade-offs of the resulting
surfaces.

Provide two images that show the control mesh and a (reasonably)
smooth version of the surface (i.e., don't push SLIDE to the limit ...).

**Bring your reports to class on Tuesday 10/17/2006.**

Page Editor: Carlo H. Séquin