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 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

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

**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,**, User's Guide - Version 1.0, Monographs of the 1998-2000 Scientific Research Program "Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)*xcmodel*: a system to model and render NURBS curves and surfaces**G.Casciola,**, User's Guide - Version 1.0, Monographs of the 1998-2000 Scientific Research Program "Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)*xcsurf*: the 3D modeller**G.Casciola, G.DeMarco,**, User's Guide - Version 1.0, Monographs of the 1998-2000 Scientific Research Program "Numerical Analysis: Methods and Mathematical Software", Ferrara (2000)*xcbool*: the object composer**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)