Professional Documents
Culture Documents
Spline Curves & Surfaces: 3D Object Representations
Spline Curves & Surfaces: 3D Object Representations
3D Object Representations
Raw data
Solids
Surfaces
High-level structures
Curved Surfaces
Motivation
Exact boundary representation for some objects More concise representation than polygonal mesh
Curved Surfaces
What makes a good surface representation?
Accurate Concise Intuitive specification Local support Affine invariant Arbitrary topology Guaranteed continuity Natural parameterization Efficient display Efficient intersections
Curve Representations
Function
y= f(x)
Implicit
Parametric
Subdivision
z= f(x,y)
Implicit
Parametric
Subdivision
z = f (x, y)
Implicit Surfaces
Boundary defined by implicit function:
f (x, y, z) = 0
Implicit Surfaces
Example: quadric
f(x,y,z)=ax2+by2+cz2+2dxy+2eyz+2fxz+2gx+2hy+2jz+k
x rx
y + ry
z + rz
1 = 0
Parametric Surfaces
Boundary defined by parametric function:
x = f(u, v) y = f(u,v ) z = f(u, v)
Example (sphere):
x = cos()cos() y = sin()cos() z = sin()
Subdivision Surfaces
Coarse mesh & subdivision rule
Outline
Today:
Wednesday:
Next week:
Parametric curves
A parametric curve in the plane is expressed as:
x = x(u) y = y(u)
ai u i
i =0
y (u ) =
bi u i
i =0
Advantage:
Issue:
Continuity
Continuity Ck indicates adjacent curves have the same kth derivative at their joints
C0 Continuity
Adjacent curves share
C1 Continuity
Adjacent curves share
C2 Continuity
Adjacent curves share
Same endpoints: Qi(1) = Qi+1(0) Same derivatives: Qi (1) = Qi+1 (0) Same second derivatives: Qi (1) = Qi+1 (0)
Spline constructions
C2 interpolating splines Hermite Bezier Catmull-Rom B-splines
V0 V2 Blending functions
Q (u ) =
k i =0
Vi bi (u )
V1
V3
10
C2 Interpolating splines
Blending functions are chosen so that
C2 Interpolating splines
Properties:
11
Spline constructions
C2 interpolating splines Hermite Bezier Catmull-Rom B-splines
12
Three continuity conditions for each joint Ji Position of two curves are equal at Ji Derivatives of two curves are equal at Ji Second derivatives of two curves are equal at Ji Also, local control implies Each joint is affected by small set of (4) points
13
b3 (u )
b 0 (u )
6 2
Q (u ) = u 3 u 2
u 1
] 12
2 1
1 1 1 1
2 2 6
6 Vi 3 0 Vi 2
0 2 3
Vi
Vi 1
Vi
14
C2 continuity Local control Approximating (points not interpolated) Convex hull property
Parametric Patches
Each patch is defined by blending control points
15
Parametric Patches
Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points
Q(0,1)
Q(u,v)
Q(1,1)
Q(0,0) Q(1,0)
P 1, 3 P2 ,3 P3,3 P4 ,3
U = u3
u2
u 1
V = v3
v2
v 1
Where M is a matrix describing the blending functions for a parametric cubic curve (e.g., Bezier, B-spline, etc.)
16
B-Spline Patches
Q(u , v) = UM B Spline
P 1, 3 P2 ,3 P3,3 P4 ,3
M B Spline =
2 1 2 1 6
2 1
1 1 1 1
2 2 6
6 0
0 2 3
Parametric Surfaces
Advantages:
Disadvantages:
Control mesh must be quadrilaterals Continuity constraints difficult to maintain Hard to find intersections
17