s bdi ision techniq es subdivision techniques
play

S bdi ision Techniq es Subdivision Techniques 1 Spring 2010 Curve - PowerPoint PPT Presentation

S bdi ision Techniq es Subdivision Techniques 1 Spring 2010 Curve Corner Cuttin Curve Corner Cutting Take two points on different edges of a polygon and j i join them with a line segment. Then, use this line h i h li Th hi li


  1. S bdi ision Techniq es Subdivision Techniques 1 Spring 2010

  2. Curve Corner Cuttin Curve Corner Cutting � Take two points on different edges of a polygon and j i join them with a line segment. Then, use this line h i h li Th hi li segment to replace all vertices and edges in between. This is corner cutting! This is corner cutting! � Corner cutting can be local or non-local. � A � A cut is local if it removes exactly one vertex and i l l if i l d adds two new ones. Otherwise, it is non-local . non-local cut all local cuts 2

  3. Sim Simple Corner Cuttin p p le Corner Cutting: g g : 1/5 1/5 � On each edge, choose two numbers u ≥ 0 and v ≥ 0 and u + v ≤ 1, and divide the edge in the ratio of u :1- ( u + v ): v . 1-( u + v ) u v � Here is how to cut a corner. 3

  4. Sim Simple Corner Cuttin p p le Corner Cutting: g g : 2/5 2/5 � Suppose we have a polyline P 0 . Divide its edges with the above scheme, yielding a new polyline P 1 . i h h b h i ldi l li P Dividing P 1 yields P 2 , …., and so on. What is P ∞ = Limit P i Li i P P i →∞ � The u ’s and v ’s do not have to be the same for every � The u ’s and v ’s do not have to be the same for every edge. Moreover, the u ’s and v ’s used to divide P i do not have to be equal to those u ’s and v ’s used to not have to be equal to those u s and v s used to divide P i +1 . 4

  5. Sim Simple Corner Cuttin p p le Corner Cutting: g g : 3/5 3/5 u = 1/3 and v = 1/4 P P 0 1/4 P P 1 P 2 1/3 5

  6. Sim Simple Corner Cuttin p p le Corner Cutting: g g : 4/5 4/5 � For a polygon, one more leg from the last point to the first must also be divided accordingly. u = 1/3 and v = 1/4 u = 1/3 and v = 1/4 6

  7. Sim Simple Corner Cuttin p p le Corner Cutting: g g : 5/5 5/5 � The following result was proved v by Gregory and Qu, de Boor, 1 and Paluszny, Prautzsch and 2 u+v ≤ 1 S Schäfer. f 1/2 � If all u ’s and v ’s lies in the u +2 v ≤ 1 u +2 v ≤ 1 interior of the area bounded by u 1 u ≥ 0, v ≥ 0, u +2 v ≤ 1 and 2 u+v ≤ 1/2 1/2 1, then P ∞ is a C 1 curve. � This procedure was studied by p y Chaikin in 1974, and was later proved that the limit curve is a p Chaikin used u = v = 1/4 B-spline curve of degree 2. 7

  8. FYI FYI � Subdivision and refinement has its first significant use in Pixar’s Geri’s Game use in Pixar s Geri s Game . � Geri’s Game received the Academy Award for Best Animated Short Film in 1997 Animated Short Film in 1997. � http://www.pixar.com/shorts/gg/ 8

  9. Facts about Subdivision Surfaces Facts about Subdivision Surfaces � Subdivision surfaces are limit surfaces : � It starts with a mesh � It is then refined by repeated subdivision � Since the subdivision process can be carried out infinite number of times, the intermediate , meshes are approximations of the actual subdivision surface. � Subdivision surfaces is a simple technique for describing complex surfaces of arbitrary describing complex surfaces of arbitrary topology with guaranteed continuity. � Also supports Multiresolution � Also supports Multiresolution. 9

  10. What Can You Ex What Can You Expect from …? p ect from …? � It is easy to model a large number of surfaces of various types. f i t � Usually, it generates smooth surfaces. � It has simple and intuitive interaction with models. � It can model sharp and semi-sharp features of surfaces. � Its representation is simple and compact ( e.g ., winged-edge and half-edge data structures etc) winged-edge and half-edge data structures, etc). � We only discuss 2-manifolds without boundary. 10

  11. Re Regular g g ular Quad Mesh Subdivision: Q Q uad Mesh Subdivision: 1/3 1/3 � Assume all faces in a mesh are quadrilaterals and each vertex has four adjacent faces. � From the vertices C 1 , C 2 , C 3 and C 4 of a 1 , 2 , 3 4 quadrilateral, four new vertices c 1 , c 2 , c 3 and c 4 can be computed in the following way (mod 4): p g y ( ) 3 9 3 1 = + + + c C C C C − + + i i 1 i i 1 i 2 16 16 16 16 � If we define matrix Q as follows: � If we define matrix Q as follows: ⎡ ⎤ 9 /16 3/16 1/16 3/16 ⎢ ⎢ ⎥ ⎥ 3/16 3/16 9 /16 9 /16 3/16 3/16 1/16 1/16 ⎢ ⎥ Q = ⎢ ⎥ 1/16 3/16 9 /16 3/16 ⎢ ⎢ ⎥ ⎥ ⎣ ⎣ ⎦ ⎦ 3/16 3/16 1/16 1/16 3/16 3/16 9 /16 9 /16 11

  12. Re Regular g g ular Quad Mesh Subdivision: Q Q uad Mesh Subdivision: 2/3 2/3 � Then, we have the following relation: ⎡ ⎤ ⎡ ⎤ c C 1 1 ⎢ ⎥ ⎢ ⎥ c C ⎢ ⎥ ⎢ ⎥ = ⋅ 2 Q Q 2 ⎢ ⎢ ⎥ ⎥ ⎢ ⎢ ⎥ ⎥ c C 3 3 ⎢ ⎥ ⎢ ⎥ c C ⎣ ⎦ ⎣ ⎦ 4 4 C 4 c 4 C 3 c 3 c 1 c 2 C 1 C C 2 1 12

  13. Re Regular g g ular Quad Mesh Subdivision: Q Q uad Mesh Subdivision: 3/3 3/3 � New vertices c 1 , c 2 , c 3 and c 4 of the current face are connected to the c i ’s of the neighboring faces to form new, smaller faces. � The new mesh is still a quadrilateral mesh. original mesh new mesh 13 this corner is cut!

  14. Arbitrar Arbitrary Grid Mesh y Grid Mesh � If a vertex in a quadrilateral ( resp ., triangular) mesh is not adjacent to four ( resp ., six) neighbors, it is an extraordinary vertex . � A non-regular quad or triangular mesh has extraordinary vertices and extraordinary faces. y y extraordinary vertices 14 triangular mesh quad mesh

  15. Doo-Sabin Subdivision: Doo-Sabin Subdivision: 1/6 1/6 � Doo and Sabin, in 1978, suggested the following for computing c i ’s from C i ’s: n = ∑ ∑ α c C C i ij j = j 1 where α ’s are defined as follows: where α ij ’s are defined as follows: ⎧ + 5 n = = ⎪ ⎪ 4 i i j j ⎪ n ⎪ α = ⎨ ij ⎪ ⎪ ⎡ ⎡ π − ⎤ ⎤ ⎛ ⎛ ⎞ ⎞ 1 2 ( ) i j ⎪ + ⎜ ⎟ 3 2cos otherwise ⎢ ⎥ ⎪ ⎝ ⎠ ⎣ ⎦ ⎩ 4 n n 15

  16. Doo-Sabin Subdivision: Doo-Sabin Subdivision: 2/6 2/6 � There are three types F -face V f V -face of faces in the new mesh. � A F f � A F -face is obtained i bt i d by connecting the c i ’s of a face. of a face. � An E -face is obtained by connecting the c i ’s y g i of the faces that share an edge. � A V -face is obtained by connecting the c i ’s th t that surround a d E -face vertex. 16

  17. Doo-Sabin Subdivision: Doo-Sabin Subdivision: 3/6 3/6 � Most faces are quadrilaterals. None four-sided faces are those V -faces and converge to points whose valency is not four ( i.e ., extraordinary vertices). � Thus, a large portion of the limit surface are , g p covered by quadrilaterals, and the surface is mostly a B-spline surfaces of degree (2,2). However, it is p g ( , ) , only G 1 everywhere. 17

  18. 3 3 6 18 Doo-Sabin Subdivision: 4/6 4/6 Doo-Sabin Subdivision: 2 2 5 5 1 4 4

  19. 3 3 19 5 5 Doo-Sabin Subdivision: 5/6 5/6 Doo-Sabin Subdivision: 2 2 4 4 1 1

  20. 3 3 20 Doo-Sabin Subdivision: 6/6 6/6 5 Doo-Sabin Subdivision: 2 2 4 1 1

  21. Catmull-Clark Al Catmull-Clark Algorithm: g orithm: 1/10 1/10 � Catmull and Clark proposed another algorithm in the same year as Doo and Sabin did (1978). � In fact, both papers appeared in the journal , p p pp j Computer-Aided Design back to back! � Catmull-Clark’s algorithm is rather complex It � Catmull Clark s algorithm is rather complex. It computes a face point for each face, followed by an edge point for each edge, and then a vertex an edge point for each edge, and then a vertex point for each vertex. � Once these new points are available a new mesh � Once these new points are available, a new mesh is constructed. 21

  22. rk Al Algo gori go go rithm: t hm: 2/10 / 0 / 0 Cat Cat Cat Catmull- u ll-Clark C a C a � Compute a face point for each face. This face point is the gravity center or centroid of the face, which is the average of all vertices of that face: 22

  23. rk Al Algo go gori go rithm: t hm: 3/ 3/ 0 3/10 3/ Cat Cat Cat Catmull- u ll-Clark C a C a � Compute an edge point for each edge. An edge point is the average of the two endpoints of that edge and the two face points of that edge’s adjacent faces. 23

  24. rk Al Algo go gori go rithm: t hm: 4/10 / 0 / 0 Catmull- Cat Cat Cat u ll-Clark C a C a � Compute a vertex point for each vertex v as follows: n − 1 2 3 = = v v Q + Q + R + R + v v ' n n n Q – the average of all new face f 2 m 1 points of v Q R R – the average of all mid-points the average of all mid-points ( i.e ., m i ’s) of vertex v f 1 v v - the original vertex g m 3 3 n - # of incident edges of v m 2 f f 3 R 24

  25. rk Al Algo go gori go rithm: t hm: 5/ 5/ 0 5/10 5/ Cat Cat Catmull- Cat u ll-Clark C a C a � For each face, connect its face point f to each edge point and connect each new vertex v ’ to the edge point, and connect each new vertex v to the two edge points of the edges incident to v. e f 25

  26. Catmull-Clark Algorithm: Catmull-Clark Algorithm: 6/10 6/10 face point edge point edge point vertex point vertex-edge connection ti 26 face-edge connection

Recommend


More recommend