cs 184 computer graphics
play

CS-184: Computer Graphics Lecture #14: Subdivision Prof. James - PowerPoint PPT Presentation

CS-184: Computer Graphics Lecture #14: Subdivision Prof. James OBrien University of California, Berkeley V2016-F-14-1.0 Subdivision Start with: Given control points for a curve or surface, find new control points for a sub-section


  1. CS-184: Computer Graphics Lecture #14: Subdivision Prof. James O’Brien University of California, Berkeley V2016-F-14-1.0 Subdivision • Start with: • Given control points for a curve or surface, find new control points for a sub-section of curve/surface • Key extension to basic idea: • Generalize to non-regular surfaces 2

  2. Consider NURBS Surface Displaced CV Coarse mesh Large bump Control mesh dictates feature size. 3 Consider NURBS Surface Displaced CV Fine mesh Small bump Control mesh dictates feature size. Excessive detail 4

  3. Tensor Product Surface Refinement Refinement must be constant across u or v directions 5 Bézier Subdivision x ( u ) = ∑ b i ( u ) p i i x ( u ) = [ 1 , u , u 2 , u 3 ] β z P Vector of control points   1 0 0 0 u ∈ [ 0 .. 1 ] − 3 3 0 0   β z =   3 − 6 3 0   − 1 3 − 3 1 6

  4. Bézier Subdivision x ( u ) = [ 1 , u , u 2 , u 3 ] β z P   1 0 0 0 u ∈ [ 0 .. 1 / 2 ] − 3 3 0 0   β z =   u ∈ [ 1 / 2 .. 1 ] 3 − 6 3 0   − 1 3 − 3 1 7 Bézier Subdivision x ( u ) = [ 1 , u , u 2 , u 3 ] β z P Can’t change these....   1 0 0 0 u ∈ [ 0 .. 1 ] − 3 3 0 0   β z =   u ∈ [ 0 .. 1 ] 3 − 6 3 0   − 1 3 − 3 1 8

  5. Bézier Subdivision x ( u ) = [ 1 , u , u 2 , u 3 ] β z P u ∈ [ 0 .. 1 2 ] 2 , u 2 4 , u 3 x ( u ) = [ 1 , u 8 ] β z P u ∈ [ 0 .. 1 ] x ( u ) = [ 1 , u , u 2 , u 3 ] S 1 β z P x ( u ) = [ 1 , u , u 2 , u 3 ] β z β − 1   z S 1 β z P 1 0 0 0 0 1 / 2 0 0   S 1 =   1 / 4 0 0 0   x ( u ) = [ 1 , u , u 2 , u 3 ] β z H z 1 P 1 / 8 0 0 0 9 Bézier Subdivision x ( u ) = [ 1 , u , u 2 , u 3 ] β z H z 1 P x ( u ) = [ 1 , u , u 2 , u 3 ] β z P 1 P 1 = H z 1 P   1 0 0 0 1 1 0 0   2 2 H z 1 =  1 1 1  0   4 2 4 1 3 3 1 8 8 8 8 10

  6. Bézier Subdivision x ( u ) = [ 1 , u , u 2 , u 3 ] β z P 2 P 2 = H z 2 P  1 1 1   1 3 3 1  1 2 4 8 8 8 8 8 1 1 1 1 1 3 0 0     4 2 4 S 2 = 2 2 8 H z 2 =  1 3   1 1  0 0 0 0     4 8 2 2 1 0 0 0 1 0 0 0 8 11 Bézier Subdivision P 2 · = H Z 2 P x ( u , v ) = [ 1 , u , u 2 , u 3 ] β z P β T z [ 1 , v , v 2 , v 3 ] T 4 x 4 matrix of control points 12

  7. Bézier Subdivision P 21 = H Z 2 P H T Z 1 x ( u , v ) = [ 1 , u , u 2 , u 3 ] β z P β T z [ 1 , v , v 2 , v 3 ] T 4 x 4 matrix of control points 13 Regular B-Spline Subdivision Orthographic top-down view 3D Perspective view 14

  8. Regular B-Spline Subdivision Orthographic top-down view 3D Perspective view 15 Regular B-Spline Subdivision x ( u , v ) = [ 1 , u , u 2 , u 3 ] β B P β T B [ 1 , v , v 2 , v 3 ] T P 11 = H B1 P H T B1 16

  9. Regular B-Spline Subdivision P 11 = H B1 P H T B1 In this parametric view these knot points are collocated. The 3D control points are not. 17 Regular B-Spline Subdivision P 11 = H B1 P H T B1 P 12 = H B1 P H T B2 18

  10. Regular B-Spline Subdivision P 11 = H B1 P H T B1 P 12 = H B1 P H T B2 P 22 = H B2 P H T B2 19 Regular B-Spline Subdivision P 11 = H B1 P H T B1 P 12 = H B1 P H T B2 P 22 = H B2 P H T B2 P 21 = H B2 P H T B1  1 3 1  0  1 1  0 0 8 4 8 2 2 1 1  0 0  1 3 1  0   2 2  8 4 8 H B2 =   H B1 =   1 3 1   0 1 1   0 0   8 4 8 2 2     1 1 0 0 1 3 1 0 2 2 8 4 8

  11. Regular B-Spline Subdivision P i + 1 = H P i 25 x 16 subdivision matrix Length 16 vector of coarse CPs Length 25 vector of fine CPs Regular B-Spline Subdivision P i + 1 = H P i Inspection would reveal a pattern • Face points • Edge points • Vertex points

  12. Regular B-Spline Subdivision f = v 1 + v 2 + v 3 + v 4 Face point Edge point 4 v 1 v 4 v 1 f e = v 1 + v 2 + f 1 + f 2 e f 1 f 2 4 v 2 v 3 v 2 Vertex point m 1 f 1 f 2 v = f 1 + f 2 + f 3 + f 4 + 2 ( m 1 + m 2 + m 3 + m 4 )+ 4 p p 16 m 4 v m 2 m midpoint of edge, not “edge point” f 3 f 4 m 3 p old “vertex point” Regular B-Spline Subdivision • Recall that control mesh approaches surface

  13. Regular B-Spline Subdivision • Limit of subdivision is the surface Irregular B-Spline Subdivision • Catmull-Clark Subdivision • Generalizes regular B-Spine subdivision An irregular patch Non-quad face Extraordinary vertex

  14. Irregular B-Spline Subdivision • Catmull-Clark Subdivision • Generalizes regular B-Spine subdivision • Rules reduce to regular for ordinary vertices/faces f = average of surrounding vertices e = f 1 + f 2 + v 1 + v 2 4 ¯ n + 2 ¯ f n + p ( n − 3 ) m v = n m = average of adjacent midpoints ¯ ¯ f = average of adjacent face points n = valence of vertex Catmull-Clark Subdivision 28

  15. Catmull-Clark Subdivision 29 Catmull-Clark Subdivision 30

  16. Catmull-Clark Subdivision 31 Continuity of Catmull-Clark • In “ordinary” regions C 2 • Surface is fully everywhere except extraordinary points • Fast evaluation by matrix exponentiation • See “ Exact Evaluation Of Catmull-Clark Subdivision Surfaces At Arbitrary Parameter Values” by Jos Stam, SIGGRAPH 1998. • At extraordinary points C 1 • Surface is at least • Curvature is Lipschitz continuous at extraordinary points 32

  17. Catmull-Clark Subdivision 33 Catmull-Clark Subdivision 34

  18. Catmull-Clark Subdivision 35 Catmull-Clark Subdivision 36

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