CS 184: COMPUTER GRAPHICS
PREVIOUS
<     > CS
184 HOME <     > CURRENT
<     > NEXT
Lecture #25  Tu: 11/30, 2004
Review and Use of Splines
 Interpolating Splines (pass through all the data points;
example Hermite splines), and
 Approximating Splines (only come close to data points; example
BSplines).
 Parametric Continuity: differentiability of the parametric
representation (C0, C1, C2, ...)
 Geometric Continuity: smoothness of the resulting displayed
shape (G0=C0, G1=tangentcont., G2=curvaturecont. )
 Cubic Bezier Curves: How to draw them with deCasteljau method.
 Approximating a given curve: How to find suitable Bezier control points.
Use of Splines in Final Project:
Smooth camera paths.
Rollercoaster tracks.
Snake bodies.
Curved smooth bodies and shells.
A good introductory booklet on Splines with interactive demos:
"Interactive Curves and Surfaces," (with Multimedia Tutorial on CAGD),
A. Rockwood and P. Chambers, Morgan Kaufman Publishers, Inc.
Splines, Subdivision Surfaces, and Fractal Mountains
see Powerpoint slides.
Remarks about Final Project
Due
dates, deliverables.
Commonly Used Spatial Subdivision and Indexing Structures
Useful in many different contexts:
 They can be traversed in "fronttoback" order
for raytracing,
 or they can be traversed "backtofront" for
an objectspace "painter's algorithm".
 They are also useful in collision detection,
haptics interfaces, path planning ...

Regular
Grid  Simplest method; OK for scene with uniformly distributed content.

Octree
 You are already familiar with this: Nice regular, adaptive "grid".

kDTree
 A generalization: Recursively split bounding box along longest axis
near median of data.
 A variant for indoor
scenes, floor plans: Split along major occluding walls near middle.

BSP
(Binary Space Partitioning)  A generalization for scenes with big,
nonaxisaligned divider polygons.
Reading Assignment:
Study: 2ndEd: Ch 10.510.7; 11.611.7
Study: 3rdEd: Ch 10.510.7; 11.611.7
Project Due Date is Monday, December 13, 7:59pm.
PREVIOUS
<     > CS
184 HOME <     > CURRENT
<     > NEXT
Page Editor: Carlo H. Séquin