the essentials of cagd
play

The Essentials of CAGD Chapter 6: B ezier Patches Gerald Farin - PowerPoint PPT Presentation

The Essentials of CAGD Chapter 6: B ezier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd 2000 c Farin & Hansford The Essentials of


  1. The Essentials of CAGD Chapter 6: B´ ezier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd � 2000 c Farin & Hansford The Essentials of CAGD 1 / 46

  2. Outline Introduction to B´ ezier Patches 1 Parametric Surfaces 2 Bilinear Patches 3 B´ ezier Patches 4 Properties of B´ ezier Patches 5 Derivatives 6 Higher Order Derivatives 7 The de Casteljau Algorithm 8 Normals 9 10 Changing Degrees 11 Subdivision 12 Ruled B´ ezier Patches 13 Functional B´ ezier Patches 14 Monomial Patches Farin & Hansford The Essentials of CAGD 2 / 46

  3. Introduction to B´ ezier Patches The “Utah” teapot composed of B´ ezier patches Surfaces: – Basic definitions – Extend the concept of B´ ezier curves Farin & Hansford The Essentials of CAGD 3 / 46

  4. Parametric Surfaces Parametric curve: mapping of the real line into 2- or 3-space Parametric surface: mapping of the real plane into 3-space R 2 is the domain of the surface – A plane with a ( u , v ) coordinate system Corresponding 3D surface point:  f ( u , v )  x ( u , v ) = g ( u , v )   h ( u , v ) Farin & Hansford The Essentials of CAGD 4 / 46

  5. Parametric Surfaces Example: Parametric surface   u x ( u , v ) = v   u 2 + v 2 Only a portion of surface illustrated This is a functional surface Parametric surfaces may be rotated or moved around – More general than z = f ( x , y ) Farin & Hansford The Essentials of CAGD 5 / 46

  6. Bilinear Patches Typically interested in a finite piece of a parametric surface – The image of a rectangle in the domain The finite piece of surface called a patch Let domain be the unit square { ( u , v ) : 0 ≤ u , v ≤ 1 } Map it to a surface patch defined by four points � � b 0 , 0 � � 1 − v � b 0 , 1 � x ( u , v ) = 1 − u u b 1 , 0 b 1 , 1 v Surface patch is linear in both the u and v parameters ⇒ bilinear patch Farin & Hansford The Essentials of CAGD 6 / 46

  7. Bilinear Patches Bilinear patch: � � b 0 , 0 � � 1 − v � b 0 , 1 � x ( u , v ) = 1 − u u b 1 , 0 b 1 , 1 v Geometric interpretation: rewrite as x ( u , v ) = (1 − v ) p u + v q u where p u = (1 − u ) b 0 , 0 + u b 1 , 0 q u = (1 − u ) b 0 , 1 + u b 1 , 1 Farin & Hansford The Essentials of CAGD 7 / 46

  8. Bilinear Patches Example: Given four points b i , j and compute x (0 . 25 , 0 . 5)         0 1 0 1 b 0 , 0 = 0 b 1 , 0 = 0 b 0 , 1 = 1 b 1 , 1 = 1         0 0 0 1       0 1 0 . 25 p u = 0 . 75  + 0 . 25  = 0 0 0     0 0 0  0   1   0 . 25  q u = 0 . 75  + 0 . 25  = 1 1 1     0 1 0 . 25   0 . 25 x (0 . 25 , 0 . 5) = 0 . 5 p u + 0 . 5 q u = 0 . 5   0 . 125 Farin & Hansford The Essentials of CAGD 8 / 46

  9. Bilinear Patches Rendered image of patch in previous example Farin & Hansford The Essentials of CAGD 9 / 46

  10. Bilinear Patches Bilinear patch: x ( u , v ) = (1 − v ) p u + v q u Is equivalent to x ( u , v ) = (1 − u ) p v + u q v where p v = (1 − v ) b 0 , 0 + v b 0 , 1 q v = (1 − v ) b 1 , 0 + v b 1 , 1 Farin & Hansford The Essentials of CAGD 10 / 46

  11. Bilinear Patches Bilinear patch also called a hyperbolic paraboloid Isoparametric curve: only one parameter is allowed to vary Isoparametric curves on a bilinear patch ⇒ 2 families of straight lines (¯ u , v ): line constant in u but varying in v ( u , ¯ v ): line constant in v but varying in u Four special isoparametric curves (lines): ( u , 0) ( u , 1) (0 , v ) (1 , v ) Farin & Hansford The Essentials of CAGD 11 / 46

  12. Bilinear Patches A hyperbolic paraboloid also contains curves Consider the line u = v in the domain As a parametric line: u ( t ) = t , v ( t ) = t Domain diagonal mapped to the 3D curve on the surface d ( t ) = x ( t , t ) In more detail: � � b 0 , 0 � � 1 − t � b 0 , 1 � d ( t ) = 1 − t t b 1 , 0 b 1 , 1 t Collecting terms now gives d ( t ) = (1 − t ) 2 b 0 , 0 + 2(1 − t ) t [1 2 b 0 , 1 + 1 2 b 1 , 0 ] + t 2 b 1 , 1 ⇒ quadratic B´ ezier curve Farin & Hansford The Essentials of CAGD 12 / 46

  13. Bilinear Patches Example: Compute the curve on the surface for u ( t ) = t , v ( t ) = t  0  c 0 = b 0 , 0 = 0   0   0 . 5 c 1 = 1 2[ b 1 , 0 + b 0 , 1 ] = 0 . 5   0   1 c 2 = b 1 , 1 = 1   1 d ( t ) = c 0 B 2 0 ( t ) + c 1 B 2 1 ( t ) + c 2 B 2 2 ( t ) Farin & Hansford The Essentials of CAGD 13 / 46

  14. B´ ezier Patches Bilinear patch using linear Bernstein polynomials: � � B 1 � � b 0 , 0 � 0 ( v ) b 0 , 1 B 1 B 1 � x ( u , v ) = 0 ( u ) 1 ( u ) B 1 b 1 , 0 b 1 , 1 1 ( v ) Generalization: B n     b 0 , 0 . . . b 0 , n 0 ( v ) . . . � B m B m � . . . x ( u , v ) = 0 ( u ) . . . m ( u )     . . .     B n . . . n ( v ) b m , 0 b m , n = b 0 , 0 B m 0 ( u ) B n 0 ( v ) + . . . + b i , j B m i ( u ) B n j ( v ) + . . . + b m , n B m m ( u ) B n n ( v ) Examples: m = n = 1: bilinear m = n = 3: bicubic Farin & Hansford The Essentials of CAGD 14 / 46

  15. B´ ezier Patches    B n  b 0 , 0 . . . b 0 , n 0 ( v ) . . . � B m B m � . . . x ( u , v ) = 0 ( u ) . . . m ( u )     . . .     B n b m , 0 . . . b m , n n ( v ) Abbreviated as x ( u , v ) = M T B N 2-stage explicit evaluation method at given ( u , v ) Step 1: generate c i C = M T B = [ c 0 , . . . , c n ] Step 2: generate point on surface x ( u , v ) = C N (“explicit” because Bernstein polynomials evaluated) Farin & Hansford The Essentials of CAGD 15 / 46

  16. B´ ezier Patches x ( u , v ) = M T B N ⇒ x ( u , v ) = C N Control points c 0 , . . . , c n of C do not depend on the parameter value v Curve C N : curve on surface – Constant u – Variable v ⇒ isoparametric curve or isocurve Farin & Hansford The Essentials of CAGD 16 / 46

  17. B´ ezier Patches Example: Evaluate the 2 × 3 control net at ( u , v ) = (0 . 5 , 0 . 5)           0 3 6 9 0 0 0 0             6 0 0 6             0 3 6 9     B = 3 3 3 3             3 0 0 0             0 3 6 9     6 6 6 6           6 0 0 6 Step 1) Compute quadratic Bernstein polynomials for u = 0 . 5: M T = � � 0 . 25 0 . 5 0 . 25 ⇒ Intermediate control points           0 3 6 9 C = M T B = 3 3 3 3           4 . 5 0 0 3 B´ ezier points of an isoparametric curve containing x (0 . 5 , 0 . 5) Farin & Hansford The Essentials of CAGD 17 / 46

  18. B´ ezier Patches Step 2) Compute cubic Bernstein polynomials for v = 0 . 5:  0 . 125  0 . 375   N =   0 . 375   0 . 125   4 . 5 x (0 . 5 , 0 . 5) = C N = 3   0 . 9375 Farin & Hansford The Essentials of CAGD 18 / 46

  19. B´ ezier Patches Another approach to 2-stage explicit evaluation: x ( u , v ) = M T B N D = B N x = M T D v -isoparametric curve Farin & Hansford The Essentials of CAGD 19 / 46

  20. Properties of B´ ezier Patches B´ ezier patches properties essentially the same as the curve ones Endpoint interpolation: 1 – Patch passes through the four corner control points – Control polygon boundaries define patch boundary curves Symmetry: 2 Shape of patch independent of corner selected to be b 0 , 0 Affine invariance: 3 Apply affine map to control net and then evaluate identical to applying affine map to the original patch Convex hull property: 4 x ( u , v ) in the convex hull of the control net for ( u , v ) ∈ [0 , 1] × [0 , 1] Bilinear precision: Sketch on next slide 5 Tensor product: 6 ⇒ evaluation via isoparametric curves Farin & Hansford The Essentials of CAGD 20 / 46

  21. Properties of B´ ezier Patches A degree 3 × 4 control net with bilinear precision Boundary control points evenly spaced on lines connecting the corner control points Interior control points evenly-spaced on lines connecting boundary control points on adjacent edges Farin & Hansford The Essentials of CAGD 21 / 46 Patch identical to the bilinear interpolant to the four corner control points

  22. Properties of B´ ezier Patches Tensor product property very powerful conceptual tool for understanding B´ ezier patches Shape as a record of the shape of a template moving through space Template can change shape as it moves Shape and position is guided by “columns” of B´ ezier control points Farin & Hansford The Essentials of CAGD 22 / 46

  23. Derivatives A derivative is the tangent vector of a curve on the surface Called a partial derivative There are two isoparametric curves through a surface point The v = constant curve is a curve on the surface with parameter u – Differentiate with respect to u x u ( u , v ) = ∂ x ( u , v ) ∂ u Called the u − partial Farin & Hansford The Essentials of CAGD 23 / 46

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend