Escolar Documentos
Profissional Documentos
Cultura Documentos
Jean-Laurent Mallet
.
connectivities of extraordinary vertices prevent the Buttery
scheme [DLG90] from converging to a G
1
surface at all points.
This problem was resolved in [ZSS96]. As far as approximating
schemes are concerned, the analysis of the neighborhoods at
extraordinary points was studied in [Rei95, Sab91].
Several improvements of subdivision surfaces have been made
to provide the user with more functionalities. Thus, the ability to
tag certain edges of the control mesh M
0
as creases, and vertices
as corners, was studied in [HDD
+
94], making it possible to create
Catmull-Clark surfaces with sharp edges. This was generalized
in [DKT98] to model llets and blends as semi-sharp creases.
The issue of semi-sharp creases was also addressed in [SZSS98],
where NURSSes (Non Uniform Recursive Subdivision Surfaces)
are introduced as a non-uniform generalization of Doo-Sabin and
Catmull-Clark surfaces.
2.2 Variational Design
A different issue in geometric modeling is the problem of generat-
ing fair surfaces [Gre94, MS92], i.e. nicely shaped surfaces honor-
ing a set of boundary conditions and constraints such as:
interpolating data points with or without specied tangent
planes;
generating surfaces smoothly interpolating the borders of
specied given surfaces (blending);
smoothing an existing surface in a specied zone.
A review of existing methods in this eld is given in [Sei98]. The
issue of generating fair surfaces is often referred to as variational
design. This consists in choosing a class of parametric functions
(u, v) (u, v) = {
x
(u, v),
y
(u, v),
z
(u, v)}, with more
degrees of freedom than necessary to honor the constraints, and
minimizing a given criterion to determine a unique function in the
class. A fairness functional F() is then dened as a scalar char-
acterizing the quality of the surface yielded by a function . A sim-
plied expression of the bending energy of a thin plate F
ThinPlate
is often used (see, for instance [KHD93, Kal93]). Other possible
quadratic functionals are studied in [WW92, CG91]. As shown
in Equation 1, we propose to use the even more simplied ap-
proximation of the thin plate energy F
2, where
(u, v) de-
notes the Laplacian of a component of the function (u, v) =
{
x
(u, v),
y
(u, v),
z
(u, v)}. The positive function (u, v) de-
notes a stiffness varying all over the surface. This stiffness enables
the user to give more importance to the smoothing of certain zones.
It is shown further in this article how this latter functional may be
used to smooth a polygonal surface.
_
_
F
2() =
{x,y,z}
_
(u, v). {
(u, v)}
2
.dudv
where:
(u, v) =
2
u
2
(u, v) +
2
v
2
(u, v)
(1)
The surfaces that can be represented using variational design
are often dened as piecewise polynomials. Recent research
has been devoted to the direct application of variational design
methods to polygonal meshes of arbitrary topology. Subdivision
schemes have been studied to enable convergence to a smooth
surface which minimizes a fairing functional. For instance, thin
plate splines are addressed in [WW98]. Kobbelt [Kob96a] has
shown how fairing functionals might be discretized by using nite
differences, and how new subdivision schemes might be derived
from a so-discretized fairing functional.
2.3 Discrete Fairing
Despite the obvious advances referred to above, the stationary
schemes used to construct subdivision surfaces do not offer much
user interaction. For instance, the resulting smooth surface M
2
N
T
v
u
k
T
(k)
D
R
v
u
k
L
TR
TL
A B
Figure 3: Approximating the Laplacian on a triangulated surface.
3.1 Discrete Laplacian on Triangulated Surfaces
The Laplacian
at parameters
(u, v) is given in Equation 2 below. Our goal is now to approxi-
mate this Laplacian on a triangulated surface. As can be seen, the
Laplacian characterizes parametric functions, and for this reason, a
parameterization of the triangulated surface has to be chosen. Con-
structing a global parameterization of a triangulated surface is pos-
sible [LM98], but this clearly limits the scope of the study to open
surfaces homeomorphic to disks.
(u, v) =
_
u
2
+
2
v
2
_
(u, v) (2)
To overcome this problem, a common practice is to use local
parameterizations. Given a vertex k, its neighborhood N(k) is de-
ned to be the set of nodes directly connected to k, including k. A
local parameterization consists in assigning (u, v) coordinates
to the vertices N(k). The domain D(k) shown in Figure 3 is
dened to be the polygon in parameter space dened by N(k)
Projecting on an estimated tangent plane to dene a local param-
eterization is clearly not a good idea, since it may result in overlaps
in the highly curved regions. The symmetric parameterization
used in [KCVS98] consists in evenly positioning the neighbors of
the considered vertex k on a circle. Another possibility is given
by the exponential map (also referred to as geodesic polar map)
used in [WW92]. In what follows, the Laplacian is computed for
an arbitrary parameterization. It should be mentioned that the
symmetric parameterization can be computed very quickly, since it
solely depends on the number of vertices, whereas the exponential
map is less sensitive to the heterogeneities of the sizes of the trian-
gles. Given one of these three possible parameterization (global,
uniform or exponential map), how to estimate the Laplacian on a
triangulated surface and minimize it is explained below.
To estimate the Laplacian at a given vertex k, the triangulated
surface is considered as a sampling of an unknown C
2
function
(u, v) = {
x
(u, v),
y
(u, v),
z
(u, v)} dened over the domain
D(k) of the vertex k (see Figure 3). Then, considering a component
{x, y, z}, the discrete Laplacian D
(u
k
, v
k
)
1
|D(u
k
, v
k
)|
_
D(k)
= div(grad
(u
k
, v
k
)
1
|D(k)|
_
D(k)
div(grad
)(u, v)dudv
1
|D(k)|
_
D(k)
grad
(s).N(s).ds
(4)
Since the value of
to approximate
(k)
1
|D(k)|
.
T(k,
1
,
2
)D(k)
|E(1, 2)|.grad
(T).N
T
(5)
It can be shown that the expression
|E(1, 2)|.grad
(T).N
T
=
(k)
coefcients enabling the discrete Laplacian D
(k) to be com-
puted. Note the arbitrary multiplication by the term 3/
_
|D(k)| to
help simplify later expressions. In this equation, N(k) denotes the
set of vertices directly connected to k, including k. As shown in
Figure 3-B, the triangles TL and TR are dened as the two triangles
sharing the edge E(k, ). The vertices L and R are the vertices
opposite to E(k, ) in TL and TR, respectively. The remaining co-
efcients B
-
v
u
(k) D
-
Figure 4: Computation of the border correction coefcients B
(k) =
3
|D(k)|
.
N(k)
v
(k).
()
where:
_
_
N(k) {k},
v
(k) =
1
3
.
1
|D(k)|
. {(
R
|T
R
) + (
L
|T
L
) + B
(k)}
v
k
(k) =
N(k){k}
v
(k)
(8)
As shown in Figure 4, the computation of the discrete Laplacian
D
). These
two edges have to be taken into account when integrating along the
border of D(k), (see Equation 4). This yields the following border
correction coefcients B
(k).
_
_
B
(k) = (
|T
) ; B
+
(k) = (
+
|T
+
)
B
(k) =
_
(
|T
) + ( |T
)
_
B
+
(k) =
_
(
+
|T
+
) + ( |T
+
)
_
B
(k) =
1 for k N(k) {k} and v
k
(k) = degree(k).
3.2 The Discrete Smooth Interpolation Method
Given a triangulated surface {, E, T } and a subset of the vertices
L tagged as control nodes, our purpose is now to make the
other vertices of I = L smoothly interpolate the control nodes.
This can be achieved by minimizing the discrete functional F
D
2 ap-
proximating the functional F
2() =
{,,}
_
(u, v). {
(u, v)}
2
.dudv
F
D
2() =
{,,}
k
(k). {D
(k)}
2
.
1
3
|D(k)|
(10)
By using the expression of the v
{x,y,z}
k
.
_
N(k)
v
(k).
(k)
_
2
(11)
The minimum of this functional F
D
2() in function of
()
is reached if F
D
2/
() =
G
()
g
()
where:
G
() =
kN()
_
(k).v
(k).
N(k){}
v
(k).
()
_
g
() =
N()
(k). {v
(k)}
2
(12)
Based on Equation 12, the following algorithm iteratively com-
putes the assignments of (
x
,
y
,
z
) coordinates while minimiz-
ing the discrete functional F
D
2() given in Equation 11. Mallet
[Mal89, Mal92] proved that this algorithmconverges to a unique so-
lution, provided that the following conditions are satised (as when
using the v
(k) > 0
3. k , v
k
(k) =
N(k){k}
v
(k)
let I be the set of nodes where is unknown
let
[0]
be a given initial approximated solution
while (more iterations are needed) {
for all( I ) {
for all( {x, y, z})
() :=
G
()
g
()
}
}
3.3 Subdivision Surfaces Based on D.S.I.
The algorithm introduced in the previous section is iterative, which
means it can benet a great deal from an initial guess
[0]
. Within
the framework of an interactive modeler, the surface obtained after
the intervention of the user, such as moving control nodes, lock-
ing/unlocking vertices, may be considered as an initial guess. In
practice, the D.S.I. algorithm converges in real time after user in-
teractions (it takes a few seconds to update a surface of several
thousands of triangles on a SGI R10000 machine). Based on this
remark, D.S.I. could be considered as a possible renement scheme
for dening subdivision surfaces. The mesh M
i+1
is obtained by
splitting the polygons of the mesh M
i
and smoothing it using D.S.I.
At any given step, only the vertices shared with M
0
are set as con-
trol nodes. This yields the following algorithm:
let M
0
be the initial control mesh.
set all the vertices of M
0
as control nodes.
while (more iterations are needed) {
M
i+1
M
i
split all the polygons of M
i+1
apply D.S.I. to M
i+1
i i + 1
}
The commonly admitted requirements for subdivision surfaces are
sum up below:
1. The input mesh M
0
can be of arbitrary topology.
This requirement is clearly satised by our method.
2. The series of recursively rened meshes M
i
should con-
verge to a smooth surface M
.
The existence and the unicity of the solution at each step M
i
was proven in [Mal89, Mal92]. The D.S.I. method is a dis-
crete fairing method, which means that at each step i, all the
vertices (except the control nodes) are free to move (whereas,
in stationary subdivision schemes, all the vertices of the mesh
M
i
are locked when computing the mesh M
i+1
). Thus, the
convergence and unicity for a given mesh M
i
mean that it is
always possible to obtain a smooth surface at an arbitrary level
i. The convergence of the so-obtained series M
i
has always
been observed in practical application, but the formal proof of
this convergence is still an open problem. However, as can be
easily checked, the discrete functional F
D
2(i) converges to
the functional F
(k) coef-
cients, yielded by a symmetric parameterization: v
(k) = 1
for = k and v
k
(k) = degree(k), this requirement will
be met. Moreover, these trivial coefcients may be used on
meshes of arbitrary topology. The meshes shown in Figure
2 at the beginning of the section have been obtained using
these coefcients. However, for a triangulated surface, the
best results are arrived at using more sophisticated parameter-
izations, such as the exponential map [WW94]. The proposed
algorithm may be seen as a multigrid solver for the D.S.I.
equation. Using more optimized multigrid approaches may
lead to improve the performances. However, the simple al-
gorithm presented here acts at a reasonable speed and allows
interactivity.
What follows deals with modeling creases of variable sharpness.
Even more exibility will be introduced in the next section by mak-
ing the surface t a set of scattered data points. More generally,
linear constraints will be taken into account in a least square sense.
3.4 Modeling Creases of Variable Sharpness
A B
C D
E F
Figure 6: Modeling variable sharpness creases. A: Control mesh M
0
representing a
cube. Its eight vertices are set as control nodes ; B: Limit surface M
; C: The edges
of the top and bottom faces have been set as innitely sharp creases. The resulting
surface mimics a soap lm ; D,E: Decreasing the sharpness of the creases ; F: The
limit surface obtained for another set of edges tagged as innitely sharp creases.
It is easy to model creases of variable sharpness by modulat-
ing the v
C
(k) to be applied to a vertex k
when introducing the crease Care given below in Equation 13.
_
_
v
C
(k) =
1
1+sharpness
.v
(k) if k Cand / C
v
k
C
(k) =
N(k){k}
v
C
(k) if k C
v
C
(k) = v
(k) otherwise
(13)
A corner it then dened to be a crease Ccomprising a single ver-
tex. When creases are used in the subdivision algorithm previously
introduced, the vertices inserted into an edge belonging to a crease
Care added to C.
4 LEAST SQUARE FITTING AND OTHER
CONSTRAINTS
The ability to specify creases of variable sharpness enables the con-
trol mesh M
0
to be simplied to a large extent, by making it pos-
sible to model zones of high curvature without requiring that the
control mesh in these zones be densied. However, at that point,
the only way to alter the geometry of a surface is to act on the con-
trol mesh M
0
directly. To provide more possibilities for user inter-
action, this section shows how D.S.I. can be extended to take into
account linear constraints. The example of honoring data points
with, or without, normals is developed here.
4.1 Fitting Triangulated Surfaces to Scattered
Data
o
p
i
P
N
i
i
N
i
2
1
T
i
Figure 7: Positional and normal constraints. Given a data point Pi attracting the
surface at a given point pi, the surface should be interpolated while moving pi to Pi.
It is also possible to specify a normal vector Ni to be honored.
As shown in Figure 7, given a set of points Pi attracting the
surface at the point pi, the purpose of data tting is to minimize the
sum of the squared distances between the points Pi and the points
pi. In addition, each point Pi may be provided with a normal Ni to
be honored as well (the triangle Ti containing pi should be made
orthogonal to Ni). This yields the following positional constraints
c
P
x
i
, c
P
y
i
and c
P
z
i
, and the normal constraints c
1
N
i
, c
2
N
i
and c
3
N
i
.
The coefcients (1, 2, 3) denote the barycentric coordinates of
pi in Ti. The vertices (1, 2, 3) are the three vertices of Ti.
_
_
1.
x
(1) + 2.
x
(2) + 3.
x
(3) = P
x
i
(c
P
x
i
)
1.
y
(1) + 2.
y
(2) + 3.
y
(3) = P
y
i
(c
P
y
i
)
1.
z
(1) + 2.
z
(2) + 3.
z
(3) = P
z
i
(c
P
z
i
)
_
{x,y,z}
{(
(3)
(2)).N
} = 0 (c
1
N
i
)
{x,y,z}
{(
(1)
(3)).N
} = 0 (c
2
N
i
)
{x,y,z}
{(
(2)
(1)).N
} = 0 (c
3
N
i
)
(14)
Note that these constraints linearly combine the components of
at a set of surface vertices. The general form for such a constraint
is then given in Equation 15 below, where denotes one of the
three components x, y, z of . To balance the equations, it should
be stressed that these constraints should be normalized, i.e. they
should be such that
{A
c
()}
2
= 1.
A B
Figure 8: Fitting data points. A: Mesh M
0
roughly approximating a face. The
yellow lines have been drawn by the user to rene the model ; B: Limit surface M
.
The surface has been attracted by the yellow lines.
{x,y,z}
A
c
().
() = bc (15)
Using this formalization, the three positional constraints c
x
P
i
,
c
y
P
i
and c
z
P
i
to be honored in order to t a data point Pi =
{P
x
i
, P
y
i
, P
z
i
} are given by:
{x, y, z},
_
_
{1, 2, 3}, A
c
P
i
(i) = i/a
/ {1, 2, 3}, A
c
P
i
= 0
b
c
P
i
= P
i
/a
a =
_
2
1
+
2
2
+
2
3
(16)
Each normal vector Ni specied at a triangle Ti =
{1, 2, 3} yields three normal constraints c
1
N
i
, c
2
N
i
and c
3
N
i
.
The specied normal is supposed to be a unit vector:
_
_
= {x, y, z}
A
c
1
N
i
(1) = 0 ; A
c
1
N
i
(2) =
N
2
; A
c
1
N
i
(3) =
N
2
A
c
2
N
i
(1) =
N
2
; A
c
2
N
i
(2) = 0 ; A
c
2
N
i
(3) =
N
2
A
c
3
N
i
(1) =
N
2
; A
c
3
N
i
(2) =
N
2
; A
c
3
N
i
(3) = 0
/ {1, 2, 3}, A
c
1
N
i
() = A
c
2
N
i
() = A
c
2
N
i
() = 0
b
c
1
N
i
= b
c
2
N
i
= b
c
3
N
i
= 0
(17)
How D.S.I. may be modied to take into account the so-dened
linear constraints is then shown below.
4.2 Constrained Discrete Smooth Interpolation
The discrete functional F
() = F
D
2() + .()
() =
cC
c.
__
{x,y,z}
c
().
()
_
bc
_
2
(18)
Minimizing the functional F
() and g
() :=
G()+.
()
g
()+.
()
_
() =
cC
c.
c
()
() =
cC
c.
c
()
(19)
Each individual constraint c yields the terms shown in Equation
20 below. Note that the term x
c
() is always null for a constraint
c that does not combine the components x, y, z of , such as the
positional constraints c
P
i
.
_
c
() = A
c
().
_
=
A
c
().
() bc + x
c
()
_
x
c
() =
c
().
()
c
() = {A
c
()}
2
(20)
As shown in Figure 8, this constrained interpolation method may
be introduced in the subdivision algorithm presented in the previ-
ous section. In that case, when initializing the mesh M
i+1
from
the mesh M
i
, the constraints have to be assigned to the right ver-
tices. They can be easily found from the barycentric coordinates
1, 2, 3 involved in the positional constraints.
5 CONCLUSION
In this paper, we have presented the D.S.I. method, a new tech-
nique for discrete fairing. As compared to similar approaches,
our method enables linear constraints to be honored in a least
square sense. For instance, it is possible to t a set of points
with, or without, specied normals. It provides a modeling
interface for editing polygonal meshes similar to variational design
[Gre94, MS92, Sei98], without any restriction regarding the
topology of the objects. Moreover, our method does not require an
estimate of the normals as in [WW94], and also allows for the use
of an arbitrary parameterization for estimating the Laplacian.
When used as a subdivision method, as with any discrete fairing
approach, D.S.I. offers more exibility than stationary schemes.
During the process, it then becomes possible to lock,unlock or
move arbitrary vertices to have a ner control on the nal surface.
Moreover, since the updating scheme is the same for all vertices, no
special treatment is required for extraordinary points. Furthermore,
when creating the mesh M
i+1
from the mesh M
i
, the fact that no
subdivision connectivity is required makes it possible to split the
polygons adaptively, i.e. in high curvature zones only.
Multi-resolutional aspects will be considered in future research.
In a multi-resolution approach, such as the one presented in
[KCVS98], it would be interesting to study the inuence of the lin-
ear constraints at an arbitrary resolution level. It would then be
possible to t a surface rich in ne-scale textural details to a set of
data points without blurring those details. Figure 8 suggests that an
interaction model similar to the one provided by the Wires deforma-
tion technique [SF98] might be designed as well. In the framework
of mesh compression, D.S.I. might be used as a predictor, meaning
that just the difference between the surface interpolated by D.S.I.
and the data needs to be stored. When used as a progressive de-
scription within a networked environment, the iterative D.S.I. al-
gorithm enables a smooth transition between the different levels of
details as they are loaded. Future research will include the deni-
tion of new linear constraints, the investigation of other functionals
to be approximated and optimized, and applications of the method
to volumic meshes.
AKNOWLEDGEMENTS
This research has been performed in the frame of the GCAD
project, and the authors want to thank here the sponsors of the con-
sortium, especially Gaz de France for supporting the Ph.D. of B.
L evy. Special thanks to Michel Chipot for his help concerning
mathematics. Thanks to Corine Schlumberger and J erome Mail-
lot (Alias|Wavefront) for the different 3D models they have kindly
provided (the dog, the hand and the face). We want also to thank
all the GCAD research team and the T-Surf company for their
work, especially Richard Cognot (GCAD ), Jean-Claude Dulac
and Thierry Valentin (T-Surf).
References
[CC78] E. Catmull and J. Clark. Recursively generated b-spline surfaces on arbi-
trary topological meshes. Computer Aided Design, 10(6):350355, 1978.
[CG91] G. Celniker and D. Gossard. Deformable Curve and Surface Finite Ele-
ments for Free-Form Shape Design. In SIGGRAPH Comp. Graph. Proc.,
pages 257265. ACM, 1991.
[DKT98] T. DeRose, M. Kass, and T. Truong. Subdivision Surfaces in Character
Animation. In SIGGRAPH Comp. Graph. Proc., pages 8594. ACM,
July 1998.
[DLG90] N. Dyn, D. Leven, and J. Gregory. A buttery subdivision scheme for sur-
face interpolation with tension control. ACM Transactions on Graphics,
9(2):160169, 1990.
[DS78] D. Doo and M. Sabin. Behaviour of recursive division surfaces near ex-
traordinary points. Computer Aided Design, 10(6):356360, 1978.
[Gre94] G. Greiner. Variational design and fairing of spline surfaces. Computer
Graphics Forum, 13:143154, 1994.
[HDD
+
94] H. Hoppe, T. DeRose, T. DuChamp, M. Halstead, H. Jin, and J. McDon-
ald. Piecewise Smooth Surface Reconstruction. In Computer Graphics,
volume 28, pages 295302, July 1994.
[Kal93] M. Kallay. Constrained optimization in surface design. Springer-Verlag,
1993.
[KCVS98] L. Kobbelt, S. Campagna, J. Voratz, and H.P. Seidel. Interactive Multi-
Resolution Modeling on Arbitrary Meshes. In SIGGRAPH Comp. Graph.
Proc., pages 105114. ACM, July 1998.
[KHD93] M. Kass, M. Halstead, and T. DeRose. Efcient, Fair Interpolation Using
Catmull-Clark Surfaces. ACM Computer Graphics, 27:3544, 1993.
[Kob96a] L. Kobbelt. A Variational Approach to Subdivision. CAGD, 13:743761,
1996.
[Kob96b] L. Kobbelt. Interpolatory Subdivision on Open Quadrilateral Nets. In
Computer Graphics Forum, 1996.
[Kob97] L. Kobbelt. Discrete Fairing. In Proceedings of the Seventh IMA Confer-
ence on the Mathematics of Surfaces, pages 101131, 1997.
[Kob98] L. Kobbelt. Variational Design with Parametric Meshes of Arbitrary
Topology. Teubner, 1998.
[LM98] B. L evy and J.L. Mallet. Non-Distorted Texture Mapping for Sheared
Triangulated Meshes. In SIGGRAPH Comp. Graph. Proc. ACM, July
1998.
[Loo87] C. T. Loop. Smooth subdivision surfaces based on triangles. Masters
thesis. Department of Mathematics, University of Utah, August 1987.
[Mal89] J.L. Mallet. Discrete Smooth Interpolation in Geometric Modeling.
ACM-Transactions on Graphics, 8(2):121144, 1989.
[Mal92] J.L. Mallet. Discrete Smooth Interpolation. Computer Aided Design
Journal, 24(4):263270, 1992.
[MS92] H. Moreton and C. S equin. Functional Optimization for Fair Surface
Design. ACM Computer Graphics, 26:167176, 1992.
[PR97] J. Peters and U. Reif. The Simplest Subdivision Scheme for Smoothing
Polyhedra. ACM Transactions on Graphics, 16(4), October 1997.
[Rei95] U. Reif. AUnied Approach to Subdivision Near Extraordinary Vertices.
Computer Aided Geometric Design, 12:153174, 1995.
[Sab91] M.A. Sabin. Cubic Recursive Subdivision with Bounded Curvature,
pages 411414. Academic Press, 1991.
[Sei98] H. P. Seidel. 3D Geometry Compression with Splines. In SIGGRAPH
course notes: 3D Geometry Compression (course 21). ACM, July 1998.
[SF98] K. Singh and E. Fiume. Wires, A Geometric Deformation Technique. In
SIGGRAPH Comp. Graph. Proc., pages 405414. ACM, July 1998.
[Sta98] J. Stam. Exact Evaluation of Catmull-Clark Subdivision Surfaces at Ar-
bitrary Parameter Values. In SIGGRAPH Comp. Graph. Proc., pages
395404. ACM, July 1998.
[SZSS98] T.W. Sederberg, J. Zheng, D. Sewell, and M. Sabin. Non-Uniform Re-
cursive Subdivision Surfaces. In SIGGRAPH Comp. Graph. Proc., pages
387394. ACM, July 1998.
[WW92] W. Welch and A. Witkin. Variational Surface Modeling. In SIGGRAPH
Comp. Graph. Proc., pages 157166. ACM, 1992.
[WW94] W. Welch and A. Witkin. Free-Form Modeling Using Triangulated Sur-
faces. In SIGGRAPH Comp. Graph. Proc., pages 247256. ACM, 1994.
[WW98] H. Weimer and J. Warren. Subdivision Schemes for Thin Plate Splines.
In EUROGRAPHICS98, 1998.
[ZSS96] D. Zorin, P. Schr oder, and W. Sweldens. Interpolating Subdivision for
Meshes with Arbitrary Topology. In SIGGRAPH Comp. Graph. Proc.,
pages 189192. ACM, 1996.
A B
Figure 9: Modeling blending surfaces between a given set of cylinders. A: Limit
surface M