Surface and Solid Modeling
The area of surface and solid modeling deals with shape design and representation
of physical objects.
A solid modeler represents an object unambiguosly by describing its surface
boundary and by topologically orienting it, so that we can tell, at each surface
point, on which side the solid interior lies. Whereas, a surface modeler gives
only a geometrical description of the object boundary without any topological
information.
Currently, most solid modelers are able to support
solids composed of polyhedral models and quadric surfaces (like spheres,
cylinders etc.) and their Boolean combinations.
At the same time, the field of surface
modeling has been developed to model classes of piecewise surfaces based
on particular conditions of shape and smoothness. Such models are also
referred to as sculptured models.
Over the years, in our research, there has been considerable effort
put into integrating surface and solid modeling. Moreover, there was
considerable interest in building complete solid representations from
spline/NURBS surfaces and their Boolean combinations.
About surface modeling and the collection of mathematical methods that we use
to describe the shape of an object, we started in 1989 with a survey work
that addressed our following research to NURBS (Non Uniform Rational B-Spline)
paradigm.
NURBS have become the de facto industry standard for the representation, design,
and data exchange of geometric information. NURBS have been added to several
international standards, and many packages include NURBS as the primitive for
designing simple and free form curves and surfaces.
However, the most useful NURBS paradigm is limited by the requirement that
the surfaces are defined over rectangular domains and this leads to topological
rectangular patches.
A generalization for an arbitrary topology can be obtained
by collapsing some of the control mesh edges, but this creates surfaces with
ambiguous surface normal and degenerate parametrization.
NURBS curve profile
NURBS CP revolution surface
revolution surface
The introduction of a trimmed surface data type in the description of free
form objects or parts of solids has provided greater power and flexibility to these
representational schemes. A trimmed surface is an ordinary tensor product surface
that has a restricted parameter domain, thus overcoming the limit of tensor
product surfaces defined over rectangular regions, and allowing
for arbitrary domains; the following figure shows an example of a trimmed sphere.
trimmed NURBS sphere within its domain and a domain tessellation.
However, the major bottle necks are in performing robust,
efficient and accurate Boolean operations on the sculptured models. The
main difficulty is in evaluating and representing the intersection of
parametric surface patches and it has hindered the development of
solid modelers that incorporate parametric surface models.
The topology of a surface patch becomes quite complicated when
Boolean operations are performed and finding a convenient
representation for these topologies has been a major challenge.
As a result, most of the current solid modelers use polyhedral
approximations to these surfaces and
apply existing algorithms to design and manipulate these polyhedral
objects. Not only does this approach lead to data proliferation, the resulting
algorithms are inefficient and inaccurate.
The difficulties posed by Boolean combination of free from objects have been
partially overcome through the use of trimmed surfaces.
The proposal M.S.Casale, Free form solid modeling with trimmed surface patch,
IEEE, CG&A (1987), is taken up, extended and adapted for NURBS surfaces and
finally implemented in the xcbool system.
NURBS sphere and cube
NURBS sphere intersected with NURBS cube.
cube trimmed domain.
sphere trimmed domain.
Follows an example between two NURBS free from surfaces; two Coca Cola bottles.
First view
Second view
Third view
The two bottles are located so that they intersect; we proceed to
operate a solid operation of difference between the vertical bottle and the
tilted.
First view
Zoomed view
Shading zoomed view
Vertical bottle trimmed domain
Tilted bottle trimmed domain
In the following we show how our ray-tracing algorithm can be used to show up
the modeled surface/solid form.
First view
Second view
Third view
References
-
G.Casciola, Rappresentazione di oggetti a forma libera ,
Workshop CNR-GNIM "Conoscenza per immagini", (1989),
-
G.Casciola, B.Quaquarelli, Primitive solide, Operazioni Booleane e
NURBS, Atti del convegno internazionale ICO GRAPHICS '90, (1990)
-
G.Casciola, G.L.Rubini, Sulle Dynamic NURBS e la simulazione di
processi dinamici, Rapporto Tecnico CNR-IAC, (1998)
-
G.Casciola, xcmodel: a system to model and render NURBS curves and
surfaces, User's Guide - Version 1.0,
Monographs of the 1998-2000 Scientific Research Program
"Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)
-
G.Casciola, xcsurf: the 3D modeller, User's Guide - Version 1.0,
Monographs of the 1998-2000 Scientific Research Program
"Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)
-
G.Casciola, G.DeMarco, xcbool: the object composer,
User's Guide - Version 1.0,
Monographs of the 1998-2000 Scientific Research Program
"Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)
-
G.Casciola, S.Morigi, The trimmed NURBS age ,
Advances in Theory of Computational Mathematics:
Recent Trends in Numerical Analysis, Vol. 3, ed. D.Trigiante,
Nova Science Publishers, Inc., (2000)
-
G.Casciola, S.Morigi, xcmodel: an aCADemic system ,
Annali Universita` di Ferrara - Sez. VII - Sc.Mat.,
Supplemento al Vol.XLV (2000)