Geometric Modeling 91.580.201 Surfaces Mortenson Chapter 6 and Angel Chapter 9
Dec 21, 2015
Geometric Modeling91.580.201
SurfacesMortenson Chapter 6and Angel Chapter 9
Surface Basics• Surface: Locus of a point moving with 2 degrees of freedom.• Some types of equations to describe curves:
– Intrinsic• No reliance on external frame of reference.• Lack of robustness of surface characteristics under repeated transformations.• Discussion deferred until we study more differential geometry.
– Explicit• Value of dependent variable in terms of independent variable(s)• e.g. z = f (x,y)• Lack of robustness of surface characteristics under repeated transformations.
– Implicit• e.g. f (x,y,z) = 0
– Parametric• Express value of each spatial variable in terms of independent variables (the
parameters)• e.g. for parameters u and w in 3D:
x = x (u,w)y = y (u,w)z = z (u,w)
source: Mortensonsource: Mortenson
Explicit Form• Value of dependent
variable in terms of independent variables– e.g. z = f (x,y)
• Axis-dependent• Can be hard to
represent a transformed and bounded surface.
• Sample surface-fitting procedure: determine aij coefficients from data points:
m
i
n
j
iiij yxayxz
0 0
),(
source: Mortensonsource: Mortenson
Implicit Form• General form: f (x,y,z) = 0
– f (x,y,z) is polynomial in x, y, z such that:
• Axis-dependent• Examples:
– Plane: Equation is linear in all its variables. – Quadric: Second-degree equation.
• Can represent using vectors, scalars and a type identifier.
– Right circular cylinder» One vector gives a point on its axis» One vector defines axis direction» Scalar gives radius
• Type testing requires robust floating-point computations.
kji
kjiijk zyxa
,,0
source: Mortensonsource: Mortenson
Implicit Form: Quadric Surfaces (continued)
• Type testing:
source: Mortensonsource: Mortenson
• Insert equations from p. 181
Implicit Form: Quadric Surfaces (continued)
• Classification:
source: Mortensonsource: Mortenson
• Insert scanned Table 6.1 from p. 181
Implicit Form: Quadric Surfaces (continued)
• Quadric Surfaces of Revolution:– Rotate conic curve about its axis– Canonical position:
• Center or vertex at origin• Axes of symmetry coincide with
coordinate axes.
source: Mortensonsource: Mortenson
• Insert scanned Table 6.2 from p. 183
Parametric Form
• Express value of each spatial variable in terms of independent variables (the parameters)– e.g. for parameters u, w in
3D:x = x (u,w)y = y (u,w)z = z (u,w)
• For a rectangular surface patch, typically
• Patches can be joined to
form composite parametric surfaces.
]1,0[, wu
source: Mortensonsource: Mortenson
Parametric Form (continued)
• Sample patch: rectangular segment of x, y plane
x = (c - a)u + a
y = (d - b)w + b
z = 0
• Here:– Curves of constant w
are horizontal lines.– Curves of constant u
are vertical lines.
source: Mortensonsource: Mortenson
Parametric Form (continued)
• Parametric sphere of radius r, centered on (x0,y0,z0):
2,0 ,
2,
2 wheresinsincoscoscos 000
wuurzzwuryywurxx
source: Mortensonsource: Mortenson
Parametric Form (continued)
• Parametric ellipsoid centered on (x0,y0,z0):
2,0 ,
2,
2 wheresinsincoscoscos 000
wuuczzwubyywuaxx
source: Mortensonsource: Mortenson
Parametric Form (continued)
• Parametric surface of revolution:
2,0 ,]1,0[ where)(sin)(cos)( wuuzzwuxywuxx
partial view
source: Mortensonsource: Mortenson
4 Typical Types of Parametric Curves
• Interpolating– Curve passes through all control points.
• Hermite– Defined by its 2 endpoints and tangent vectors at endpoints.– Interpolates all its control points.– Not invariant under affine transformations.– Special case of Bezier and B-Spline.
• Bezier– Interpolates first and last control points.– Curve is tangent to first and last segments of control polygon.– Easy to subdivide.– Curve segment lies within convex hull of control polygon.– Variation-diminishing.– Special case of B-spline.
• B-Spline– Not guaranteed to interpolate control points.– Invariant under affine transformations.– Curve segment lies within convex hull of control polygon.– Variation-diminishing.– Greater local control than Bezier.
Control points influence curve shape.
source: Mortenson, source: Mortenson, AngelAngel
Interpolating
• Interpolates all control points.• Geometric form:
• Rarely used due to lack of derivative continuity at curve segment join points.
source: Angelsource: Angel
n
iii ubu
0
)()( pp
cubic case with equally spaced parameter values
Hermite
• Geometric form (cubic case):
• Hermite curves can provide C1 continuity at curve segment join points.
234
233
232
231
)(
2)(
32)(
132)(
uuuF
uuuuF
uuuF
uuuF
source: Mortensonsource: Mortenson
14031201 )()()()()( uu uFuFuFuFu ppppp
Bezier• Geometric form (cubic case):
• Bezier curves can provide C1 continuity at curve segment join points.
n
iini uBu
0, )()( pp
source: Mortensonsource: Mortenson
inini uu
i
nuB
)1()(,
Bernstein polynomials.
n+1 = number of control points = degree + 1
Adding a control point elevates degree by 1.
Convex combination, so Bezier curve points all lie within convex hull of control polygon.
n
ini uB
0, 1)(
Rational form is invariant under perspective transformation:where hi are projective space coordinates (weights)
n
inii
n
iinii
uBh
uBhu
0,
0,
)(
)()(
pp
B-Spline
n
iiKi uNu
0, )()( pp
otherwise 0)(
if 1)(
1,
11,
uN
tutuN
i
iii
• Geometric form (non-uniform, non-rational case), where K controls degree (K -1) of basis functions:
• Cubic B-splines can provide C2 continuity at curve segment join points.
Convex combination, so B-spline curve points all lie within convex hull of control polygon.
n
iKi uN
0, 1)(
Rational form (NURBS) is invariant under perspective transformation, where hi are projective space coordinates (weights).
n
iKii
n
iiKii
uNh
uNhu
0,
0,
)(
)()(
pp
source: Mortensonsource: Mortenson
1
1,1
1
1,,
)()()()()(
iki
kiki
iki
kiiki tt
uNut
tt
uNtuuN
ti are knot values that relate u to the control points.
Uniform case: space knots at equal intervals of u.
Repeated knots move curve closer to control points.
N
N
N N
N
N N
N N