CS 284: CAGD
Lecture #1  Wed 8/26, 2009.
CS
284 HOME <     > CURRENT
<     > NEXT
Preparation:
read Rockwood: pp 130:
 Ch 1: History of CAGD
 Ch 2: Math background
Lecture Topics
Introduction to CAGD

What is CAGD ?
Subset of CAD; originally mostly shipbuilding, automotive, aeroplanes;
mostly smooth, curved shapes.

Motivation for COE Students:
CS: smooth motions for movies; ME: freeform parts; Math: data fitting
...
 Course Content:
see information on home page... (and below)
Key Course Topics

Interpolation (a very useful key topic)

Subdivision (more than in the past)

Splines (less than in the past)
... all on 1, 2, (and 3)manifolds

Curve and surface optimization
 Remeshing, reparametrization
 Texture (and displacement) mapping

Implicit Surfaces (cleanup of bad designs)
 Distance Fields (adaptive schemes for encoding 3D shapes)
 Point Clouds (reverse engineering, scanner data)
 content will be tailored somewhat to interests of course participants.

Background Questionnaire:
Please fill in !
Course Goal
 Learn how to make smooth curves and surfaces that fit certain constraints.
 TREND: Make it easier on the user (even though underlying formulation may get
more complex).
 TREND: Optimization will play an ever bigger role (compute power is available).
 A common key concept:
Use a simple (piecewise linear) shape, with the fewest degrees of
freedom (DoF) necessary,
to define and control an associated (smooth, continuous) design
shape.
Course Administration
 Where does CS 284 fit in ?
Should have had some computer graphics or CAD course;
(e.g. CS 184,  but this is much more than you need).
 Teaching Style:
Application oriented; learning by doing;
(even the chosen textbook has an interactive component).
Intuitive introduction first; handson experience; math later.
Interactive lectures, Q&A;  I want everybody to participate actively!
Many small homework assignments initially, to deepen understanding, "close feedback loop".
 The Key Problem of CAGD:
Handout: Experiment  connect the dots ...
What do the result tell us ?
 Reading Assignments:
Important; ==> you get much more out of class discussions.
(First readings are from Rockwood and Chambers, later some SIGGRAPH papers).

Conceptual Thinking Assignments:
Equally important; ==> to make sure you can apply the discussed material.
(A first example is below: How to make a genus2 object).

Programming Assignments:
One twostage assignment to build a halfedge mesh data structure, and then to add texturing onto it.
(This is a very key data structure useful in many applications).

Course
Projects:
Reimplement the key algorithm from some (siggraph?) paper;
Create some utility that solves a particular task (possibly for your own use);
Design an interesting virtual or real object (and possibly build it on our FDM machine).
(Examples from previous courses)
 Quizzes/Exams:
Probably just one quiz, somewhere in the middle of the semester,
to check whether the key concepts have sunk in.
NO Final Exam!
Expected Math Foundations
See Rockwood pp 919

Parametric Curves and Surfaces
 not just single valued height fields, can handle infinite slope, can be subjected to transformations ...

Derivatives, Tangents, Normals
 velocity vector = vector of all component derivatives;  if <>0, normalize to 1;
 surface normal = normal on all tangent vectors

Linear Interpolation

Basis Vectors
Some Possibly New Concepts
See Rockwood pp 2030

Hodograph
 plot of parameterized derivative vector

Winding Number of a (closed, oriented) Curve around a Point
 how many times does it loop around that point ?

Turning Number of a (closed) Curve
 if v<>0 it is equal to winding number of hodograph around origin.
 Parametric Continuity
 all component functions are differentiable

Geometric Continuity
 visual appearance is smooth, ignore parametrization!

Basis Functions
 see definition 14, page 29 ...
First Homework Assignment:
A Conceptual Task: (to make you conscious of what we are up against).
Think about how you would model
 with the tools that you have already at your disposal 
a completely
smooth Genus2 Object ( = twohole torus).
 ( genus = number of holes in a disk, or number of handles attached to a sphere).
DUE: MON 8/31/06, 10:40am.
You don't actually have to build a CAD model for this shape,
but think through all the steps that you would have to go through,
and estimate how long it might take you.
In a couple of paragraphs, write down your thoughts on how you would
do this
and bring that writeup to next class;
also be prepared to explain your approach in a few sentences.
Next Reading Assignment:
"RC" = Rockwood & Chambers
skim: RC pp 119;
review: RC pp 2030;
read in preparation for next time: RC pp 3148.
You should find access to a Windows machine and download the CAGD_LAB from:
http://www.cs.berkeley.edu/%7Esequin/CS284/CAGD_LAB/CAGD_LAB.rar
CS
284 HOME <     > CURRENT
<     > NEXT
Page Editor: Carlo H. Séquin