Title: Parametric Curves
1Parametric Curves
2Outline
- Hermite curves
- Bezier curves
- Catmull-Rom splines
- Frames along the curve
3Hermite Curves
- 3D curve of polynomial bases
- Geometrically defined by position and tangents of
end points - Able to construct C1 composite curve
- In CG, often used as the trace for camera with
Frenet frame, or rotation-minimizing frame
4Math
- h1(s) 2s3 - 3s2 1
- h2(s) -2s3 3s2
- h3(s) s3 - 2s2 s
- h4(s) s3 - s2
- P(s) P1h1(s) P2h2(s) T1h3(s) T2h4(s)
- P(s)P1h1(s) P2h2(s) T1h3(s) T2h4(s)
- h1 6s2-6s h2 -6s26s h3 3s2-4s1
h4 3s2 2s
P(0) P1, P(1)P2 P(0)T1, P(1)T2
5Blending Functions
h2(s)
h4(s)
h3(s)
h1(s)
- At s 0
- h1 1, h2 h3 h4 0
- h1 h2 h4 0, h3 1
- At s 1
- h1 h3 h4 0, h2 1
- h1 h2 h3 0, h4 1
P(0) P1 P(0) T1
P(1) P2 P(1) T2
6C1 Composite Curve
P(t)
Q(t)
R(t)
More on Continuity
7Composite Curve
Each subcurve is defined in 0,1. The whole
curve (PQR) can be defined from 0,3 To
evaluate the position (and tangent)
8Close Relatives
- Bezier curves
- Catmull-Rom splines
9Bezier Curve (cubic, ref)
- Defined by four control points
- de Casteljau algorithm (engineer at Citroën)
10Bezier Curve (cont)
- Also invented by Pierre Bézier (engineer of
Renault) - Blending function Bernstein polynomial
- Can be of any degree
Degree n has (n1) control points
11First Derivative of Bezier Curves (ref)
- Degree-n Bezier curve
- Bernstein polynomial
- Derivative of Bernstein polynomial
- First derivative of Bezier curve
- Hodograph
12Ex cubic Bezier curve
Hence, to convert to/from Hermite curve
13C1 Composite Bezier Curves
14Bezier Curve Fitting
- From Graphics Gems (code)
- Input digitized data points in R2
- Output composite Bezier curves in specified error
15Bezier Marching
- A path made of composite Bezier curves
- Generate a sequence of points along the path with
nearly constant step size - Adjust the parametric increment according to
(approximated) arc length
16Catmull-Rom spline (1974, ref)
- Given n1 control points P0,,Pn, we wish to
find a curve that interpolates these control
points (i.e. passes through them all), and is
local in nature (i.e. if one of the control
points is moved, it only affects the curve
locally). - We define the curve on each segment Pi,Pi1 by
using the two control points, and specifying the
tangent to the curve at each control point to be
(Pi1Pi-1)/2 and (Pi2Pi)/2 - Tangents in first and last segments are defined
differently
17PowerPoint Line Tool
- Gives you a Catmull-Rom spline, open or close.
18Ex Catmull-Rom Curves
19Reference Frames Along the Curve
- Applications
- generalized cylinder
- Cinematography
- Frenet frames
- Rotation minimizing frame
20Generalized Cylinder
21Frenet Frame (Farin)
? cross product
Unit vectors
22Frenet Frame (arc-length parameterization)
23Frenet-Serret Formula
In this notation, the curve is r(s)
Express TNB (change rate of TNB) in terms of
TNB
?
?
?
Orthonormal expansion
24Frenet-Serret Formula (cont)
In general parameterization r(t)
Curvature and torsion
r(t)(x(t),y(t))
25Geometric Meaning of k and t
curvature
torsion
x(sDs)
Da angle between t(s) and t(sDs)
Db angle between b(s) and b(sDs)
More result on this reference
26Frenet Frame Problem
- Problem vanishing second derivative at
inflection points - (vanishing normal)
27Rotation Minimizing Frame (ref)
- Use the second derivative to define the first
frame (if zero, set N0 to any vector ?T0) - Compute all subsequent Ti find a rotation from
Ti-1 to Ti rotate Ni and Bi accordingly - If no rotation, use the same frame
28Continuity
- Geometric Continuity
- A curve can be described as having Gn continuity,
n being the increasing measure of smoothness. - G0 The curves touch at the join point.
- G1 The curves also share a common tangent
direction at the join point. - G2 The curves also share a common center of
curvature at the join point.
- Parametric Continuity
- C0 curves are joined
- C1 first derivatives are equal
- C2 first and second derivatives are equal
- Cn first through nth derivatives are equal
BACK