80 likes | 207 Vues
This comprehensive overview of advanced parametric curves in computer graphics explores the mathematical foundations and applications of curves represented by functions of a real parameter. We delve into 1D explicit functions, 2D plane curves, and 3D space curves, discussing their use in object motion paths, interpolation, and robotic joint angles. Key concepts include tangent vectors, parametric speed, arc length parameterization, curvature, and torsion. This resource provides essential insights for understanding the dynamics of curves in graphical applications, including camera motion and rollercoaster design.
E N D
Parametric Curves CS 319 Advanced Topics in Computer Graphics John C. Hart
Coordinate Functions x(t) t • Vector function p of one real parameter t • 1-D explicit function curve p(t) = (t,x(t)) • 2-D plane curve p(t) = (x(t), y(t)) • 3-D space curve p(t) = (x(t), y(t), z(t)) • Parametric curves used tointerpolate and approximate • Cross sections (2-D) • Object motion paths (3-D) • Robot joint angles (n-D) x y y p(t) = (x(t), y(t)) y(t) t = 0 t = 1 t x 0 1
Tangent p’(t) p(t) • First derivative p’(t) points in direction of tangency p’(t) = (x’(t), y’(t), z’(t)) • Direction is tangent T(t) = p’(t)/||p’(t)|| • Parametric speed: ||p’(t)|| • Numeric version (forward difference) p’(t) (p(t + t) – p(t))/t • Useful if all you have is a black box p(t) • Used to denote direction and speed • Camera motion as a space curve • Camera points in tangent direction • Rollercoaster t = 0 t = 1
Arc Length p’(t) p(t) • Arc length parameterization • Parameter s defined as parameter t where length of curve from p(0) to p(t) equals s p(s) = {p(t) : s(t) = s} • Constant velocity: ||p’(s)|| = 1 • Watch the parameter: • We will use p(s) for arc length parameterization • And p(t) for ordinary parameterization t = 0 t = 1 p(s) p’(s) s = s(0) = 0 s = s(1) = curve length
Arc Length Example • Circular helix p(t) = (r cos t, r sin t, c t) • Parameter r controls radius of spiral • Parameter c controls vertical distance between spirals • Tangent: p’(t) = (-r sin t, r cos t, c) • Squared: p’(t)p’(t) = (r2 + c2) • In this special case t has vanished • Because parameter speed is constant • Integrated: s(t) = t (r2 + c2)1/2
Curvature p(s) p’(s) r • Curvature is the rate of change of the tangent • Extrinsic Curvature • Arc length k = ||p’’(s)|| • Plane curve k = (x’(t) y’’(t) – y’(t) x’’(t))/(x’2(t)+ y’2(t))3/2 • Space curve k = ||p’(t) p’’(t)|| / |p’(t)|3 • Osculating circle • Radius of curvature r(s) = 1/k(s) • Curvature units: 1/m s = 0 s = curve length
Torsion • Torsion indicates the winding direction of a space curve t(s) = r(s)p’(s)(p’’(s) p’’’(s)) = r(s) |p’(s) p’’(s) p’’’(s)| • Positive for “right handed” curves • Negative for “left handed” curves Triple Scalar Product
Frenet Frame p(s) p’(s) p’’(s) • Tangent: T(s) = p’(s) • Already unit length since parameterized by arc length • Normal: N(s) = p’’(s)/||p’’(s)|| • Normal points “inside” curve • Also p’’(s)/k(s) or r(s) p’’(s) • Binormal: B(s) = T(s)N(s) • Points perpendicular to the winding of the curve (like torsion) • Frenet frame: (T(s),N(s),B(s)) s = 0 s = curve length Frenet Formulas