You are on page 1of 37

Surface Modeling Techniques

Fundamental techniques
{ interpolation, approximation
Limitations
{ the network of data points is regular mesh
{ not useful for solid modeling
{ only interpolate or approximate points, not tangent
plane, normal, etc
Recursive Subdivision
Chaikin's idea (1974)
A smooth curve from a polygonal shape
Quadratic B-spline
Tangent to each edge at its middle point
Generalize to smooth surface from polyhedron
Chaikin's Algorithm
A set of control points
p00 p01 ::: p0n
Subdivision process
pk0 pk1 ::: pk2kn
Rules:
k +1 3 k 1
p2i = 4 pi + 4 pki+1
pk2+1 = 1 pk + 3 pk
i+1 4 i 4 i+1
Properties:
{ quadratic B-spline curve
{ 1 continuous
C

Other rules!!!
Cubic Spline Subdivision
Cubic Spline Subdivision

pk2+1 = 1 pki + 1 pk
i 2 2 i+1
1 1 1 3
p2i+1 = 4 ( 2 pi + 2 pi+2) + 4 pki+1
k +1 k k

Cubic B-spline
C
2 continuous

Corner-chopping!
NOT interpolatory!
Recursive Subdivision (Idea)

a polyhedral network of vertices,


edges and faces

cut off the corners and edges of


polyhedron by planes

recursively repeat

a new polyhedron with more and


smaller faces and more vertices
than the original one

in the limit

smooth surface
Recursive Subdivision (Rules)
How NEW vertices are constructed DIFFERS
tremendously!!!
Sabin & Doo approach (1978)
{ extraordinary points corresponding to the vertices
when edges meet ( is not 4)!
n n

{ the limit surface is 1


C

{ interpolate the centroids of all faces at every step


subdivision P
{ rules: vi = nj=1 ij wj


{ vi: new vertex


{ wj : old vertex that denes a face F
Sabin & Doo Algorithm

wj
F

vi
Sabin & Doo Algorithm
Subdivision Rules
8 n+5
< 4n =
ij = : 3+2cos( 2(i;nj )
i j

)
4n otherwise

connect new vertices and generate new faces and edg


{ V-face
{ E-face
{ F-face
Sabin & Doo Algorithm

v V−face

E−face
e

f
F−face
Catmull-Clark Surface
vertex point face point

edge point
Catmull-Clark Subdivision
NEW face points | the average of all
OLD points dening the face
NEW edge points | the average of the following
four points:
two OLD vertices dening the edge and two NEW
face points of the faces adjacent to the edge
NEW vertex points | from the average:
F

n
+ 2 + ( ; 3)
E

n
n

n
V

where
F: the average of the NEW face points of all faces
adjacent to the OLD vertex point
E: the average of the midpoints of all edges incident
the OLD vertex
V : OLD vertex point
n: the number of the edges incident on the vertex
NEW edges: (NEW face point, NEW edge point)
NEW edges: (NEW vertex point, NEW edge point)
NEW faces: enclosed by NEW edges
Catmull-Clark Surfaces
NO parametric domains!
Geometric objects of arbitrary topology
Special case: standard bicubic B-spline surfaces
A nite number of extraordinary points
Curvature-continuous except at extraordinary vertices
Tangent-plane-continuous at extraordinary vertices
Catmull-Clark Surface
Interpolation Subdivision
Interpolation Subdivision
Control points
p0;2 p0;1 ::: p0n+2
Rules:
pk2+1
i = pk ;1 =
i < = 2k + 1
i < n

+1 1
p2i+1 = ( 2 + )(pki + pki+1) ; (pki;1 + pki+2)
k w w

where ;1 = = 2k
< i < n

At each stage, we keep all the OLD points and insert


NEW points \in between" the OLD ones
Interpolation!
The behaviors and properties of the limit curve
depend on the parameter w

Generalize to SIX-point interpolatory scheme!


Buttery Subdivision
−w −w

0.5

2w p 2w

0.5

−w −w
Surface Construction
Generator curves
Transnite patch
Multiple patch
\Carpet" method
Subdivision
Algebraic patch
Irregular surface
Multivariate B-splines
Other representations
Algebraic Function
Parametric representation is popular, but...
Formulation:
X
ijk x y z = 0
a
i j k
i j k i+j +k=n
Properties...
{ powerful, but lack of modeling tools
Implicit Function
Algebraic Patch
A tetrahedron with noncoplanar vertices
vn000 v0n00 v00n0 v000n
Trivariate barycentric coordinate ( r s t u ) for p
p = vn000 + v0n00 + v00n0 + v000n
r s u

where + + + = 1
r s t u

A regular lattice of control points and weights


pijkl = vn000 + v0n00 + v00n0 + v000n
i j

n
k l

where  0, and + + + = ,
i j k l i j k l n

there are ( + 1)( + 2)( + 3) 6 control points


n n n =

A weight ijkl is assigned to each control point.


w

Algebraic patch formulation


XXX X !
ijkl i!j !k!l! r s t u = 0
w
ijk l
n

i j k l=n;i;j ;k
properties
{ meaningful control
{ local control
{ boundary interpolation
{ gradient control
{ self-intersection avoidance
{ continuity condition across the boundaries
{ subdivision
Algebraic Patch
Geometric and Variational Splines
Smoothness requirements at conjunction points
Parametric continuity is TOO restrictive!
Geometric continuity via reparameterization
G
n: n continuous under arc-length parameterization
C

G
1 and 2G

Geometric continuity is less restrictive!


Shape parameters: tension, bias, etc.
Many special splines
Tension Control
Tension Control
Special Splines
Beta-spline: generalization of cubic B-spline
Catmull-Rom splines: c( ) = Pi ai( ) i( )
u u W u

Nu-spline as a 2 (continuous curvature) piecewise


G

polynomial minimizing the following functional over


0 n ]:
t t
Z tn  
 n 
X 

t
f ( )
00 u
2
du + if ( i)
0
2
u
0 i=0
subject to the interpolation and f (ti) = di
necessary end conditions.
Tau-spline: a quintic spline that maintains both
curvature and torsion continuity by minimizing
Z tn  2 ;1
n kX
X  (j ) 2
t
 f (k ) (
u )  du +  i j f ( u i )
0 i=0 j =1
subject to interpolatory constraints.
Weighted Nu-spline by minimizing
;1
nX Z ti+1  2 n 
X 2
w i t f ( )
00
u du + if ( i)
0 u
i=0 i i=0
subject to the interpolatory conditions f ( i) = di t

Others!!!
Geometric Design Paradigms
Interpolation
Approximation
Interactive manipulation
Cross-sectional design
Optimization
Others!
Interpolation
A B-spline curve with + 1 control points
n

Interpolate independent + 1 data points di


n

The parametric values 0 u n are provided


::: u

solve the linear equation


2 32 3 2 3
64 ..
B0 k ( 0)   
u
... n k ( 0) p d
.. 75 64 .. 75 = 64 ..0 75
B 0 u

B 0k ( n)
u  B n k (un) pn dn
How about the parameterization is unknown
Non-linear system
Generalize to tensor-product surfaces
data points conform to a rectangular grid
\Lofting": a smooth surface passes through a set of
cross-sectional curves
Cross-Sectional Design
Scattered Data Interpolation
Approximation
Rationales
{ data exchange
{ data reduction
{ decomposition
{ multi-level analysis and hierarchical model
{ special shapes
The system is overdetermined
C>Cp = C>d
Approximation minimizes the error functional
m
X
E = kc ( i) ; dik2
u
i=0
Interactive Manipulation
Control points
Weights
Knot vector
Shape parameters
Free-form deformation
High-level deformation
Others!
Variational Design
Functional requirements
{ interpolation, continuity, etc
Visually-pleasing or fair shapes implied in data points
{ monotonic, convex, etc
Shape-preserving interpolant
Qualitative and subjective criteria
Partial information
Objective function for energy functional
Optimization subject to constraints
Less user input
Automatic determination via optimization solver
Shape-Preserving Interpolation

You might also like