CS 284: CAGD
Lecture #1 -- Thu 8/23, 2012.
CS
284 HOME < - - - - > CURRENT
< - - - - > NEXT
Preparation:
read Rockwood (here is a passive copy -- for reading only): pp 1-30:
-- 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, -- e.g., for efficient collision detection)
- Point Clouds (reverse engineering, scanner data)
--- Course contents will be tailored somewhat to the interests of course participants.
==> Please fill in the Background Questionnaire (later).
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;
this may then serve as the control polygon for a spline or subdivision surface.
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; hands-on 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 ...
How did you decide to place the curve segments? What do the results 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 genus-2 object; -- see below).
-
Programming Assignments:
One multi-stage programming assignment to build a half-edge mesh data structure, and then to add texturing onto it.
(This is a 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!
==> Please fill in the Background Questionnaire now!
Expected Math Foundations
See Rockwood pp 9-19
-
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 20-30
-
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 Genus-2 Object ( = two-hole torus).
-- ( genus = number of holes in a disk, or number of handles attached to a sphere).
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.
E-mail to <sequin@cs.berkeley.edu> by: MON 8/27/2012, noon.
Also bring that write-up to next class (TUE) and be prepared to explain your approach in a few sentences.
Reading Assignment:
"RC" = Rockwood & Chambers
skim: RC pp 1-19;
review: RC pp 20-30;
read in preparation for next time: RC pp 31-48.
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