Class 4: More shapes, splines, subdivision

### Fractal solids, L-systems..

• Menger sponge
• Sierpinski tetrahedron
• L-systems
• "production rules", eg: F -> [-F +F]FF
• http://spanky.triumf.ca/www/fractint/lsys/tutor.html

### Edges, faces, verts

Platonic solids

• exactly 5, in 3D
• F+V=E+2
• stellated versions (Kepler polyhedra)
• polymeshes
• tiling patterns
• http://www.miqel.com/fractals_math_patterns/visual-math-platonic.html
• http://www.georgehart.com

### Blobbies/metaballs/isosurfaces

• based on 'field' equations - fields fall off with distance; fields overlap
• extract isosurfaces using Marching Cubes etc.
• particles -> blobs
• http://astronomy.swin.edu.au/~pbourke/modelling/implicitsurf/
• http://www.exaflop.org/docs/marchcubes/index.html
• http://www.essi.fr/~lingrand/MarchingCubes/presGene.html
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/blobsformation.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/blobbywire.jpg

### Spline curves

• curves that are exact fits to pts are not useful
• CVs
• basis functions that sum up
• parametric 'space'
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/splines_how.jpg
• knots, multiplicity
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/multiplicities.jpg
• types: Bezier, Hermite, Catmull-Rom, b-spline..
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/spline_types.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/bsp_bez_cat.jpg
• recursive eval: de Casteljau
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/deCast.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/pbsp.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/rbsp.jpg
• continuity
• http://www.doc.ic.ac.uk/~dfg/AndysSplineTutorial/index.html
• http://www.ibiblio.org/e-notes/Splines/Bezier.htm

### Spline surfaces

• two parameters, u and v
• "patches", continuity
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/bicubicpatch.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/uteapotpatches.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/gumbopatches.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/NURBS.jpg

### Subdivision surfaces

• for smoothing
• arbitrary topology
• vertex update equations, for smoothing
• like "whittling"
• http://www.holmes3d.net/graphics/subdivision/
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/triangsubd.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/cubesubd.jpg
• http://www.smartcg.com/tech/cg/courses/vismath/notes/Class04/imgs/torsubd.jpg