Smooth Surfaces Dr. Scott Schaefer
Smooth Surfaces Lagrange Surfaces Interpolating sets of curves Bezier Surfaces B-spline Surfaces Subdivision Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces
Lagrange Surfaces – Properties Surface interpolates all control points The boundaries of the surface are Lagrange curves defined by the control points on the boundary
Interpolating Sets of Curves Given a set of parametric curves p0(u), p1(u), …, pn(u) , build a surface that interpolates them
Interpolating Sets of Curves Given a set of parametric curves p0(u), p1(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 Evaluate this new curve at parameter value v
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces
Bezier Surfaces – Properties Surface lies in convex hull of control points Surface interpolates the four corner control points Boundary curves are Bezier curves defined only by control points on boundary
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-spline Surfaces
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-splines Surfaces Example
B-spline Surface – Properties Surface inside convex hull of control points Guaranteed to be smooth everywhere Smoothness is determined by number of averaging steps
Arbitrary Topology Surfaces
Arbitrary Topology Surfaces
Subdivision Surfaces Originally a generalization of B-spline surfaces to arbitrary topology Guaranteed to be smooth Geri’s Game copyright Pixar
Subdivision Surfaces Set of rules S applied recursively to some polygon shape p0 pk+1 = S(pk)
Subdivision Surfaces Assume surface is made out of quads Any number of quads may touch a single vertex Subdivision rules: linear subdivision followed by averaging
Linear Subdivision
Linear Subdivision
Averaging
Averaging
Averaging Centroid (average of four black vertices)
Averaging
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Implementing Linear Subdivision linearSub ( F, V ) newV = V newF = {} for each face Fi for j = 1 to 4 ej = getVert ( Fi,j, Fi,j+1) add centroid to newV and store index in c add face (Fi,j, ej, c, ej-1) to newF return (newF, newV)
Implementing Linear Subdivision getVert ( i1, i2 ) if orderless key (i1,i2) not in hash add midpoint of V[i1], V[i2] to newV hash[(i1,i2)] = index of new point return hash[(i1,i2)]
Implementing Averaging Average( F, V ) newV = 0 * V val = array of 0 whose size is number of vertices newF = F for each face Fi cent = centroid for Fi newV[Fi] += cent val[Fi] += 1 for each vertex newV[i] newV[i] /= val[i] return (newF, newV)
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples
Subdivision Surfaces – Examples