Introduction to Polynomial Curves Part II Peter Schröder CS175 2005 1 Polar Forms Blossom Q For every polynomial F(u) of degree n there exists a unique symmetric multiaffine map f(u1,...,un) for which F(u)=f(u,...,u). This map is called the polar form. F(u) is called its diagonal and f is called the blossom of F. CS175 2005 2 Page 1 Example Cubic case CS175 2005 3 Polar Form Correspondence Differentiation Q differencing well defined, i.e., independent of un Q linear in τ Q CS175 2005 4 Page 2 Polar Form Differentiation CS175 2005 5 Polar Form Differentiation Q let f be a polar form and 0· p· n, and u ∈ R (fixed) then the following are equivalent Proof CS175 2005 6 Page 3 Continuity Two polynomials Q let F and G be two polynomials of degree n and let u be a point on the real line. Then F and G are Cq continuous at u iff CS175 2005 7 Bezier Segments Continuity conditions CS175 2005 8 Page 4 Bezier Points Finding control points Q the Bezier control points of F with respect to [s,t] are Proof CS175 2005 9 de Casteljau Alg. Evaluate Bezier form very stable Q convex combinations only Q CS175 2005 10 Page 5 de Casteljau Properties Q segment splitting, derivatives CS175 2005 11 Multiple Segments How to stick them together? can match first derivative easily Q second derivative? Q CS175 2005 12 Page 6 Modeling Bezier curves requires to keep track of continuity conditions explicitly... Possible, but very messy Q better: use basis which has continuity conditions built in! Q B-Splines CS175 2005 13 B-Splines Basic idea Q share arguments of control points CS175 2005 14 Page 7 Argument “Bags” Knotvector Q definition non-decreasing sequence, can have multiple entries (multiplicity) Q curve: Q CS175 2005 15 Knot Vector Example Q Bezier segments Q B-splines segments Q 2n knots yield n+1 control points Q moving window of size n (why?) CS175 2005 16 Page 8 Continuity Simple knots example Q n=3 just drawing arguments (pqr) (qrs) (qrv1) (rst) (rsv1) (rv1v2) (stx) (stv1) (rst) (rsv1) (sv1v2) evaluation at s (stx) (stv1) (sv1v2) (v1v2v3) Q (qrs) (txy) (txv1) (tv1v2) (v1v2v3) C2 at s: cubic B-splines are C2 CS175 2005 17 Continuity Doubling a knot Q lose one order of continuity (pqr) (qrs) (qrv1) (rss) (rsv1) (rv1v2) (rss) (ssv1) (sst) (ssv1) (sv1v2) (v1v2v3) Q (sst) (stv1) (sv1v2) evaluation at s (stx) (txy) (txv1) (tv1v2) (v1v2v3) now only C1 CS175 2005 18 Page 9 B-Splines Terms degree: highest exponent in polynomial Q order: 1+degree Q multiplicity of a knot: how many times repeated Q continuity: Cn-m with multiplicty m Q CS175 2005 19 B-Splines Definition Q recursive Q support CS175 2005 20 Page 10 B-Spline Definition Basis functions CS175 2005 21 de Boor Algorithm Recursion Q recursive definition of the basis is reflected in recursive structure on control points CS175 2005 22 Page 11 Evaluation CS175 2005 23 Evaluation Cubic spline Q two successive segments (pqr) (qrs) (qrv1) (rst) (rsv1) (rv1v2) (stx) (stv1) (sv1v2) (qrs) (rst) (rsv1) (stv1) (sv1v2) (v1v2v3) (stx) (txy) (txv1) (tv1v2) (v1v2v3) CS175 2005 24 Page 12 B-Splines de Boor Algorithm CS175 2005 25 B-Splines Knot insertion Q create new degree of freedom along curve CS175 2005 26 Page 13 Knot Insertion Example Q cubic spline: new knot CS175 2005 27 Knot Doubling Example Q increasing multiplicity: CS175 2005 28 Page 14 Other Properties Integrals and derivatives Q derivatives as differences Q Q B-spline: integrals Q Bernstein basis: CS175 2005 29 Degree Elevation Re-express as higher order curve Q by uniqueness Q example: quadratic to cubic Q Bezier control points? CS175 2005 30 Page 15 Polar Forms Curve manipulations splitting Q differentiation Q knot insertion Q increasing knot multiplicity Q degree elevation Q CS175 2005 31 What Else? Rational curves Q conic sections in homogeneous coordinates w y x CS175 2005 32 Page 16