Download Presentation
## Parametric Curves

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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**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 Math … P(0)= P1, P(1)=P2; P’(0)=T1, P’(1)=T2**Blending Functions**• 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 h2(s) h4(s) h3(s) h1(s) P(0) = P1 P’(0) = T1 P(1) = P2 P’(1) = T2**C1 Composite Curve**P(t) Q(t) R(t) More on Continuity**t1**t3 P(t) Q(t) R(t) t2 t0 Composite Curve 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**Defined by four control points**de Casteljau algorithm (engineer at Citroën) Bezier Curve (cubic, ref)**Also invented by Pierre Bézier (engineer of Renault)**Blending function: Bernstein polynomial Can be of any degree Bezier Curve (cont) 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 • Hodograph**Ex: cubic Bezier curve**Hence, to convert to/from Hermite curve:**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**Gives you a Catmull-Rom spline, open or close.**PowerPoint Line Tool …**Reference Frames Along the Curve**• Applications • generalized cylinder • Cinematography • Frenet frames • Rotation minimizing frame**tangent vector**binormal vector main normal vector Frenet Frame (Farin) : cross product Unit vectors**In this notation, the curve is r(s)**Express T’N’B’ (change rate of TNB) in terms of TNB Frenet-Serret Formula Orthonormal expansion**Frenet-Serret Formula (cont)**In general parameterization r(t) Curvature and torsion r(t)=(x(t),y(t))**(s)**Geometric Meaning of k and t curvature torsion x(s+Ds) 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)**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 Rotation Minimizing Frame (ref)**Continuity**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