Stuff from graphics that you might not have gotten (or might need in a little more depth)
- Curves and Signal Processing (not necessarily topics you put together)
- and optimization
- Multi-dimensional Interpolation
- tensor product surfaces
Curves
- 1D curves (not considering constraints between things)
- usually cartesian dimensions (x,y,z)
- does not work when we get to rotations (matrix constrained to be rotation, …)
the basics
- function of 1 dimension (time)
- x,y=f(t)
- see curve notes
different views
- shape representation
- signal processing (how do I manipulate it? given simple representations)
- optimization (how do I recreate it from a simple representation)
dense representations
- uniform sampled (have values of f(t) only for integer t (or multiple)
- seems like all you need for animation (sample per frame)
- inevitably, care about what happens in between
- best to think about as a sampling of a continuous signal
- intuitions of frequency (not exactly the same as continuity)
- reconstruction / re-sampling
- filtering / smoothing
optimization (variational) descriptions
- constraints on where the curve goes
- minimum principles on what happens elsewhere
- continuous (minimum is an integral) –> variational problem
- discrete (minimum is set of points) –> approximation to variational problem
- as short as possible ( min |x(i)-x(i-1)| ) (discrete first derivative)
- as smooth as possible ( min change of direction at each point ) (discrete 2nd deriv, curvature)
- laplacian operator
- matches the original (in some property – often laplacian)
- many others possible
- WHY?
- generates curves from constraints
- encode properties we want in the minimum principle
- laplacian editing (we’ll come back to this)
- provide rules that generate in-between points from a given set
- curve is defined by the limit
- example
- lines (between every 2 points, insert one half-way)
- interpolating 4pt –1/16, 9/16, 9/16, –1/16
- corner cutting (cut @ 1/4 3/4)
- double and filter (average pairs – repeat, does shorten list)
- bezier construction (de castlejau rule)
piecewise polynomials
- break curve into segments
- parameterize in a convenient way
- deal with continuity
- basis function view
- catmull-rom cubics (cardinals)
- C(1)