Smooth Surfaces Dr Scott Schaefer 1 Smooth Surfaces

  • Slides: 97
Download presentation
Smooth Surfaces Dr. Scott Schaefer 1

Smooth Surfaces Dr. Scott Schaefer 1

Smooth Surfaces Lagrange Surfaces u Interpolating sets of curves n Bezier Surfaces n B-spline

Smooth Surfaces Lagrange Surfaces u Interpolating sets of curves n Bezier Surfaces n B-spline Surfaces n Subdivision Surfaces n 2/96

Lagrange Surfaces 3/96

Lagrange Surfaces 3/96

Lagrange Surfaces 4/96

Lagrange Surfaces 4/96

Lagrange Surfaces 5/96

Lagrange Surfaces 5/96

Lagrange Surfaces 6/96

Lagrange Surfaces 6/96

Lagrange Surfaces 7/96

Lagrange Surfaces 7/96

Lagrange Surfaces 8/96

Lagrange Surfaces 8/96

Lagrange Surfaces 9/96

Lagrange Surfaces 9/96

Lagrange Surfaces 10/96

Lagrange Surfaces 10/96

Lagrange Surfaces 11/96

Lagrange Surfaces 11/96

Lagrange Surfaces 12/96

Lagrange Surfaces 12/96

Lagrange Surfaces 13/96

Lagrange Surfaces 13/96

Lagrange Surfaces 14/96

Lagrange Surfaces 14/96

Lagrange Surfaces 15/96

Lagrange Surfaces 15/96

Lagrange Surfaces 16/96

Lagrange Surfaces 16/96

Lagrange Surfaces – Properties Surface interpolates all control points n The boundaries of the

Lagrange Surfaces – Properties Surface interpolates all control points n The boundaries of the surface are Lagrange curves defined by the control points on the boundary n 17/96

Interpolating Sets of Curves n Given a set of parametric curves p 0(u), p

Interpolating Sets of Curves n Given a set of parametric curves p 0(u), p 1(u), …, pn(u) , build a surface that interpolates them 18/96

Interpolating Sets of Curves n Given a set of parametric curves p 0(u), p

Interpolating Sets of Curves n Given a set of parametric curves p 0(u), p 1(u), …, pn(u) , build a surface that interpolates them Evaluate each curve at parameter value u, then use these points as the control points for a Lagrange curve of degree n n Evaluate this new curve at parameter value v n 19/96

Bezier Surfaces 20/96

Bezier Surfaces 20/96

Bezier Surfaces 21/96

Bezier Surfaces 21/96

Bezier Surfaces 22/96

Bezier Surfaces 22/96

Bezier Surfaces 23/96

Bezier Surfaces 23/96

Bezier Surfaces 24/96

Bezier Surfaces 24/96

Bezier Surfaces 25/96

Bezier Surfaces 25/96

Bezier Surfaces 26/96

Bezier Surfaces 26/96

Bezier Surfaces 27/96

Bezier Surfaces 27/96

Bezier Surfaces 28/96

Bezier Surfaces 28/96

Bezier Surfaces 29/96

Bezier Surfaces 29/96

Bezier Surfaces 30/96

Bezier Surfaces 30/96

Bezier Surfaces – Properties Surface lies in convex hull of control points n Surface

Bezier Surfaces – Properties Surface lies in convex hull of control points n Surface interpolates the four corner control points n Boundary curves are Bezier curves defined only by control points on boundary n 31/96

B-spline Surfaces 32/96

B-spline Surfaces 32/96

B-spline Surfaces 33/96

B-spline Surfaces 33/96

B-spline Surfaces 34/96

B-spline Surfaces 34/96

B-spline Surfaces 35/96

B-spline Surfaces 35/96

B-spline Surfaces 36/96

B-spline Surfaces 36/96

B-spline Surfaces 37/96

B-spline Surfaces 37/96

B-spline Surfaces 38/96

B-spline Surfaces 38/96

B-spline Surfaces 39/96

B-spline Surfaces 39/96

B-spline Surfaces 40/96

B-spline Surfaces 40/96

B-spline Surfaces 41/96

B-spline Surfaces 41/96

B-spline Surfaces 42/96

B-spline Surfaces 42/96

B-spline Surfaces 43/96

B-spline Surfaces 43/96

B-spline Surfaces 44/96

B-spline Surfaces 44/96

B-spline Surfaces 45/96

B-spline Surfaces 45/96

B-splines Surfaces Example 46/96

B-splines Surfaces Example 46/96

B-splines Surfaces Example 47/96

B-splines Surfaces Example 47/96

B-splines Surfaces Example 48/96

B-splines Surfaces Example 48/96

B-splines Surfaces Example 49/96

B-splines Surfaces Example 49/96

B-splines Surfaces Example 50/96

B-splines Surfaces Example 50/96

B-splines Surfaces Example 51/96

B-splines Surfaces Example 51/96

B-splines Surfaces Example 52/96

B-splines Surfaces Example 52/96

B-splines Surfaces Example 53/96

B-splines Surfaces Example 53/96

B-splines Surfaces Example 54/96

B-splines Surfaces Example 54/96

B-splines Surfaces Example 55/96

B-splines Surfaces Example 55/96

B-spline Surface – Properties Surface inside convex hull of control points n Guaranteed to

B-spline Surface – Properties Surface inside convex hull of control points n Guaranteed to be smooth everywhere n Smoothness is determined by number of averaging steps n 56/96

Arbitrary Topology Surfaces 57/96

Arbitrary Topology Surfaces 57/96

Arbitrary Topology Surfaces 58/96

Arbitrary Topology Surfaces 58/96

Subdivision Surfaces Originally a generalization of B-spline surfaces to arbitrary topology n Guaranteed to

Subdivision Surfaces Originally a generalization of B-spline surfaces to arbitrary topology n Guaranteed to be smooth n Geri’s Game copyright Pixar 59/96

Subdivision Surfaces n Set of rules S applied recursively to some polygon shape p

Subdivision Surfaces n Set of rules S applied recursively to some polygon shape p 0 pk+1 = S(pk) 60/96

Subdivision Surfaces Assume surface is made out of quads u Any number of quads

Subdivision Surfaces Assume surface is made out of quads u Any number of quads may touch a single vertex n Subdivision rules: linear subdivision followed by averaging n 61/96

Linear Subdivision 62/96

Linear Subdivision 62/96

Linear Subdivision 63/96

Linear Subdivision 63/96

Averaging 64/96

Averaging 64/96

Averaging 65/96

Averaging 65/96

Averaging Centroid (average of four black vertices) 66/96

Averaging Centroid (average of four black vertices) 66/96

Averaging 67/96

Averaging 67/96

Subdivision Surfaces – Examples 68/96

Subdivision Surfaces – Examples 68/96

Subdivision Surfaces – Examples 69/96

Subdivision Surfaces – Examples 69/96

Subdivision Surfaces – Examples 70/96

Subdivision Surfaces – Examples 70/96

Subdivision Surfaces – Examples 71/96

Subdivision Surfaces – Examples 71/96

Subdivision Surfaces – Examples 72/96

Subdivision Surfaces – Examples 72/96

Subdivision Surfaces – Examples 73/96

Subdivision Surfaces – Examples 73/96

Subdivision Surfaces – Examples 74/96

Subdivision Surfaces – Examples 74/96

Subdivision Surfaces – Examples 75/96

Subdivision Surfaces – Examples 75/96

Subdivision Surfaces – Examples 76/96

Subdivision Surfaces – Examples 76/96

Implementing Linear Subdivision linear. Sub ( F, V ) new. V = V new.

Implementing Linear Subdivision linear. Sub ( F, V ) new. V = V new. F = {} for each face Fi for j = 1 to 4 ej = get. Vert ( Fi, j, Fi, j+1) add centroid to new. V and store index in c for j = 1 to 4 add face (Fi, j, ej, c, ej-1) to new. F return (new. F, new. V) 77/96

Implementing Linear Subdivision get. Vert ( i 1, i 2 ) if orderless key

Implementing Linear Subdivision get. Vert ( i 1, i 2 ) if orderless key (i 1, i 2) not in hash add midpoint of V[i 1], V[i 2] to new. V hash[(i 1, i 2)] = index of new point return hash[(i 1, i 2)] 78/96

Implementing Average( F, V ) new. V = 0 * V val = array

Implementing Average( F, V ) new. V = 0 * V val = array of 0 whose size is number of vertices new. F = F for each face Fi cent = centroid for Fi new. V[Fi] += cent val[Fi] += 1 for each vertex new. V[i] /= val[i] return (new. F, new. V) 79/96

Subdivision Surfaces – Examples 80/96

Subdivision Surfaces – Examples 80/96

Subdivision Surfaces – Examples 81/96

Subdivision Surfaces – Examples 81/96

Subdivision Surfaces – Examples 82/96

Subdivision Surfaces – Examples 82/96

Subdivision Surfaces – Examples 83/96

Subdivision Surfaces – Examples 83/96

Subdivision Surfaces – Examples 84/96

Subdivision Surfaces – Examples 84/96

Subdivision Surfaces – Examples 85/96

Subdivision Surfaces – Examples 85/96

Subdivision Surfaces – Examples 86/96

Subdivision Surfaces – Examples 86/96

Subdivision Surfaces – Examples 87/96

Subdivision Surfaces – Examples 87/96

Subdivision Surfaces – Examples 88/96

Subdivision Surfaces – Examples 88/96

Subdivision Surfaces – Examples 89/96

Subdivision Surfaces – Examples 89/96

Subdivision Surfaces – Examples 90/96

Subdivision Surfaces – Examples 90/96

Subdivision Surfaces – Examples 91/96

Subdivision Surfaces – Examples 91/96

Subdivision Surfaces – Examples 92/96

Subdivision Surfaces – Examples 92/96

Subdivision Surfaces – Examples 93/96

Subdivision Surfaces – Examples 93/96

Subdivision Surfaces – Examples 94/96

Subdivision Surfaces – Examples 94/96

Subdivision Surfaces – Examples 95/96

Subdivision Surfaces – Examples 95/96

Subdivision Surfaces – Examples 96/96

Subdivision Surfaces – Examples 96/96

Subdivision Surfaces – Examples 97/96

Subdivision Surfaces – Examples 97/96