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

Recommend


More recommend