Anda di halaman 1dari 28

Parametric Curves

Ref: 1, 2
Outline
Hermite curves
Bezier curves
Catmull-Rom splines
Frames along the curve
Hermite 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
Math …
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’ = -6s2+6s h3’= 3s2-4s+1 h4’= 3s2 – 2s

P(0)= P1, P(1)=P2;


P’(0)=T1, P’(1)=T2
Blending Functions

h2(s) h3(s) h4(s)


h1(s)

At s = 0: P(0) = P1
 h1 = 1, h2 = h3 = h4 = 0 P’(0) = T1
 h1’ = h2’ = h4’ = 0, h3’ = 1
At s = 1: P(1) = P2
 h1 = h3 = h4 = 0, h2 = 1 P’(1) = T2
 h1’ = h2’ = h3’ = 0, h4’ = 1
C1 Composite Curve

P(t)
Q(t) R(t)

More on Continuity
Composite Curve
t1
t3
P(t)
Q(t) R(t)
t0 t2

Each subcurve is defined in [0,1].


The whole curve (PQR) can be defined from [0,3]

To evaluate the position (and tangent)


Close Relatives
Bezier curves
Catmull-Rom splines
Bezier Curve (cubic, ref)
Defined by four
control points
de Casteljau
algorithm (engineer
at Citroën)
Bezier Curve (cont)
Also invented by
Pierre Bézier
(engineer of Renault)
Blending function:
Bernstein polynomial
Can be of any
degree

Degree n has (n+1) control points


First Derivative of Bezier Curves (ref)

Degree-n Bezier curve


Bernstein polynomial
Derivative of Bernstein
polynomial
First derivative of Bezier
curve
Qi  nPi 1  Pi 

Hodograph
Ex: cubic Bezier curve
2
P(t )   Bi , 2 (t )3Pi 1  Pi 
d
dt i 0

 3P1  P0 1  t   3P2  P121  t t  3P3  P2 t 2


2

P(0)  3P1  P0 
P(1)  3P3  P2 

Hence, to convert to/from Hermite curve:


P(0)  P0  p0   1 0 00  P0   P0  1 0 0 0   p0 
P(1)  P3 p   0
 1   0 01  P1   P  1 0 13 0   p1 
 1  
P(0)  3P1  P0   p0   3 3 00  P2   P2  0 1 0 1    
p0
       
3
P(1)  3P3  P2   
 p1   0 0  3 3  P3   P3  0 1 0 0   p1 
C1 Composite Bezier Curves
Bezier Curve Fitting
From Graphics Gems
(code)
Input: digitized data
points in R2
Output: composite
Bezier curves in
specified error
Bezier 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
Catmull-Rom spline (1974, ref)
Given n+1 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,Pi+1]
by using the two control points, and
specifying the tangent to the curve at each
control point to be (Pi+1–Pi-1)/2 and (Pi+2–Pi)/2
Tangents in first and last segments are
defined differently
PowerPoint Line Tool …
Gives you a Catmull-Rom
spline, open or close.
Ex: Catmull-Rom Curves
Reference Frames Along the Curve
Applications
 generalized cylinder
 Cinematography
Frenet frames
Rotation minimizing frame
Generalized Cylinder
Frenet Frame (Farin)

tangent vector

Unit vectors binormal vector : cross product

main normal vector


Frenet Frame
(arc-length parameterization)
In this notation, the curve is r(s) Express T’N’B’
(change rate of TNB)
Frenet-Serret Formula in terms of TNB



Orthonormal
expansion
Frenet-Serret Formula (cont)
In general parameterization r(t)

Curvature and torsion


r(t)=(x(t),y(t))
Geometric Meaning of k and t
curvature torsion

x(s+Ds)
(s)

Da: angle between t(s) and t(s+Ds)


Db: angle between b(s) and b(s+Ds)

More result on this reference


Frenet Frame Problem
Problem: vanishing second derivative at
inflection points
(vanishing normal)
Rotation 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
Continuity
Geometric Continuity Parametric Continuity
A curve can be described as C0: curves are joined
having Gn continuity, n being C1: first derivatives are equal
the increasing measure of C2: first and second derivatives
smoothness. are equal
G0: The curves touch at the Cn: first through nth derivatives
join point. are equal
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.
BACK

Anda mungkin juga menyukai