Rational Bézier Patch Differentiation using the Rational Forward Difference Operator Xianming Chen Richard Riesenfeld Elaine Cohen School of Computing University of Utah CGI 05 p.1/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension Zheng and Sederberg [Zheng03] derive simple formulation for rational surface curvature, emphasizing the geometric intuition CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension Zheng and Sederberg [Zheng03] derive simple formulation for rational surface curvature, emphasizing the geometric intuition We focus on the derivation of a general formulation for differentiation based on rational control mesh CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension Zheng and Sederberg [Zheng03] derive simple formulation for rational surface curvature, emphasizing the geometric intuition We focus on the derivation of a general formulation for differentiation based on rational control mesh specialization to polynomial case. CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension Zheng and Sederberg [Zheng03] derive simple formulation for rational surface curvature, emphasizing the geometric intuition We focus on the derivation of a general formulation for differentiation based on rational control mesh specialization to polynomial case. dimension extension CGI 05 p.2/37
Introduction For polynomial Bézier patches, the formulation is elegant and well-known [Farin02, Hoschek93, Cohen01]. For rational Bézier patches, Use quotient rule. Complicated for higher order and/or dimension Zheng and Sederberg [Zheng03] derive simple formulation for rational surface curvature, emphasizing the geometric intuition We focus on the derivation of a general formulation for differentiation based on rational control mesh specialization to polynomial case. dimension extension simple and unified implementation CGI 05 p.2/37
Recall: Polynomial Fwd Diff & Deriv Curves: 0 [i] = P [i] r [i] = r 1 [i + 1] r 1 [i] x r (0) = n! (n r)! r[0] CGI 05 p.3/37
Recall: Polynomial Fwd Diff & Deriv Curves: Surfaces: 0 [i] = P [i] r [i] = r 1 [i + 1] r 1 [i] x r (0) = 00 [i][j] = P [i][j] n! (n r)! r[0] rs [i][j] = r 1,s [i + 1][j] r 1,s [i][j] or rs [i][j] = r,s 1 [i][j + 1] r,s 1 [i][j] x rs (0, 0) = m! (m r)! n! (n s)! rs[0][0] CGI 05 p.3/37
Question? Can we find similar formulations for rational Bézier curves/surfaces? CGI 05 p.4/37
Answer Partly Yes, CGI 05 p.5/37
Answer Partly Yes, We are able to define, the rational forward difference operator. CGI 05 p.5/37
Answer Partly Yes, We are able to define, the rational forward difference operator. Have similar formulation for curve differentiation of 1 st, 2 nd, and 3 rd order. CGI 05 p.5/37
Answer Partly Yes, We are able to define, the rational forward difference operator. Have similar formulation for curve differentiation of 1 st, 2 nd, and 3 rd order. Have similar formulation for surface differentiation of 1 st and 2 nd order. CGI 05 p.5/37
Shape Computation κ = x x x 3 τ = [x x x ] x x = (x x ) x 2 x x ( ) 2 L M II =, where L = x M N uu N = x uu (x u x v ) x u x v, etc CGI 05 p.6/37
Shape Computation κ = x x x 3 τ = [x x x ] x x = (x x ) x 2 x x ( ) 2 L M II =, where L = x M N uu N = x uu (x u x v ) x u x v, etc Components depending on lower order derivatives: No Effect on shape computation! CGI 05 p.6/37
Equivalent Derivatives For any coefficients a and b Curves x = x + ax x = x + ax + bx CGI 05 p.7/37
Equivalent Derivatives For any coefficients a and b Curves x = x + ax Surfaces x = x + ax + bx x uv = x uv + ax u + bx v x uu = x uu + ax u + bx v x vv = x vv + ax u + bx v CGI 05 p.7/37
Equivalent Derivatives For any coefficients a and b Curves x = x + ax Surfaces x = x + ax + bx x uv = x uv + ax u + bx v x uu = x uu + ax u + bx v x vv = x vv + ax u + bx v x and x have the same effect for shape computation CGI 05 p.7/37
Example x [x ] x CGI 05 p.8/37
Fast Forward: Results of Rational Bézier Curve Rational Case x (0) = n 1 [0] x (0) = n(n 1) 2 [0] x (0) = n(n 1)(n 2) 3 [0] CGI 05 p.9/37
Fast Forward: Results of Rational Bézier Curve Rational Case x (0) = n 1 [0] x (0) = n(n 1) 2 [0] x (0) = n(n 1)(n 2) 3 [0] Polynomial case x (0) = n 1 [0] x (0) = n(n 1) 2 [0] x (0) = n(n 1)(n 2) 3 [0] CGI 05 p.9/37
Fast Forward: Results of Rational Bézier Curve Rational Case x (0) = n 1 [0] x (0) = n(n 1) 2 [0] x (0) = n(n 1)(n 2) 3 [0] CGI 05 p.9/37
Fast Forward: Results of Rational Bézier Surface Rational Case x u (0, 0) = m 10 [0][0] x v (0, 0) = m 01 [0][0] x uu (0, 0) = m(m 1) 20 [0][0] x uv (0, 0) = mn 11 [0][0] x vv (0, 0) = n(n 1) 02 [0][0] CGI 05 p.10/37
Fast Forward: Results of Rational Bézier Surface Rational Case x u (0, 0) = m 10 [0][0] x v (0, 0) = m 01 [0][0] x uu (0, 0) = m(m 1) 20 [0][0] x uv (0, 0) = mn 11 [0][0] x vv (0, 0) = n(n 1) 02 [0][0] Polynomial Case x u (0, 0) = m 10 [0][0] x v (0, 0) = m 01 [0][0] x uu (0, 0) = m(m 1) 20 [0][0] x uv (0, 0) = mn 11 [0][0] x vv (0, 0) = n(n 1) 02 [0][0] CGI 05 p.10/37
Fast Forward: Results of Rational Bézier Surface Rational Case x u (0, 0) = m 10 [0][0] x v (0, 0) = m 01 [0][0] x uu (0, 0) = m(m 1) 20 [0][0] x uv (0, 0) = mn 11 [0][0] x vv (0, 0) = n(n 1) 02 [0][0] CGI 05 p.10/37
Curvature and Torsion κ = x x x 3 = n 1 n = x x x 3 1 2 1 3 CGI 05 p.11/37
Curvature and Torsion κ = x x x 3 = n 1 n = x x x 3 1 2 1 3 τ = [x x x ] x x 2 = [x x x ] x x 2 = n 2 n [ 1 2 3 ] 1 2 2 CGI 05 p.11/37
First Fundamental Form ( ) E F I = = F G ( ) xu x u x u x v x v x u x v x v = ( mm 10 10 mn 10 01 nm 01 10 nn 01 01 ) CGI 05 p.12/37
Second Fundamental Form ( ) L M II = M N = x uu n x uv N = x vu n x vv N x uu n x uv N x vu n x vv N = m(m 1) [ 10 01 20 ] 10 01 mn [ 10 01 11 ] 10 01 nm [ 10 01 11 ] 10 01 n(n 1) [ 10 01 02 ] 10 01 CGI 05 p.13/37
To Be Defined So, What is the Rational Forward Operator,? CGI 05 p.14/37
Homogeneous Point [0, 12, 4] [4, 6, 2] homogeneous point [P, W ], where P R n, W R represents the Euclidean point P/W R n [4, 0, 2] CGI 05 p.15/37
Rational Forward Operator For a rational control mesh of points [P, W ], P R n and W R, define where r : r (P, W )[s] = r(p )[s]w [s] r (W )[s]p [s] W [s] 2 the orders of all (partial) derivatives, such as 2 (curves), 02 (surfaces) etc. s : the indices to the control point, where the r-th order rational forward difference is evaluated, such as [1] or [0][1]. r (P )[s] : the usual polynomial forward difference of order r at the s-th control point of control mesh P in R n r (W )[s] : the usual polynomial forward difference of order r at the s-th control point of control mesh W in R 1 CGI 05 p.16/37
Side Note:Implementation Apply polynomial forward difference operator to the control mesh CGI 05 p.17/37
Side Note:Implementation Apply polynomial forward difference operator to the control mesh If rational Bézier, i.e., controls points actually in homogeneous form, apply the rationalization procedure in the definition CGI 05 p.17/37
Side Note:Implementation Apply polynomial forward difference operator to the control mesh If rational Bézier, i.e., controls points actually in homogeneous form, apply the rationalization procedure in the definition Shape computation based on rational/polynomial forward difference CGI 05 p.17/37
Why? Bézier Curve Bézier Surface x (0) = n 1 [0] x (0) = n(n 1) 2 [0] x (0) = n(n 1)(n 2) 3 [0] x u (0, 0) = m 10 [0][0], x v (0, 0) = m 01 [0][0] x uu (0, 0) = m(m 1) 20 [0][0] x uv (0, 0) = mn 11 [0][0] x vv (0, 0) = n(n 1) 02 [0][0] CGI 05 p.18/37
Bézier Curves: 1 st Order Derivative x(t) = p(t) w(t), x (t) = (p w w p) w 2, p = n(p [1] P [0] = n 1 (P ), w = n(w [1] W [0]) = n 1 (W ), x = n 1(P )W [0] 1 (W )P [0] W [0] 2, CGI 05 p.19/37
Bézier Curves: 1 st Order Derivative x = n 1. x(t) = p(t) w(t), x (t) = (p w w p) w 2, p = n(p [1] P [0] = n 1 (P ), w = n(w [1] W [0]) = n 1 (W ), x = n 1(P )W [0] 1 (W )P [0] W [0] 2, CGI 05 p.19/37
Bézier Curves: 1 st Order Derivative x = n 1. x(t) = p(t) w(t), x (t) = (p w w p) w 2, p = n(p [1] P [0] = n 1 (P ), w = n(w [1] W [0]) = n 1 (W ), x = n 1(P )W [0] 1 (W )P [0] W [0] 2, CGI 05 p.19/37
Bézier Curves: 2 nd Order Derivative x = (p w w p) w 2 x = (p w w p) w 2 + (p w w p ) w 2 + (p w w p) ( 1 w 2 ) CGI 05 p.20/37
Bézier Curves: 2 nd Order Derivative x = (p w w p) w 2 x = (p w w p) w 2 + (p w w p ) w 2 + (p w w p) ( 1 w 2 ) 2 nd term is 0 CGI 05 p.20/37
Bézier Curves: 2 nd Order Derivative x = (p w w p) w 2 x = (p w w p) w 2 + (p w w p ) w 2 + (p w w p) ( 1 w 2 ), 2 nd term is 0, 3 rd term is parallel to x. Therefore CGI 05 p.20/37
Bézier Curves: 2 nd Order Derivative x = (p w w p) w 2 x = (p w w p) w 2 + (p w w p ) w 2 + (p w w p) ( 1 w 2 ), 2 nd term is 0, 3 rd term is parallel to x. Therefore x = (p w w p) w 2 x = n(n 1) 2 CGI 05 p.20/37
Bézier Curves: 2 nd Order Derivative x = (p w w p) w 2 x = (p w w p) w 2 + (p w w p ) w 2 + (p w w p) ( 1 w 2 ), 2 nd term is 0, 3 rd term is parallel to x. Therefore x = (p w w p) w 2 x = n(n 1) 2 CGI 05 p.20/37
Bézier Curves: 3 rd Order Derivative x = (p w w p) w 2 + (p w w p) ( 1 w 2 ) CGI 05 p.21/37
Bézier Curves: 3 rd Order Derivative x = (p w w p) w 2 + (p w w p) ( 1 w 2 ) Differentiating 2 nd term generates only terms which are spanned by x and x, and can be discarded x = p w w p + p w w p w 2 w 2 CGI 05 p.21/37
Bézier Curves: 3 rd Order Derivative x = (p w w p) w 2 + (p w w p) ( 1 w 2 ) Differentiating 2 nd term generates only terms which are spanned by x and x, and can be discarded x = p w w p + p w w p w 2 w 2 If p w w p w 2 is spanned by (x, x ), i.e., (p w w p, p w w p), we would have x = n(n 1)(n 2) 3 CGI 05 p.21/37
Bézier Curves: 3 rd Order Derivative x = (p w w p) w 2 + (p w w p) ( 1 w 2 ) Differentiating 2 nd term generates only terms which are spanned by x and x, and can be discarded x = p w w p + p w w p w 2 w 2 If p w w p w 2 is spanned by (x, x ), i.e., (p w w p, p w w p), we would have x = n(n 1)(n 2) 3 CGI 05 p.21/37
Proof for 3 rd Order Equivalent Derivative Vanishing triple scalar product. (p w w p) (p w w p) (p w w p ) = ((p p )w 2 (p p )ww (p p)ww ) (p w w p ) = (p p )ww w p (p p)ww p w = 0 CGI 05 p.22/37
Bézier Surfaces: 1 st Order Derivative x(u, v) = p(u, v) w(u, v) x u = (p uw w u p), x w 2 v = (p vw w v p) w 2 x u = m 10(P )W [0][0] 10 (W )P [0][0] W [0][0] 2 = m 10 x v = n 01(P )W [0][0] 01 (W )P [0][0] W [0][0] 2 = n 01 CGI 05 p.23/37
Bézier Surfaces: 2 nd Order Derivative x uu = m(m 1) 20, x vv = n(n 1) 02 CGI 05 p.24/37
Bézier Surfaces: 2 nd Order Derivative x uu = m(m 1) 20, x vv = n(n 1) 02 x u = (p uw w u p) w 2 x uv = (p uvw w uv p) + (p uw v w u p v ) w 2 w 2 CGI 05 p.24/37
Bézier Surfaces: 2 nd Order Derivative x uu = m(m 1) 20, x vv = n(n 1) 02 x u = (p uw w u p) w 2 x uv = (p uvw w uv p) + (p uw v w u p v ) w 2 w 2 2 nd term in the tangent plane, ((p u w w u p) (p v w w v p)) (p u w v w u p v ) = (w 2 p u p v w u wp p v ww v p u p) (p u w v w u p v ) = w u ww v [pp v p u ] + ww v w u [p u pp v ] = 0 CGI 05 p.24/37
Bézier Surfaces: 2 nd Order Derivative x uu = m(m 1) 20, x vv = n(n 1) 02 x u = (p uw w u p) w 2 x uv = (p uvw w uv p) + (p uw v w u p v ) w 2 w 2 2 nd term in the tangent plane, ((p u w w u p) (p v w w v p)) (p u w v w u p v ) = (w 2 p u p v w u wp p v ww v p u p) (p u w v w u p v ) = w u ww v [pp v p u ] + ww v w u [p u pp v ] = 0 x uv = mn 11 CGI 05 p.24/37
Bézier Surfaces: 2 nd Order Derivative x uu = m(m 1) 20, x vv = n(n 1) 02 x u = (p uw w u p) w 2 x uv = (p uvw w uv p) + (p uw v w u p v ) w 2 w 2 2 nd term in the tangent plane, ((p u w w u p) (p v w w v p)) (p u w v w u p v ) = (w 2 p u p v w u wp p v ww v p u p) (p u w v w u p v ) = w u ww v [pp v p u ] + ww v w u [p u pp v ] = 0 x uv = mn 11 CGI 05 p.24/37
Ex.1: Curvature of Ellipse [0, 2b, 2 ] [a, b, 1] Consider first quadrant The control mesh, x 2 a 2 + y2 b 2 = 1 [P, W ][0] = [a, 0, 1] [P, W ][1] = [a, b, 1] [P, W ][2] = [0, 2b, 2] Y Z X [a, 0, 1] CGI 05 p.25/37
Ex. 1: Curvatures of An Ellipse -Cont. 1 First order polynomial forward differences at the 0-th control point. 1 (P )[0] = P [1] P [0] = [a, b] [a, 0] = [0, b] 1 (W )[0] = W [1] W [0] = 0 CGI 05 p.26/37
Ex. 1: Curvatures of An Ellipse -Cont. 1 First order polynomial forward differences at the 0-th control point. 1 (P )[0] = P [1] P [0] = [a, b] [a, 0] = [0, b] 1 (W )[0] = W [1] W [0] = 0 First order rational forward differences at the 0-th control point. 1 [0] = 1(P )[0] W [0] 1 (W )[0] P [0] W [0] 2 = [0, b] + 0[a, 0] 1 = [0, b] CGI 05 p.26/37
Ex. 1: Curvatures of An Ellipse -Cont. 2 1 (P )[1] = P [2] P [1] = [0, 2b] [a, b] = [ a, b] 1 (W )[1] = W [2] W [1] = 1 2 (P )[0] = 1 (P )[1] 1 (P )[0] = [ a, 0] 2 (W )[0] = 1 (W )[1] 1 (W )[0] = 1 CGI 05 p.27/37
Ex. 1: Curvatures of An Ellipse -Cont. 2 1 (P )[1] = P [2] P [1] = [0, 2b] [a, b] = [ a, b] 1 (W )[1] = W [2] W [1] = 1 2 (P )[0] = 1 (P )[1] 1 (P )[0] = [ a, 0] 2 (W )[0] = 1 (W )[1] 1 (W )[0] = 1 2 [0] = 2(P )[0] W [0] 2 (W )[0] P [0] W [0] 2 = [ a, 0] [a, 0] 1 = [ 2a, 0] CGI 05 p.27/37
Ex. 1: Curvatures of An Ellipse -Cont. 3 At (a, 0), the ellipse has a curvature of, x 2 a 2 + y2 b 2 = 1, κ = n 1 n = 2ab 2b 3 1 2 = a/b2 1 3 CGI 05 p.28/37
Rational Fwd Diff in the Context of NURBS [-a, 3b, 3] [a, b, 1] Y Z X Same ellipse, but defined with knot vector 1, 0, 1, 2, [a, -b, 1] CGI 05 p.29/37
What Changes We Have to Make Polynomial forward difference has to be normalized CGI 05 p.30/37
What Changes We Have to Make Polynomial forward difference has to be normalized Apply rationalization the same way to get our rational forward difference CGI 05 p.30/37
NURBS: Normalized Polynomial Fwd Diff knot vector: 1, 0, 1, 2, control mesh: [P, W ][0] = [a, b, 1], [P, W ][1] = [a, b, 1], [P, W ][2] = [ a, 3b, 3] CGI 05 p.31/37
NURBS: Normalized Polynomial Fwd Diff knot vector: 1, 0, 1, 2, control mesh: [P, W ][0] = [a, b, 1], [P, W ][1] = [a, b, 1], [P, W ][2] = [ a, 3b, 3] 1 st order polynomial forward differences at the 0-th control point. 1 (P )[0] = 1 (W )[0] = P [1] P [0] = 1 ( 1) W [1] W [0] 1 ( 1) [a, b] [a, b] 2 = 0 = [0, b] CGI 05 p.31/37
NURBS: Normalized Polynomial Fwd Diff knot vector: 1, 0, 1, 2, control mesh: [P, W ][0] = [a, b, 1], [P, W ][1] = [a, b, 1], [P, W ][2] = [ a, 3b, 3] 1 st order polynomial forward differences at the 0-th control point. 1 (P )[0] = 1 (W )[0] = Normalization factor P [1] P [0] = 1 ( 1) W [1] W [0] 1 ( 1) [a, b] [a, b] 2 = 0 = [0, b] CGI 05 p.31/37
NURBS: Normalized Polynomial Fwd Diff knot vector: 1, 0, 1, 2, control mesh: [P, W ][0] = [a, b, 1], [P, W ][1] = [a, b, 1], [P, W ][2] = [ a, 3b, 3] 1 st order polynomial forward differences at the 0-th control point. 1 (P )[0] = 1 (W )[0] = Normalization factor P [1] P [0] = 1 ( 1) W [1] W [0] 1 ( 1) [a, b] [a, b] 2 = 0 from the knot vector. = [0, b] CGI 05 p.31/37
NURBS: 1 st Order Rational Fwd Diff 1 [0] = 1(P )[0] W [0] 1 (W )[0] P [0] W [0] 2 = [0, b] 0[a, b] 1 2 = [0, b] CGI 05 p.32/37
NURBS: 2 nd Order Rational Fwd Diff Normalized polynomial forward differences P [2] P [1] [ a, 3b] [a, b] 1 (P )[1] = = = [ a, b], 2 0 2 W [2] W [1] 1 (W )[1] = = 1. 2 0 2 (P )[0] = 1(P )[1] 1 (P )[0] = [ a, b] [0, b] = [ a, 0], 1 0 2 (W )[0] = 1(W )[1] 1 (W )[0] = 1. 1 0 CGI 05 p.33/37
NURBS: 2 nd Order Rational Fwd Diff Normalized polynomial forward differences Rationalization P [2] P [1] [ a, 3b] [a, b] 1 (P )[1] = = = [ a, b], 2 0 2 W [2] W [1] 1 (W )[1] = = 1. 2 0 2 (P )[0] = 1(P )[1] 1 (P )[0] = [ a, b] [0, b] = [ a, 0], 1 0 2 (W )[0] = 1(W )[1] 1 (W )[0] = 1. 1 0 2 [0] = 2(P )[0] W [0] 2 (W )[0] P [0] W [0] 2 = [ a, 0] [a, b] 1 2 = [ 2a, b] CGI 05 p.33/37
Curvature of B-spline Ellipse [-a, 3b, 3] [a, b, 1] Y Z X [a, -b, 1] κ = n 1 n = 2ab 2b 3 = a b 2 1 2 1 3 CGI 05 p.34/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i CGI 05 p.35/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i CGI 05 p.35/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i x ti t j = (p t i t j w w ti t j p) + (p t i w tj w ti p tj ) w 2 w 2 CGI 05 p.35/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i x ti t j = (p t i t j w w ti t j p) + (p t i w tj w ti p tj ) w 2 w 2 Again, the 2 nd term is in the tangent hyper-plane, because [(p t0 w w t0 p) (p tm 1 w w tm 1 p) (p ti w tj w ti p tj )] = [( w m 1 w ti ) p t0 p ti 1 p p ti+1 p tm 1 (p ti w tj )] = 0 [( w m 1 w tj ) p t0 p tj 1 p p tj+1 p tm 1 (p tj w ti )] CGI 05 p.35/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i x ti t j = (p t i t j w w ti t j p) + (p t i w tj w ti p tj ) w 2 w 2 Again, the 2 nd term is in the tangent hyper-plane, because [(p t0 w w t0 p) (p tm 1 w w tm 1 p) (p ti w tj w ti p tj )] = [( w m 1 w ti ) p t0 p ti 1 p p ti+1 p tm 1 (p ti w tj )] = 0 [( w m 1 w tj ) p t0 p tj 1 p p tj+1 p tm 1 (p tj w ti )] x ti t i = n i (n i 1) ti t i, i = 0,, m 1 x ti t j = n i n j ti t j, i, j = 0,, m 1, i j CGI 05 p.35/37
Rational Bézier Hyper-Surfaces: 2 nd order derivatives x ti = t i ( ) p(t 0,,t m 1 ) w(t 0,,t m 1 ) = p t i w w ti p w 2 = n i i x ti t j = (p t i t j w w ti t j p) + (p t i w tj w ti p tj ) w 2 w 2 Again, the 2 nd term is in the tangent hyper-plane, because [(p t0 w w t0 p) (p tm 1 w w tm 1 p) (p ti w tj w ti p tj )] = [( w m 1 w ti ) p t0 p ti 1 p p ti+1 p tm 1 (p ti w tj )] = 0 [( w m 1 w tj ) p t0 p tj 1 p p tj+1 p tm 1 (p tj w ti )] x ti t i = n i (n i 1) ti t i, i = 0,, m 1 x ti t j = n i n j ti t j, i, j = 0,, m 1, i j CGI 05 p.35/37
Any Questions? CGI 05 p.36/37
Thanks! CGI 05 p.37/37
References [Cohen01] [Farin02] Elaine Cohen, Richard F. Riesenfeld, and Gershon Elber. Geometric Modeling with Splines:An Introduction. A K Peters, 1 edition, 2001. Gerald Farin. Curves and Surfaces for CAGD: A Practical Guide. Academic Press, 5 edition, 2002. [Hoschek93] Josef Hoschek, Dieter Lasser, and Larry L. Schumaker. Fundamentals of computer aided geometric design. A. K. Peters, Ltd., 1993. ISBN 1-56881-007-5. [Zheng03] Jianmin Zheng and T. W. Sederberg. Gaussian and mean curvatures of rational Bézier patches. Computer Aided Geometric Design, 20(6):297 301, 2003. 37-1