Korea University Jung Lee, Computer Graphics Laboratory 3D Game Engine Design David H. Eberly 8.3 Special Surfaces 2001/11/13
Jung Lee, Computer Graphics Laboratory Korea University 2 Bezier Rectangle Patches Popular with game programmers Mathematical simplicity Ease of use Equation : ( 0 i 0 n 0, 0 i 1 n 1 ) : 3D control points The first-order partial derivatives of the patch
Jung Lee, Computer Graphics Laboratory Korea University 3 Bezier Rectangle Patches Evaluation Trade-off of speed vs. accuracy Bernstein polynomial computation n 0 +1 evaluations of B n0,i0 (s) n 1 +1 evaluations of B n1,i1 (t) n 0 n 1 multiplications for pairs of the evaluated polynomials de Casteljau algorithm Repeatedly computes convex combinations Generally stable Use more floating-point operations
Jung Lee, Computer Graphics Laboratory Korea University 4 Comparison For Bilinear Interpolation Case where n 0 =1 and n 1 =1 Bernstein form 2 subtractions, 9 additions, and 16 multiplications de Casteljau form 2 subtractions, 9 additions, and 18 multiplications
Jung Lee, Computer Graphics Laboratory Korea University 5 Degree Elevation Degree-elevated to (n 0 +1, n 1 ) Degree-elevated to (n 0, n 1 +1) Degree-elevated to (n 0 +1, n 1 +1) Degree-elevated control points
Jung Lee, Computer Graphics Laboratory Korea University 6 Degree Reduction Let the degree-reduced surface m 0 n 0, m 1 n 1 Constraint The endpoints of the two curves are same Two choices for the extension to rectangle patches The four corner points match between the two patches Least-squares fit to construct the remaining control points Process Degree-reduce the four boundary curves first Compute the remaining interior control points Least-squares fit
Jung Lee, Computer Graphics Laboratory Korea University 7 Bezier Triangle Patches Slightly more complicated than Bezier rectangle patches Useful for creating models of arbitrary complexity Equation : (i 0, i 1, i 2 0, i 0 + i 1 + i 2 = n) Evaluation Computing the coefficients To minimize arithmetic operations by saving intermediate products and sums
Jung Lee, Computer Graphics Laboratory Korea University 8 Degree Elevation Multiply the original patch by Degree-elevated patch Degree-elevated control points
Jung Lee, Computer Graphics Laboratory Korea University 9 Degree Reduction Let the degree-reduced surface m n Constraint The endpoints of the two curves are same Two choices for the extension to triangle patches The three corner points match between the two patches Least-squares fit to construct the remaining control points Process The boundary curves are reduced first Compute the remaining interior control points Least-squares fit
Jung Lee, Computer Graphics Laboratory Korea University 10 Bezier Cylinder Surfaces (1 / 2) Bezier rectangle/triangle patches More curvature variation than is needed Cylinder/developable surfaces Curved in 1D and flat Two choice of generation Taking a curve and linearly translating Sweeping operation Taking a line segment and moving it One endpoint is constrained to the originally specified curve Evaluation, degree elevation/reduction can be applied to Initial curve for cylinder surfaces Boundary curves for generalized cylinder surfaces
Jung Lee, Computer Graphics Laboratory Korea University 11 Bezier Cylinder Surfaces (2 / 2) Cylinder Surface : Bezier curve : Linear translation : The first-order partial derivatives : Generalized cylinder surface Specifying two Bezier curves With the same number of control points Blending between the two curves Equation : Control points : for 0 i n The first-order partial derivatives
Jung Lee, Computer Graphics Laboratory Korea University 12 Nonparametric B-Spline Rectangle Patches How to interpolate a rectangle lattice of scalars for 0 i 0 n 0, 0 i 1 n 1 Componentwise interpolation B-spline polynomial of degree d for 0 k 0 d for 0 k 1 d : intermediate tensor For applications The intermediate tensor can be cached
Jung Lee, Computer Graphics Laboratory Korea University 13 Quadric Surfaces Discussion of the general quadratic equation A : 3 3 nonzero symmetric matrix : 3 1 vector c : scalar : 3 1 vector that represents the variable quantities A = R T DR D : diagonal matrix Diagonal entities are the eigenvalues of A R : rotational matrix Rows are corresponding eigenvectors
Jung Lee, Computer Graphics Laboratory Korea University 14 Eigendecomposition Rewritten quadratic equation,, Characterize the surface type based on the number of nonzero eigenvalues Three : elliptic cone, ellipsoid, hyperboloid Two : line, union of two planes, elliptic cylinder, hyperbolic cylinder, hyperbolic paraboloid One : parabolic cylinder Determine that the solution is degenerate from Point, line, plane
Jung Lee, Computer Graphics Laboratory Korea University 15 Tube Surfaces Swept surface Sweeping a region of space by a planar object along a specified central curve Most common planar object : circle Radius varies with time : r(t) Resulting surface is called a tube surface Equation : : columns of an orientation matrix R(t) pp.286 t : curve parameter [0, 2 ) Surface of revolution The central curve is a straight line