A Weighted Mean Approach to Smooth Parametric Representation

advertisement
TVC manuscript No.
(will be inserted by the editor)
A Weighted Mean Approach to
Smooth Parametric Representation of
Polygon Meshes
A. Ardeshir Goshtasby
Computer Science and Engineering Department, Wright State University, Dayton,
OH 45435. e-mail: agoshtas@cs.wright.edu
Abstract A method for representing genus-zero polygon meshes by smooth
parametric surfaces is described. A surface is defined by a weighted sum of
linear functions, each describing a polygon face in parametric form. Rational Gaussian blending functions that adapt to the size and shape of mesh
faces are used as the weights. The proposed representation has a very high
degree of continuity everywhere and provides a smoothness parameter that
can be varied to produce surfaces at varying resolutions. It is shown that the
representation facilitates geometry processing of meshes. The use of locally
supported weight functions as an alternative to rational Gaussian weights
is also discussed.
Key words Irregular mesh – weighted mean – multiresolution representation – free-form parametric surface – rational Gaussian surface
1 Introduction
Suppose a polygon mesh with Nv vertices,
{Vi = (xi , yi , zi ) : i = 1, . . . , Nv } ,
(1)
where (xi , yi , zi ) are the coordinates of vertex Vi is given, and the mesh has
Nf faces,
{Fi = (i1 , i2 , . . . , ik ) : i = 1, . . . , Nf } ,
(2)
where (i1 , i2 , . . . , ik ) denotes the indices of vertices forming face Fi . For a
triangular face, k = 3; for a quadrilateral face, k = 4; and in general for a
Send offprint requests to: A. Ardeshir Goshtasby
2
A. A. Goshtasby
polygon face with n vertices, k = n. We assume that the mesh is genus zero
and is parametrized. Therefore, parameter coordinates at mesh vertices,
{Ui = (ui , vi ) : i = 1, . . . , Nv } ,
(3)
are known. We would like to find a smooth parametric surface P(u, v) that
closely approximates the mesh.
Mesh parametrization has been the subject of many recent studies. We
are interested in those methods that can map a mesh to a plane or a sphere.
Parametrization methods typically find this mapping by starting from an
initial parametrization and iteratively revising the parametrization in such
a way that deformation in mapping from the mesh to the plane or sphere is
minimized. A method described by Kobbelt et al. [34] first grows the mesh
toward its convex hull. It then projects the convex hull to its bounding
sphere. Next, it assigns parameter coordinates of points in the sphere to
corresponding points in the mesh. Finally, an energy minimizing model is
used to minimize local distortions in the mapping. This resembles a shrinkwrapping process in which a sphere is shrunk to a mesh. In a similar analogy,
Wood et al. [58] first find a coarse parametrization by creating a set of isodistance ribbons maintaining the topology of the object and connecting the
ribbons. Then they gradually refine the coarse mesh using an energy model
to minimize distortion in iso-surface fit while increasing sampling accuracy
through reparametrization.
A parametrization method developed by Floater [21] maps the mesh
vertices to a planar domain by solving a system of linear equations obtained
by requiring the parameter coordinates at a vertex be a convex combination
of parameter coordinates at vertices in its neighborhood. This is known as
shape-preserving parametrization. Floater later [22] developed a much faster
algorithm, known as mean value parametrization, that achieves the same
quality parametrization but in a much shorter time. Lévy et al. [38] describe
a quasi-conformal parametrization, which minimizes angle deformation. The
method can efficiently parametrize large meshes with complex boundaries.
In a method developed by Sheffer and de Sturler [50], the angle deformation
from the mesh to the parameter space is minimized by solving a system of
nonlinear equations. These are a sampling of methods that may be used to
parametrize a polygon mesh before the approximation method outlined in
this paper is used. For the most recent results as well as excellent reviews
of parametrization methods, see the papers by Khodakovsky et al. [31] and
Praun and Hoppe [48].
Given a genus-zero mesh with vertices (1), faces (2), and parameter coordinates (3), we would like to find a parametric surface P(u, v) that smoothly
approximates the mesh. Subdivision and piecewise surfaces can be used to
achieve this. However, when the number of mesh elements becomes very
large, these methods become very resource demanding. Alternatively, implicit surfaces may be used to obtain a smooth approximation to the mesh.
Although implicit surfaces can, in general, be generated faster than subdivision and piecewise methods, they are not parametric and may produce holes
Smooth Representation of Polygon Meshes
3
where the density of points is rather low. The representation introduced in
this paper can fit a smooth parametric surface to an irregular polygon mesh.
The surface can adjust itself to meshes with polygon faces of varying shapes
and sizes. Moreover, a smoothness parameter is provided that can be varied
to create surfaces at different resolutions.
In the remainder of this paper, first, existing methods for smooth representation of polygon meshes are reviewed. Then, details of the proposed
method are given and properties of obtained surfaces are investigated. Finally, example surfaces obtained by the proposed formulation are presented
and concluding remarks are made.
2 Related Work
Methods for the smooth representation of polygon meshes can be grouped
into local and global. Local methods use information about mesh vertices
in a small neighborhood to find a surface point, while global methods use
information about an entire mesh to compute a surface point. Local methods can be grouped into piecewise and subdivision methods, while global
methods can be grouped into implicit and weighted mean methods.
The approximation of polygon meshes by piecewise triangular patches
has been achieved as far back as the 1960s [11]. A large number of methods for the piecewise approximation of meshes by triangular patches has
been developed throughout th years [8,9,13,14,20,51,53]. The methods differ in the amount of local information they use and the degree of continuity
they provide. Although non-triangular polygons can be subdivided into triangules and triangular patches can be fitted to them, methods have been
developed that directly work on non-triangular polygon [25,44,43,46,53].
Piecewise methods are very effective in the precision design of geometric
models, especially when the number of mesh elements is not very high. Determination of a surface point requires the determination of the patch the
point belongs to and the determination of the point’s location within the
patch. When the polygons are very small compared to the size of the generated image, many patches map to the same pixel, making computation of
individual patches quite wasteful.
Fast subdivision techniques have been developed to speed up the rendering of some of the piecewise surfaces. Subdivision methods can create
smooth surfaces over arbitrary topology meshes [16]. They use a set of
corner-cutting rules to produce a limit surface by recursively cutting off
mesh corners [6,17,18,39,47,55]. Subdivision methods typically use rules
that either split faces or vertices of a mesh although a method has been
developed by Zorin and Schröder [61] that subdivides the faces and the
vertices of a mesh alternatively. Subdivision surfaces that have B-spline,
piecewise Bézier, and non-uniform B-spline (NURBS) as special cases have
been developed [54]. A variational subdivision method to iteratively reduce
local curvature and produce fairer surfaces has also been proposed [35].
4
A. A. Goshtasby
The approximating subdivision surfaces gradually shrink as the number
of iterations increases, producing a surface that is smaller than the given
mesh at the limit. The interpolating subdivision methods, on the other hand,
produce a surface that bulges out of the given mesh and is larger than the
given mesh. To produce a surface that is close to a mesh, Maillot and Stam
[39] adjust the vertices of a refined mesh after each subdivision step.
In subdivision methods, the number of vertices grows exponentially with
steps in subdivision. Therefore, to achieve a desired accuracy in approximation, a very large number of vertices of the limit surface must be saved,
which may not be possible beyond a certain depth in recursion.
Both the piecewise and subdivision methods are local in the sense that
a surface point is determined from information about a small number of
mesh vertices. Although local methods have advantages in shape editing,
they make it very difficult to globally control the level of detail/smoothness
of a surface. Some limited control can be achieved by using higher degree
basis functions. The creation of a continuum of resolutions or degrees of
detail is also difficult to achieve because the surfaces are of discrete degrees,
and jumps in the level of detail are observed when going from one degree
to another (say, from degree 2 to degree 3).
A point on a piecewise surface can be accurately determined if the parameter coordinates of the point are known. Although, theoretically, the
same can be achieved by a subdivision surface, in practice, a large number
of subdivisions may be needed to reach the same accuracy.
Implicit surfaces can be used to smoothly approximate polygon meshes
also. An implicit surface approximating a set of points is obtained by centering a radial basis function, such as a Gaussian [3], a logarithmic [56], or a
multiquadric [4] at each point and finding the local maxima/minima of the
sum. If monotonically increasing basis functions are used, local minima of
the sum are determined, and if monotonically decreasing basis functions are
used, local maxima of the sum are searched for to determine the approximating surface. An alternative approach is to find the derivative of the sum
and locate the zero-crossings or use sign functions that have a positive value
on one side and a negative value on the other [15,30] and locate the zerocrossings of the sum. It is important to note that since the zero-crossings
of the first derivative of a function correspond to locally minimum as well
as locally maximum functional values, local minima when monotonically
decreasing basis functions are used and local maxima when monotonically
increasing basis functions are used correspond to false surface points. Clark
[10] has shown that if Gaussian basis functions are used, false zero-crossings
have positive second derivatives, which can be identified and eliminated.
Implicit surfaces are not parametric so surface points have to be searched
for one at a time, which can be computationally very expensive.
Attempts to speed up the computation of implicit surfaces have been
made. Rather than using globally defined radial basis functions, compactly
supported radial basis functions have been used [41]. This enables the computation of a surface point from local points. An algorithm to efficiently
Smooth Representation of Polygon Meshes
5
find implicit surface points via a fast sweeping and tagging scheme has also
been described by Zhao et al. [60].
Implicit surfaces have some weaknesses. First, holes may appear in the
surface if the density of points varies across the approximation domain. To
avoid creation of holes, in addition to the mesh vertices, the faces describing
the mesh may be quantized and points within the faces may be used in
the computations. Second, because radial basis functions are symmetric,
if given data are non-symmetric, the recovered surface may not accurately
represent the underlying shape. For instance, if the points provided are from
a sphere and the density of points varies on the sphere, the obtained surface
will not resemble a sphere. To overcome this, Ohtake et al. [45] (see also
[23] and [40]) normalize the basis functions to obtain a sum that evaluates
to 1 everywhere in the approximation domain. This will adjust the basis
functions to the local density and organization of the points. The weight
functions used in this paper also adjust their shapes and widths to the
density and organization of points. Third, if data are noisy, small branches
may appear in the surface since it can assume any topology. Fourth, the
accurate determination of a surface point requires considerable computation
since each point requires a search for the local maximum, minimum, or zerocrossing in a volumetric domain. Implicit surfaces, however, have the power
to represent very complex geometries.
In this paper, a formulation is introduced that can create a surface at a
continuum of resolutions. The surface is defined globally so one does not
have to be concerned with individual patches forming the surface. The
method is theoretically global, but because the weight functions approach
zero exponentially, for a required accuracy in computation, only mesh elements in a small neighborhood are sufficient to compute a surface point. The
proposed surface is not interpolating, but it can be made to pass very close
to the mesh by appropriately reducing the smoothness parameter of the
surface. The proposed method, however, is limited to genus-zero topology
meshes.
3 Proposed Representation
The surface approximating a mesh is defined by a weighted sum of the faces
of the mesh:
Nf
Pi (u, v)Wi (u, v),
(4)
P(u, v) =
i=1
where Nf is the number of polygon faces, Pi (u, v) is the parametric equation of face Fi and Wi (u, v) is a weight function centered at (uci , vic ), the
parametric center of face Fi . Wi (u, v) shows the contribution of face Fi
on surface point at (u, v). The weight functions are chosen such that their
sum is equal to 1 everywhere in the parameter space. (uci , vic ) is obtained by
averaging the parameter coordinates of the vertices of the face.
6
A. A. Goshtasby
Rational Gaussian blending functions [24] will be used as the weights.
These functions have a sum of 1 everywhere in the parameter space, satisfying the requirement in equation (4).
Face Fi in parametric form is written by
Pi (u, v) = ai u + bi v + ci ,
(5)
and coefficients ai , bi , and ci are determined by making the plane pass
through three of the vertices of the polygon. If face Fi contains more than
three vertices and the vertices are known to be noisy, coefficients ai , bi ,
and ci are determined by fitting plane (5) to all vertices of the face by the
least-squares method.
Rational Gaussian blending functions are defined by [24]
Gi (u, v)
Wi (u, v) = Nf
,
j=1 Gj (u, v)
(6)
where Gi (u, v) is a Gaussian of height 1 centered at (uci , vic ) in the parameter
space:
(u − uci )2 + (v − vic )2
Gi (u, v) = exp −
(7)
2σi2
σi is the standard deviation of the Gaussian used in the weight function
associated with face Fi . σi is set proportional to di , the radius of the smallest
circle enclosing face Fi in the parameter space if Fi is triangular, or the
average distance of the face vertices to the center of the face in the parameter
space if Fi is not triangular. Therefore,
σi = sdi ,
(8)
where s is the proportionality term. This automatically adjusts the width
of a weight function to the size of the corresponding face. Since di shows a
distance in the parameter space and s is a scaling factor, σi has the same
unit as di . Therefore, if the radius of the smallest circle enclosing triangle
Fi is di , the standard deviation of the Gaussian centered at (uci , vic ) in the
parameter space is σi . By making the heights of all Gaussians equal to 1
independent of their standard deviations, a smaller polygon is made to have
a smaller influence on the approximating surface than a larger polygon.
The smaller the proportionality term s, the smaller the widths of the
weight functions, and consequently, the more local the influence of local faces
on a surface point, making the surface pass closer to the mesh. Also note
that unlike Gaussians that are symmetric, the shapes of rational Gaussians
adapt to the shapes of the polygons they belong to (see Figure 1 for examples). If a minimum distortion parametrization is used where the distances
between vertices in the parameter space are as much as possible proportional
to the distances in 3-D [48], the weight functions automatically adjust their
widths to the sizes of the polygons. A non-optimal parametrization will not
cause the process to collapse. As long as the adjacency relation between
Smooth Representation of Polygon Meshes
(a)
(b)
7
(c)
(d)
Fig. 1 (a), (b) Two triangle meshes in the parameter space. (c), (d) Weight
functions corresponding to shaded triangles in (a) and (b). Note that the weight
functions adapt to the shapes and sizes of the triangles.
points in the parameter space and in 3-D are the same, the obtained surface will approximate the mesh, and as the proportionality term is reduced
the surface will get closer to the mesh. Non-optimal parameters, however,
may cause undesirable inflations/shrinkages in areas where deformation in
parametrization is high.
Gaussians are infinitely differentiable, therefore, the surface defined by
(4) is infinitely differentiable. Since the proposed surface has a very high
degree of continuity, it not only provides tangent continuity, it provides
curvature continuity and continuity of higher degrees everywhere. By letting
the parameter coordinates within a polygon be the average of parameter
coordinates at the vertices of the polygon, a continuous parametrization
is obtained within the parameter space. As long as mapping between the
parameter space and the polygon mesh is one-to-one and continuous, all
derivatives of the surface will be continuous.
A surface that is obtained from Nf polygon faces requires the solution
of Nf systems of nine equations, each to find coefficients ai , bi , ci for
i = 1, . . . , Nf . Note that in the proposed method, the systems of equations
to be solved are small (nine equations per face, or three equations for each of
the X, Y , and Z components of the parametric plane representing a face).
Therefore, a stable and efficient implementation can be achieved. Since the
surface is defined by a weighted sum of polygon faces, any remeshing process
that produces different polygons will affect the approximated surface even
when mesh vertices before and after a refinement are the same.
The proportionality term s in equation (8), which will be called the
smoothness parameter, is a global parameter that may be varied to control
the smoothness/detailedness of the entire surface. By letting the widths
of weight functions be proportional to the sizes of the polygons, a larger
polygon is made to have a greater influence on the surface than a smaller
polygon. Not only the widths of weight functions adapt to the sizes of the
polygons, the shapes of the weight functions adapt to the shapes of the
polygons. This automatically adapts a surface to the irregularity of a mesh
and creates more detail where the polygons are small, and it produces less
detail where the polygons are large.
8
A. A. Goshtasby
Formula (4) has been used in different contexts in the past. By letting
Pi (u, v) be polynomials and Wi (u, v) be B-spline or Bézier basis functions,
Catmull and Rom [7] were able to produce surfaces that interpolated uniform grids of points. By letting Pi (u, v) be constants, that is Pi (u, v) = Pi ,
and Wi (u, v) be radial basis functions, interpolation surfaces were obtained
[49] by solving a system of equations. By letting Pi (u, v) = Vi and Wi (u, v)
be inversely proportional to the distance of (ui , vi ) to (u, v), and by normalizing the weights such that their sum everywhere in the parameter space is
1, an approximating surface known as a weighted mean [52] was obtained.
By letting Pi (u, v) be a polynomial that approximates points at and in the
neighborhood of Vi , and by using weight functions with local support, a
local weighted mean surface [23,40] was obtained by solving small systems
of equations.
The proposed formulation describes a surface from a weighted mean of
planes. The difference between this and the traditional methods that use a
weighted mean of points is that instead of using a weighted mean of constants that represent the mesh vertices, a weighted mean of linear functions
that represent the mesh faces is used. The difference between the two is
significant. Since the vertices represent horizontal planes in the parameter
space and each component of a surface is obtained from a weighted mean of
the horizontal planes, creation of desired slopes in each component of a surface and consequently creation of desired local shapes in a surface becomes
very difficult. In the proposed method, since the planes can have any slope,
each component of a surface can have any slope anywhere and as a result
desired local shapes can be more easily created.
Instead of Gaussians, other monotonically decreasing radial basis functions, such as inverse distances, may be used to define the weight functions.
However, Gaussians are the only radially symmetric functions that produce
a smoother surface as their widths are increased [1,59]. Moreover, Gaussians
approach zero exponentially and for a given accuracy in computation the effect of faces beyond a certain parametric distance to the surface point under
consideration will be negligible and can be ignored in the computation.
If the triangles forming a mesh are about the same size and shape, compactly supported radial basis functions [57] may be used to define the weight
functions. If compactly supported weight functions are used, meshes that
contain varying size and shape faces may produce holes in larger faces. Globally defined rational Gaussian weights can fit a surface to any parametrized
genus-zero polygon mesh.
The method outlined in this paper produces a parametric surface. By
changing parameters u and v from 0 to 1 with equal increments, a regular
grid of points is generated for rendering. By changing the increments in u
and v, different sized grids can be generated. In the following section, properties of the proposed representation are explored and examples of surfaces
obtained by this representation are given.
Smooth Representation of Polygon Meshes
9
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Fig. 2 (a) A triangle mesh representing a terrain scene. (b)–(d) Surfaces obtained
with s = 2, 4, and 8, respectively. (e) A texture-mapped image of the area. (f)–(h)
Curvature plots of surfaces (b)–(d). Darker points show larger curvatures. This
data set is courtesy of the U.S. Geological Survey.
4 Properties
4.1 The Smoothness Parameter
The smoothness parameter s in equation (8) determines the widths of the
Gaussians and thus the widths of the weight functions. Consequently, it
controls the smoothness/detailedness of a created surface. By decreasing it,
more details are reproduced, and by increasing it, more details are smoothed
out. This can be attributed to the nature of Gaussians, which act like lowpass filters, attenuating high-spatial frequencies (the local details) while
maintaining the low frequencies that correspond to global shape features.
An example showing the effect of parameter s on created surfaces is
shown in Fig. 2. Fig. 2a is a triangular mesh representing a terrain. This
data set is courtesy of the U.S. Geological Survey. The texture-mapped
image of the area is shown in Fig. 2e. Figs. 2b–d show approximations of
the area by the proposed formulation using s = 2, 4, and 8, respectively.
Curvature plots [42] of these surfaces are shown in Figs. 2f–h. Darker points
show larger curvatures. As s is increased, the obtained surface produces
smaller curvatures, creating a smoother surface. As s is decreased, larger
curvatures are produced, creating a more detailed surface.
As opposed to parametric surfaces, such as B-splines, that are defined
by a convex combination of the mesh vertices, in the proposed formulation
the approximating surface is defined by a convex combination of the mesh
faces. Surfaces defined by mesh vertices try to stay within the convex hull
of the mesh vertices. To achieve this they may pass quite far away from
10
A. A. Goshtasby
(a)
(b)
(c)
(d)
Fig. 3 (a) A triangle mesh. (b)–(d) Surfaces approximating the mesh at different
smoothness levels. The mesh is overlaid with the surfaces to evaluate the quality
of the approximation.
the mesh vertices. In the proposed formulation, since the approximating
surface does not have to stay within the convex hull of the mesh vertices, it
can pass close to them. This property will keep a surface close to the mesh
even when the smoothness parameter is high. An example demonstrating
this property is given in Fig. 3. Surfaces approximating the mesh at three
different smoothness levels are shown in Figs. 3b–d. As can be observed,
surfaces at different smoothnesses pass near the boundaries of the mesh
and approximate the mesh closely.
4.2 Geometry Processing
Analogous to image processing operations that process 2-D images, geometry processing operations process 3-D geometries. Although operations such
as smoothing and edge sharpening have the same effect in 2-D and in 3-D,
often completely different approaches are taken to solve them. The need for
processing geometries was recognized early by Besl [2] and more recently
by Zorin et al. [62], Guskov et al. [28], and Gu et al. [26]. In this paper, it
will be shown that if a mesh is approximated by a parametric surface, an
appropriate resampling of the surface can be used to represent the surface
by a regular grid, and the regular grid can be represented by a vector-valued
2-D image, and consequently image processing operations can be used to
process 3-D geometries.
Geometry processing by image processing techniques requires mapping
a mesh to a regular grid. In the proposed approach, this is achieved by approximating a parametric surface to the mesh and resampling the surface
at a uniform parameter spacing. This will create a regular grid, which then
can be represented by a 2-D vector-valued image, each pixel representing
the X, Y , and Z coordinates of a grid point. If the given mesh is spherically
parametrized, Fourier transform may be used to carry out some of the computations. Fourier transform assumes that an image represents a 2-D signal
that cyclically repeats itself (the top of the image is a continuation of the
bottom of the image, and the left boundary of the image is a continuation
of the right boundary of the image). If a shape is mapped to a plane, use
Smooth Representation of Polygon Meshes
11
of the Fourier transform will result in large errors near image borders. If
computations are performed directly without the Fourier transform, image
values will be more accurate, but at image borders computations may not
be possible for certain operations such as smoothing.
Since the proposed representation is parametric, the approximating surface can be mapped to a regular grid by resampling the surface at equal
increments in u and v. An example is given in Fig. 4. Using the triangulated Stanford University bunny data set with parametrization computed
according to the method outlined in [26]. Fig. 4b shows approximation of
the bunny by the proposed formulation with s = 2. Resampling this surface
into a regular grid with increments in u and v equal to 1/255, we obtain
the geometry image shown in Fig. 4g. The resampled X, Y , and Z grid
coordinates are shown in red, green, and blue, respectively. Each pixel in
image 4g corresponds to a grid point in Fig. 4f. Given image 4g, we can
construct the geometry in Fig. 4f immediately. The difference between 4b
and 4f is in the way the surface normals are computed. In 4b, surface normals are analytically computed from the equation of the surface, and in 4f,
the surface normals are computed directly from the mesh vertices. Geometry processing in this manner results in some inaccuracy in computation
of surface normals. Later in Section 4.5, we will see how certain geometry
operations can be performed directly on the parametric surface to maintain
a high accuracy in computation of surface normals.
Given a geometry image like Fig. 4g, we can perform image processing
operations on the image and from the one-to-one correspondence between
the image and the geometry, create a regular quadrilateral mesh for rendering of the geometry. For instance, smoothing image 4g with a mean filter [5],
we obtain the image shown in Fig. 4h, which corresponds to the geometry
shown in Fig. 4c. An inverse filtering operation [5] on image 4g sharpens the
edges, producing image 4i, which represents the geometry shown in Fig. 4d.
Partial smoothing can be achieved by specifying the region of interest and
performing smoothing within the region. For instance, smoothing the region
in the geometry image corresponding to the face and chest of the bunny, we
obtain image 4j, which corresponds to the geometry shown in Fig. 4e.
Once a geometry is represented by a geometry image, existing image
processing techniques can be used to process it. The processed image can
then be transformed back to a regular gid for rendering. In addition to the
image smoothing and the edge sharpening demonstrated above, operations
such as morphing, interpolation, compositing, and cut-and-paste can be
easily performed using image processing operations.
An example of morphing by image blending is shown in Fig. 5. Suppose surfaces in Figs. 5a and 5e represent start and finish geometries in a
morphing animation. To produce the in-between surfaces, geometry images
corresponding to these surfaces are produced as shown in Figs. 5f and 5j.
Then, a proper blending of the images is computed to produce an in-between
image, and from the in-between image create the corresponding in-between
surface. Three images obtained by blending images 5f and 5j with ratios 3:1,
12
A. A. Goshtasby
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
Fig. 4 (a) The triangulated Stanford bunny. (b) Approximation of the bunny
by the proposed parametric surface with s = 2. (c) Smoothed bunny obtained
from (h). (d) Sharpened bunny obtained from (i). (e) Partially smoothed bunny
obtained from (j). (f) Same as (b) except that surface normals are computed
directly from the mesh. (g) Geometry image of (f). (h) Image obtained after
smoothing (g) by the mean filter. (i) Sharpening edges in (g) by inverse filtering.
(j) Partial smoothing of image (g) corresponding to the face and chest of the
bunny. The parametrized bunny is courtesy of Hughes Hoppe.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
Fig. 5 (a) A surface representing an area over the Grand Canyon. (b)–(d) Surfaces corresponding to images (g)–(i). (e) Another surface representing a different
area over the Grand Canyon. (f) Geometry image of (a). (g)–(i) Images obtained
by blending images (f) and (j) with ratios 3:1, 1:1, 1:3, respectively. (j) Geometry
image of (e). The triangulated terrain data sets from which surfaces (a) and (e)
were obtained are courtesy of the U.S. Geological Survey.
1:1, and 1:3 are shown in Figs. 5g–i, respectively. Surfaces corresponding to
these images are shown in Figs. 5b–d, respectively. These surfaces represent
the in-between surfaces obtained in morphing surface 5a to surface 5e.
Smooth Representation of Polygon Meshes
(a)
(b)
13
(c)
(d)
Fig. 6 (a) A mesh containing four triangles. (b)–(d) Surfaces approximating the
mesh with increasing smoothnesses. Along with the surfaces, the original mesh is
shown for comparison.
4.3 Representing Meshes with Nonuniform Elements
A surface approximation example using a mesh with four triangle faces is
shown in Fig. 6. Fig. 6a is the original mesh and Figs. 6b–d are surfaces
obtained at increasing values of the smoothness parameter. In these figures, along with the surfaces, the original mesh is shown for comparison. At
very low values of the smoothness parameter, the surface approaches the
mesh, reproducing sharp edges and corners. As the smoothness parameter
is increased, the edges and corners become smoother. A variety of surfaces
can be generated from a single mesh. If it is known that the mesh has
noisy vertices, a larger smoothness parameter should be used to smooth the
noise, and if data are known to be accurate, a smaller smoothness parameter
should be used to retain sharp edges and corners in the surface.
The mesh in Figure 6 is made up of uniform triangular elements. A mesh
containing triangular as well as quadrilateral elements is shown in Fig. 7.
The original mesh is shown in Fig. 7a and surfaces obtained at increasing smoothnesses are shown in Figs. 7b–d. A mesh may contain triangles,
quadrilaterals, and in general n-sided faces and the obtained surface will
approximate the mesh.
(a)
(b)
(c)
(d)
Fig. 7 (a) A mesh containing triangular and quadrilateral faces. (b)–(d) Surfaces
approximating the mesh with increasing smoothnesses. Along with the surfaces,
the original mesh is shown for comparison.
14
A. A. Goshtasby
(a)
(b)
(c)
(d)
Fig. 8 (a) An irregular mesh. (b)–(d) Surfaces obtained at increasing smoothness levels approximating the mesh. The original mesh is overlaid with obtained
surfaces for comparison. This data set is courtesy of Michael Floater.
The proposed parametric surface formulation does not require a regular control mesh to create a surface; rather, an irregular mesh is sufficient.
Fig. 8 shows an example where the organization and size of the mesh elements vary greatly across the mesh. The proposed formulation uses weight
functions whose shapes and sizes adjust to the organization and size of mesh
elements to ensure that the sum of the weights is equal to 1 everywhere in
the approximation domain. Figs. 8b–d show surfaces obtained at increasing
smoothnesses approximating mesh 8a. At a very small smoothness parameter, the surface passes very close to the mesh, but as the smoothness parameter is increased, the surface smoothes local details and captures more
of the global shape features.
4.4 Multiresolution Representation
Often there is a need to render a shape in multiresolution. Considerable work
has been done in this area. Eck and Hoppe [19] used a remeshing process to
transform an arbitrary mesh to a mesh with subdivision connectivity in multiresolution. Lee et al. [37] introduced a multiresolution remeshing method
with the objective of smoothly parametrizing the mesh points. Hoppe [29],
Khodakovsky et al. [32], and Cohen-Or et al. [12] developed multiresolution
approaches that could produce highly compressed meshes.
An approach that can produce considerable details by using only a coarse
mesh is based on the displaced subdivision idea [36]. From a coarse control
mesh, a smooth surface is obtained using a subdivision surface scheme [6].
Then, a scalar field representing the displacement between the subdivision
surface and the given points in the direction normal to the surface is determined. The scalar field is then used to displace the surface or create a
bump map for the surface to imitate local details in the underlying shape.
By selecting an appropriate resolution for the mesh, a desired level of detail could be produced in the reconstructed shape. This idea is extended to
meshes as opposed to smooth surfaces [27] by letting the displacement fields
measure distances of points to the mesh faces rather than to the smooth
surface approximating it.
Smooth Representation of Polygon Meshes
15
In the proposed representation, by varying the smoothness parameter
and the sampling rate, a shape is produced at a desired resolution. At a
lower resolution, a larger smoothness parameter and a smaller sampling
rate are used to render a shape, while at a higher resolution, a smaller
smoothness parameter and a larger sampling rate are used to reproduce
details in the shape.
Resolution relates to the distance at which an object is viewed. As an
object gets closer, its size increases and more details become visible, and
as the object moves farther away, it gets smaller and loses some of its finer
details although maintaining some of its global shape features. To imitate
this process, when creating an object at a lower resolution, first a larger
smoothness parameter is used to smooth local details. Then, the obtained
surface is resampled at a lower rate (larger increments in u and v) to produce
a smaller grid for rendering.
In this paper, parameter s is used to control both the smoothness and
the sampling rate. Assuming average parametric distances of vertices of face
Fi to its parametric center is σi and letting
Nf
1 σi ,
σ=
Nf i=1
(9)
we use σ to represent the interval between samples (increment in u and
v). If mesh elements are about the same size, the highest resolution shape
(s = 1) will be obtained by resampling the surface at intervals equal to σ.
To reduce the resolution, parameter s is increased, producing less details in
the surface. At the same time, a smaller resampling rate is used to render
the surface.
The data set in Fig. 9a shows the range image of a person’s knee after
triangulation. This data set contains 18,816 triangles and is courtesy of SGI.
Fig. 9b shows a multiresolution representation of the mesh by the proposed
method, smoothing more details as resolution is reduced. These surfaces
were rendered using 12 × 12, 24 × 24, 48 × 48, 96 × 96, and 192 × 192 regular
grids. There are (n − 1)2 quadrilateral elements in an n × n grid. Therefore,
there are 121, 529, 2209, 9025, and 36,481 quadrilateral elements in these
surfaces. Resampling the surfaces at higher rates than shown here will not
change the appearance of rendered surfaces.
Note that in the proposed representation, a low resolution surface is
obtained by resampling a rather smooth surface at a low rate. Therefore, a
low resolution image does not contain high spatial frequencies that may be
present in a high resolution image. This is different from methods that are
based on mesh simplification where vertices of a low-resolution mesh are a
subset of the vertices of the original mesh. Lower resolution images obtained
by the proposed method are smoother than higher resolution images. As
the resolution of the representation is increased, more details in data are
reproduced by smoothing the data less and resampling the surface at a
higher rate.
16
A. A. Goshtasby
(a)
(b)
Fig. 9 (a) A triangle mesh representing the knee of a person. (b) Multiresolution
representing of the knee. The original data set is courtesy of SGI.
The smoothness parameter s determines the resolution of a generated
shape and the size of the grid rendering the shape. As s is increased, a
smaller grid is generated for rendering. Increasing s by a factor of m will
decrease the number of grid elements by a factor of m2 .
4.5 Smoothing and Partial Smoothing
Smoothing can be achieved either through image processing means, as outlined in Section 4.2, or directly by changing the smoothness parameter of
the surface. If smoothing is achieved by increasing parameter s, surface normals can be accurately determined. If the geometry image of the surface is
processed to smooth the surface, surface normals will be only estimations
to their true values. Although both smoothing methods have similar effects
on a shape, the effects are not exactly the same.
It is sometimes necessary to see an overall smooth shape except for select
areas where details should be shown. It is sometimes necessary to see most
parts of a shape in detail except for select areas where details should be
smoothed. Creation of a shape with desired local smoothnesses is rather
easy with the proposed representation. The smoothness parameter in local
areas can be selected to reproduce the level of detail required in the areas.
Examples of partial smoothing by the proposed method are shown in
Fig. 10. Fig. 10b shows the smoothing of a small circular area near the
center of the surface in Fig. 10a, while Fig. 10c shows smoothing of the
entire surface except for a small circular area near the center of the surface.
The user can interactively choose the position and size of the area of interest
to smooth or retain details.
5 Locally Supported Weights
If sizes of polygon faces in a mesh do not vary greatly, local weights instead of global weights may be used to define the approximating surface.
Smooth Representation of Polygon Meshes
(a)
17
(b)
(c)
Fig. 10 (a) A surface. (b) Smoothing a circular area near the center of the surface.
(c) Smoothing the surface except for a circular area near its center.
Using Maude’s locally supported weights [40] in (4), we will obtain a surface
where each point is computed from faces in a small neighborhood. Assuming
(uci , vic ) represents the parametric center of face Fi and the smallest circular
region centered at (uci , vic ) in the parameter space containing n parametric
centers has radius Ri , we define a locally supported weight by
1 − 3R2 + 2R3 , 0 ≤ R ≤ 1,
(10)
Wi (R) =
0,
R > 1,
where
1
R = [(u − uci )2 + (v − vic )2 ] 2 /Ri ,
(11)
and (u, v) are the parameter coordinates of the surface point under consideration. The weight function given in (10) guarantees that a face whose
parametric center is farther than Ri from (u, v) in the parameter space will
have no affect on the surface point at (u, v). Also note that since
dWi (R)
= 0,
(12)
dR
R=1
weight (10) not only vanishes at R = 1, it vanishes smoothly. Therefore,
the weighted sum of mesh faces will be smooth everywhere. The surface
approximating a polygon mesh by the local weighted mean is defined by
Nf
P(u, v) =
Wi (R)Pi (u, v)
,
Nf
i=1 Wi (R)
i=1
(13)
where Pi (u, v) is again the parametric equation of face Fi .
In summary, to find a local weighted mean approximation to a mesh,
first, determine the area of influence of each polygon face (Ri ). Then, for
each surface point (u, v), identify those polygon faces that influence it. This
is determined by finding all mesh faces that satisfy
(u − uci )2 + (v − vic )2 < Ri2 .
(14)
18
A. A. Goshtasby
Knowing the polygon faces that influence a surface point, use equation (13)
to compute the surface point.
Although equation (13) has computational complexity Nf , since only n
of the weights are non-zero, its computational complexity is actually n. This
requires that the parametric centers of the mesh faces be binned so that for
a given (u, v) the nearest n centers could be quickly determined without
examining the parametric centers of all mesh faces.
Local weights, therefore, have computational advantages over global
weights. However, they do not have some of the nice properties of global
weights. For instance, the surface and all derivatives obtained by rational
Gaussians are continuous over the entire approximation domain, while a
surface defined by locally supported weights of (10) is continuous only up
to its first derivative. The smoothness of surfaces defined by rational Gaussian weights can be continuously varied, while the smoothness of surfaces
obtained by locally supported weights can be varied only discretely by increasing n. A larger n will find a surface point from a weighted sum of a
larger number of mesh faces, creating a less detailed surface. By sufficiently
decreasing the smoothness parameter of rational Gaussian weights, the obtained surface can be made to pass very close to the mesh. By reducing n
too much, the circular regions defined by the weight functions become too
small and may not cover the entire parameter space, creating holes in the
surface. This is especially a problem when the mesh elements are of different
shapes and sizes. If a large n is used to avoid creation of holes, details in
areas where small mesh elements exist will be lost. On the other hand, if a
rather small n is used to reproduce details in the mesh, holes may appear
in areas where large mesh elements exist.
Examples of surfaces obtained by the above local weighted mean method
are shown in Fig. 11. Surfaces approximating the Stanford bunny (shown
in Fig. 4a) with the parametrization outlined in [26] and rational Gaussian
weights with s = 1, 2, 3 are shown in Figs. 11a–c, while surfaces obtained
using locally supported weights with n = 5, 10, 15 are shown Figs. 11d–f.
The generated surfaces appear similar. However, by a closer examination
we see that surfaces obtained by rational Gaussian weights are smoother
and contain less shrinkage near the tail, ears, and front legs of the bunny
compared to the surfaces obtained by locally supported weights.
6 Computational Complexity
The global weighted mean method according to equation (4) requires in
the order of Nf multiplications to compute a surface point. The global
weighted mean finds a parametric approximation that has an infinite degree
of continuity, but it is practical only when a rather small mesh (thousands of
polygons) is given. If a rather large mesh (millions of polygons) is given, the
exact computation of the surface becomes computationally prohibitive. In
situations where given mesh vertices contain measurement and quantization
Smooth Representation of Polygon Meshes
19
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 11 (a)–(c) Surfaces approximating the Stanford bunny by the global
weighted mean with s = 1, 2, 3. (d)–(f) Surfaces approximating the bunny by
the local weighted mean with n = 5, 10, 15.
noise, accuracy in computation beyond a few decimal places is unnecessary
and formula (4) can be approximated without degrading the final result.
Since Gaussians vanish exponentially, in many situations it is sufficient to
use only a subset of the polygon faces where the weights are measurably
high and ignore polygon faces whose weights are so small that they cannot
be measured with the required error tolerance.
To choose the polygon faces that measurably influence a surface point,
the face centers are binned in a 2-D array according to their parameter coordinates. Knowing that Gaussians approach zero exponentially, a simple
calculation shows that if up to 10-digit accuracy is needed and the mesh
faces are about the same size, it is only necessary to use those faces whose
center coordinates are within 7σ of the surface point under consideration in
the parameter space. Using faces with centers farther away will not affect
the computed surface. Therefore, although the weight functions are global,
by requiring a desired accuracy in calculations, only faces whose parametric
centers are in a small neighborhood of the surface point under consideration need to be used in the calculations. The effect of distant faces on the
derivatives of a surface will be even smaller as derivatives of Gaussians are
much smaller in magnitude than the Gaussians themselves.
Note that as the smoothness parameter s is increased, parameter σ increases proportionately. Therefore, computation of a smoother surface requires use of a larger number of mesh faces in the computations. However,
20
A. A. Goshtasby
as the smoothness parameter is increased, smaller details are generated in
the surfaces and a lower resolution grid is sufficient to render the surface.
Therefore, although a larger number of mesh faces are used to compute a
point in a smoother surface, fewer grid points are needed to render the surface. When the smoothness parameter is s, the number of mesh faces used
in the calculations increases by s2 , compared to when s = 1 and the number
of grid points generated to render the smoother surface decreases by a factor of s2 (see the discussion in Section 4.4). Therefore, the computational
complexity of the global weighted mean is independent of the smoothness
or resolution of the surface.
Computation of each surface point by the local weighted mean requires
in the order of n multiplications; therefore, the computational complexity of
the local weighted mean is n. This computational complexity is comparable
to that for variational subdivision surfaces [33]. The local neighborhoods
used in rational Gaussians with truncated weights are in general larger than
local neighborhoods used by locally supported weights to produce surfaces
with similar details. Surfaces generated in Figs. 11a–c all required 55 seconds
by the rational Gaussian weights, while surfaces generated in Figs. 11d–f
required 15, 25, and 45 seconds by the locally supported weights on a 2.4GHz
PC.
7 Concluding Remarks
A weighted mean approach to the approximation of polygon meshes by
smooth parametric surfaces was described. The proposed surface formulation has a smoothness parameter that can be varied to create surfaces at
varying resolutions. As the smoothness parameter is increased, a surface
with less details is obtained. Since Gaussians approach zero exponentially,
they may be cut off beyond a certain point given an error tolerance in
computations.
To make the process totally local, instead of rational Gaussian weights,
locally supported weights may be used. The local weighted mean approach
has computational advantages over the global weighted mean, but it produces surfaces that are continuous only up to derivatives of degree one.
The proposed formulation for smooth approximation of polygon meshes
has the following properties:
1. It can approximate an irregular mesh with varying size and shape faces.
2. It approximates the mesh faces. This is in contrast to previous parametric formulations, such as B-spline and NURBS, that approximate the
mesh vertices. As a result, surfaces obtained by the proposed formulation stay very close to the meshes.
3. It produces surfaces that are smooth and curvature continuous everywhere. The local weighted mean counterpart is smooth but is not curvature continuous.
Smooth Representation of Polygon Meshes
21
4. It enables geometry processing of 3-D shapes via image processing techniques and without direct manipulation of the mesh vertices. This facilitates computation of key geometry operations such as smoothing, edge
sharpening, morphing, and compositing.
References
1. Babaud J, Witkin A, Baudin M, Duda R (1986) Uniqueness of the Gaussian
kernel for scale-space filtering. IEEE Trans. Pattern Analysis and Machine
Intelligence 8(1):26–33
2. Besl P (1990) Geometric signal processing. Analysis and Interpretation of
Range Images, R. C. Jain and A. K. Jain (eds.), pp 141–205
3. Blinn J (1982) A generalization of algebraic surface drawing. ACM Transactions on Graphics 1(3):235–256
4. Carr J, Beatson R, Cherrie J, Mitchell T, Fright W, McCallum B (2001)
Reconstruction and representation of 3D objects with radial basis functions.
Proc. SIGGRAPH, pp 67–76
5. Castleman K (1996) Digital Image Processing, Prentice Hall, p. 173
6. Catmull E, Clark J (1978) Recursively generated B-spline surfaces on arbitrary topological meshes. Computer Aided Geometric Design 10(6):350–355
7. Catmull E, Rom R (1974) A class of interpolating splines. Computer Aided
Geometric Design, R. E. Barnhill and R. F. Riesenfeld (eds.), Academic Press,
pp 317–326
8. Chang L, and Said H (1997) A C 2 triangular patch for the interpolation of
functional scattered data. Computer-Aided Design 29(6):407–412
9. Chui C, Lai MJ (2000) Filling polygonal holes using C 1 cubic triangular spline
patches. Computer Aided Geometric Design 17:297–307
10. Clark J (1989) Authenticating edges produced by zero-crossing algorithms.
IEEE Trans. Pattern Analysis and Machine Intelligence 11(1):43–57
11. Clough R, and Tocher J (1965) Finite element stiffness matrices for analysis
of plate bending. Conference on Matrix Methods in Structural Mechanics, pp
515–545
12. Cohen-Or D, Levin D, and Remez O (1999) Progressive compression of arbitrary triangular meshes. Proc. IEEE Conf. Visualization, pp 67–72
13. Constantini P, Manni C (1996) On a class of polynomial triangular macroelements. Computational and Applied Mathematics 73:45–64
14. Constantini P, Manni C (1999) A local shape-preserving interpolation scheme
for scattered data. Computer Aided Geometric Design 16:385–405
15. Curless B, Levoy M (1996) A volumetric method for building momplex models
from range images. Proc. SIGGRAPH, pp 303–312
16. DeRose T, Kass M, Truong T (1998) Subdivision surfaces in character animation. Proc. SIGGRAPH, pp 85–94
17. Doo D (1978) A subdivision algorithm for smoothing down irregularly shaped
polyhedrons. Proceedings Interactive Techniques in Computer Aided Design,
Bologna, Italy 1:157–165
18. Dyn N, Levin D, Gregory J (1990) A butterfly subdivision scheme for surface
interpolation with tension control. ACM Transactions on Graphics 9(2):160–
169
19. Eck M, Hoppe H (1996) Automatic reconstruction of B-spline surfaces of
arbitrary topological type. Proc. SIGGRAPH 1996, pp 325–334
22
A. A. Goshtasby
20. Farin G (1986) Triangular Bernstein-Bézier patches. Computer Aided Geometric Design 3(2):47–61
21. Floater M (1997) Parametrization and smooth approximation of surface triangulations. Computer Aided Geometric Design 14:231–250
22. Floater M (2003) Mean value coordinates. Computer Aided Geometric Design
20(1):19–27
23. Franke R, Nielson G (1980) Smooth interpolation of large sets of scattered
data. International Journal for Numerical Methods in Engineering 15:1691–
1704
24. Goshtasby A (1995) Geometric modeling using rational Gaussian curves and
surfaces. Computer Aided Design 27(5):363–375
25. Grimm C, Hughes J (1995) Modeling surfaces of arbitrary topology using
manifolds. Proceedings of SIGGRAPH, pp 359–368
26. Gu X, Gortler S, Hoppe H (2002) Geometry images. Proc. SIGGRAPH, pp
95–102
27. Guskov I, Vidimce K, Sweldens W, Schröder P (2000) Normal meshes. Proceedings of SIGGRAPH, pp 95–102
28. Guskov I, Sweldens W, Schröder P (1999) Multiresolution signal processing
of meshes. Proceedings of SIGGRAPH, pp 325–334
29. Hoppe H (1998) Efficient implementation of progressive meshes. Comput. &
Graphics 22(1):27–36
30. Hoppe H, DeRose T, Duchamp T, McDonald J, Stuetzle W (1992) Surface
reconstruction from unorganized points. Computer Graphics 26(2):71–78
31. Khodakovsky A, Litke N, Schröder P (2003) Globally smooth parametrization
with low distortion. Proc. SIGGRAPH
32. Khodakovsky A, Shröder P, Sweldens W (2000) Progressive geometry compression. Proc. SIGGRAPH, pp 271–278
33. Kobbelt, L (1996) A variational approach to subdivision. Computer Aided
Geometric Design 13:743–761
34. Kobbelt L, Vorsatz J, Labsik U, Seidel HP (1999) A shrink wrapping approach
to remeshing polygonal surfaces. EUROGRAPHICS 18(3)
35. Kobbelt, L (2000) Discrete fairing and variational subdivision for freeform
surface design. The Visual Computer 16:142–158
36. Lee A, Moreton H, Hoppe H (2000) Displaced subdivision surfaces. Proceedings of the SIGGRAPH, pp 85–94
37. Lee A, Sweldens W, Schröder P, Cowsar L, Dobkin D (1998) MAPS: Multiresolution adaptive parametrization of surfaces. Proc. SIGGRAPH, pp 95–104
38. Lévy B, Petitjean, Ray N, Maillot J (2002) Least squares conformal maps for
automatic texture atlas generation. Proc. SIGGRAPH, pp 362–371
39. Maillot J, Stam J (2001) A unified subdivision scheme for polygonal modeling.
EUROGRAPHICS, A. Chalmers and T.-M. Rhyne (eds.) 20(3)
40. Maude A (1973) Interpolation – Mainly for graph plotters. The Computer
Journal 16(1):64–65
41. Morse B, Yoo T, Rheingans P, Chen D, Subramanian K (2001) Interpolating
implicit surfaces from scattered data using compactly supported radial basis
functions. Shape Modeling International, pp 89–98
42. Mortenson M (1997) Geometric Modeling, second edition, Wiley Computer
Publishing
43. Nasri A (2000) Surface interpolation on irregular networks with normal conditions. Computer Aided Geometric Design 17:643–671
Smooth Representation of Polygon Meshes
23
44. Navau J, Garcia N (1991) Modeling surfaces from meshes of arbitrary topology. Computer Aided Geometric Design 8:89–96
45. Ohtake Y, Belyaev A, Alexa M, Turk G, Seidel HP (2003) Multi-level partition
of unity implicits. Proc. SIGGRAPH
46. Peters J (1993) Smooth free-form surfaces over irregular meshes generalizing
quadratic splines. Computer Aided Geometric Design 10(5):347–361
47. Peters J, Reif U (1997) The simplest subdivision scheme for smoothing polyhedra. ACM Trans. Graphics 16(4): pp. 420–431
48. Praun E, Hoppe H (2003) Spherical parametrization and remeshing. Proc.
SIGGRAPH
49. Powell, M (1987) Radial basis functions for multivariable interpolation: A
review. Algorithms for Approximation, J. C. Mason and M. G. Cox (eds.),
Clarendon Press, pp 143–167
50. Sheffer A, deSturler E (2001) Parametrization of faceted surfaces for meshing
using angle-based flattening. Engineering with Computers 17(3):326–337
51. Schmidt J (2000) Scattered data interpolation applying regional C 1 splines
on refined triangulations. Math. Mech. 80(1):27–33
52. Shepard D (1968) A two-dimensional interpolation function for irregularlyspaced data. Proceedings - 1968 ACM National Conference, pp 517–524
53. Shirman L, Sequin C (1990) Local surface interpolation with shape parameters
between adjoining Gregory patches. Computer Aided Geometric Design 7:375–
388
54. Shröder P, Zorin D (1998) Subdivision for Modeling and Animation, SIGGRAPH Course 36
55. Stam J (2001) On subdivision schemes generalizing uniform B-spline surfaces
of arbitrary degree. Computer Aided Geometric Design 18:383–396
56. Turk G, O’Brien J (2002) Modeling with implicit surfaces that interpolate.
ACM Trans. Graphics 21(4):855–873
57. Wendland H (1995) Piecewise polynomial, positive definite and compactly
supported radial functions of minimal degree. Advances in Computational
Mathematics 4:389–396
58. Wood Z, Desbrun M, Schröder P, Breen D (2000) Semi-regular mesh extraction from volumes. Proc. IEEE Visualization, pp 275–282
59. Yuille A, Poggio T (1986) Scaling theorems for zero-crossings. IEEE Trans.
Pattern Analysis and Machine Intelligence 8(1):15–25
60. Zhao H, Osher S, Fedkiw R (2001) Fast surface reconstruction using the level
set method. First IEEE Workshop Variational and Level Set Methods, 8th
ICCV, Vancouver, CA, pp 194–202
61. Zorin D, Schröder P (2001) A unified framework for primal/dual quadrilateral
subdivision schemes. Computer Aided Geometric Design 18:429–454
62. Zorin D, Schröder P, Sweldens W (1997) Interactive multiresolution mesh
editing. Proc. SIGGRAPH, pp 259–268
24
A. A. Goshtasby
A. ARDESHIR GOSHTASBY received a Bachelor of Engineering in
Electronics Engineering from the University of Tokyo in 1974, a Master
of Science in Computer Science from the University of Kentucky in 1975,
and a Doctor of Philosophy also in Computer Science from Michigan State
University in 1983. For about 20 years, he has been working in the areas
of computer vision, geometric modeling, and computer graphics. His main
interests have been in image registration, and curves and surfaces. He formulated image registration as an approximation problem and developed
a parametric surface formulation, known as rational Gaussian (RaG) surfaces, where irregular grids of control points can be used to define free-form
shapes. He has also formulated parametric curves and parametric surfaces
in terms of control lines and control planes as opposed to control points to
provide more effective means of interacting with 2-D and 3-D shapes. Dr.
Goshtasby is currently a professor in the Department of Computer Science
and Engineering, Wright State University.
Download