Pi-surfaces: products of implicit surfaces towards constructive composition of 3D objects
Adriano N. Raposo, Abel J.P. Gomes

TL;DR
This paper introduces Pi-surfaces, a novel constructive method for modeling 3D objects using products of implicit functions, offering an alternative to traditional sum-based approaches like blobbies and meta balls.
Contribution
It proposes a new scheme for implicit 3D object modeling based on products of implicit functions, differing from existing sum-based methods.
Findings
Provides a new constructive scheme for 3D modeling
Offers an alternative to sum-based implicit methods
Enables modeling of both rigid and deformable objects
Abstract
Implicit functions provide a fundamental basis to model 3D objects, no matter they are rigid or deformable, in computer graphics and geometric modeling. This paper introduces a new constructive scheme of implicitly-defined 3D objects based on products of implicit functions. This scheme is in contrast with popular approaches like blobbies, meta balls and soft objects, which rely on the sum of specific implicit functions to fit a 3D object to a set of spheres.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
-surfaces: products of implicit surfaces towards constructive composition of 3D objects
Adriano N. Raposo and Abel J.P. Gomes
Instituto de Telecomunicações and Universidade da Beira Interior
R. Marquês de Ávila e Bolama
6200-001, Covilhã, Portugal
[email protected], [email protected]
ABSTRACT
Implicit functions provide a fundamental basis to model 3D objects, no matter they are rigid or deformable, in computer graphics and geometric modeling. This paper introduces a new constructive scheme of implicitly-defined 3D objects based on products of implicit functions. This scheme is in contrast with popular approaches like blobbies, meta balls and soft objects, which rely on the sum of specific implicit functions to fit a 3D object to a set of spheres.
Keywords
Implicit surfaces, surface modeling, constructive modeling, 3D modeling, computational geometry, geometric modeling.
1 Introduction
Both implicit surfaces and parametric surfaces have been widely used in computer-aided design, geometric modeling, visualization, animation, and computer graphics [GVJ*+*09]. Implicit surfaces benefit from the valuable properties in modeling, namely: closure and point membership. Indeed, applying boolean operations (intersection, union, and difference) results in another well-defined implicit surface [GRM99, BGA04]. Moreover, it is easy to check whether a point behind, on, or beyond an algebraic implicit surface, as needed in collision detection.
However, unlike piecewise parametric surfaces, implicit surfaces are not akin to local shape changes interactively. Also, rendering an implicitly-defined algebraic surface poses some difficulties because it requires its preliminary triangulation [RV85, PK89, Gom03], particularly for implicit surfaces defined by high degree polynomial functions; hence, the low degree algebraic surface patches or algebraic splines used for geometric modeling [Baj88, BX97, LPP06, CCD00, War89, WZ00].
In this paper, we introduce a new method to model complex shapes through products of implicitly-defined algebraic surfaces (e.g., spheres, ellipsoids, cylinders, hyperboloids, and tori), called -surfaces. These -surfaces allow us: (1) to represent a surface as the product of two or more patches; (2) to globally edit the shape of each patch (e.g. patch replacement, patch removal, patch insertion); (3) to locally edit the shape of each patch (e.g. deformations like recesses, saliences, and so forth); (4) to blend two patches using a single blending parameter; and (5) to better control bulging effects inherent to sum-based surfaces (e.g., -surfaces like Gaussian surfaces) via the blending parameter.
In short, we propose a new constructive method for 3D objects through products of implicit functions, which differs from the dominant method found in the literature, which is based on -surfaces (e.g., blobby molecules [Bli82], metaballs [NHK*+*85], soft objects [WMW86], blobby model [Mur91], piecewise implicit surface patches [Baj88, BX97], and homotopy-generated surfaces [Bed92] [HH85].
2 -surfaces
-surfaces can be used to approximate any given smooth and bounded object in whose surface is defined by a single polynomial as a product of subsidiary polynomials. In other words, we can design any smooth object with a single algebraic surface. Let us denote the defining polynomials as . Then, the approximating object is defined by the polynomial
[TABLE]
where stands for the blending parameter that controls the approximating error.
From Eq. (1), which is the core equation of this paper, we can find that the shape of the approximating surface depends on the primitive surfaces and the parameter . That is, we have a product () of functions , where each function represents an arbitrary geometric primitive , and is the approximation parameter for the entire surface.
2.1 Implicit Primitives
-surfaces are built up from arbitrary implicit surface primitives. However, unlike traditional distance-based methods, -surface primitives are not limited to sets of spheres (or ellipsoids) to compose 3D objects. Instead, -surfaces use primitives like planes, quadrics, tori, and other more complicated surfaces. These primitives split into two different groups: bounded primitives (e.g., sphere, ellipsoid, torus, and so forth) and unbounded primitives (e.g., plane, cylinder, cone, hyperboloid of 1 sheet, hyperboloid of 2 sheets, paraboloid, hyperbolic paraboloid, and the like). Both bounded and unbounded primitives may be combined into the same 3D object.
2.2 Shape Operations
There are three different types of shape operations: shape repositioning, global shrinking or inflation, and local bulges or concavities.
2.2.1 Shape Repositioning
The shape of a -surface can also be adjusted by controlling the position of the primitives. This is somehow intuitive, though the blending of the primitives only depends on the distance between them and the blending parameter . For example, both spherical primitives in Figure 1 are combined into a -surface (in transparent gray). Obviously, considering the blending parameter remains unchanged, the resulting -surface depends on the distance between both primitives.
2.2.2 Global Shrinking vs. Global Inflation
Varying the blending parameter in Eq. (1) makes the entire -surface shrink or inflate. Specifically, decreasing the value of to zero makes the -surface shrink to the surface of the union of implicit surface primitives. Conversely, increasing the value of inflates the -surface globally. Figure 2 shows how distinct values of affect the global shape of a -surface.
Similar to -surfaces, undesired bulges about the intersection regions of primitives may occur in -surfaces. The difference is that -surfaces allow the control on bulges by reducing the value of the approximation parameter , as illustrated in Figure 3.
2.2.3 Local Deformations
Unlike -surfaces, -surfaces are very efficient in performing local deformations without affecting the global shape of the objects. Such deformations are performed by the action of primitives on other primitives. There are two main types of local deformations: local protrusions and local depressions.
Local protrusions are generated by adding a relatively small primitive to the -surface, but the small primitive needs to be close enough to the -surface in order to affect it. This mechanism is illustrated by the red object in Figure 4(a), where a small sphere imposes a spherical bump to the plane .
Local depressions are a little bit trickier to obtain with -surfaces. In this case, we need to invert the sign of the implicit function of the small primitive, yet inverting the original implicit function of the global shape is also feasible. This local deformation mechanism is illustrated in Figure 4(b)-(c), where we also used a small sphere to obtain a concavity in the plane .
2.3 Interactive Shape Control
As seen above, adding a primitive is as simple as including its defining implicit function in the product of -surface. This procedure only changes the already existing object locally. Besides, the position and geometric parameters of the primitive can also be interactively adjusted on the fly by the user. There two types of shape composition control: additive and subtractive.
Additive shape composition means we interactively add positive primitives to a given object without losing the control of its overall shape, i.e., without losing the capability of anticipating how the inclusion of a specific primitive will affect the global shape the object, as illustrated in Figure 5. In this case, the user creates the handle of the cup by interactively adding a torus to an existing bowl composed by a flattened ellipsoid and another torus. As depicted in Figure 5, when the user interactively displaces the handle until its final position, the handle remains perfectly blended with the cup. If needed, the user might also interactively change the ”thickness” of the handle just by changing the smaller radius of the torus.
Let us now see how three more objects are obtained from the composition of positive primitives.
Example 1. The hammer shown in Figure 6(a) was built using two implicit primitives so that , where is the blending parameter, and defines the first primitive (a block) and the second primitive (an ellipsoidal handle) as follows:
[TABLE]
Example 2. The sword pictured in Figure 6(b) is defined by , where , , and define three implicit primitives, two crossed ellipsoids and a sphere, as follows:
[TABLE]
[TABLE]
[TABLE]
Example 3. The table shown in Figure 6(c) is defined by , that is, by five implicit primitives, a rounded parallelepiped for the table top and four ellipsoids for the table legs, where
[TABLE]
[TABLE]
Subtractive shape composition means we interactively add negative primitives to an existing -surface, as shown in Figure 7. Interestingly, the negative primitive used to create the concavity shrinks as it gets close to the existing object, and even vanishes at some point. This is a very useful feature because it eliminates undesired components in the final object; specifically, the negative sphere in Figure 7 is used to interactively create a concavity in one of the faces of a 3D cube. Notice how the sphere becomes smaller and smaller to a point at which it finally vanishes in the proximity of the cube.
2.4 Geometry Evaluation
The geometry evaluation (also known as boundary evaluation [RV85]) builds upon ray casting to solve two difficult problems in implicit surface modeling:
- •
Rendering. We can immediately visualize the surface on screen with a significant realism and geometry fidelity, including singularities like apices, intersection curves, and the like, though without explicitly solving such singularities (i.e. the loci where the first derivatives vanish), as well as multi-component surfaces (see, for example, [RG06]).
- •
Triangulation. The point sampling inherent to ray casting allows us to reconstruct the surface because we classify the surface points as either regular or singular using the gradient (i.e. first derivatives). Essentially, this problem consists in triangulating a point cloud whose points are samples of the surface (see, for example, [BMR*+*99, LHRS05, KBH06]). Note that the nearby points are associated with adjacent pixels on the screen so that the triangulation is more amenable to carry out than in standard surface reconstruction algorithms lacking information like normals or partial derivatives. Moreover, knowing the partial derivatives at such points, we can quickly identify singularities like apices, sharp features, self-intersections, and so forth. Summing up, we use a novel image-based surface reconstruction, though we also may use algorithms like those described by Skala et al. in [ČS04, ČS05, ČS07]. Obviously, after triangulating a surface, we no longer need ray casting for the purpose of the graphics output.
Thus, our renderer combines ray casting and triangulation approaches into a single renderer.
2.5 Molecular -surfaces
Molecular modelling is an important application for -surfaces. Knowing that each atom has a corresponding van der Waals (VDW) radius [Bon64][Bat01], a molecule can be seen as a set of overlapping spheres representing the atoms.
2.5.1 Molecular -surface Formulation
The molecular surface of a molecule can be then described by the following -surface:
[TABLE]
where
[TABLE]
represents the spherical surface of the -th atom of radius and center . This formulation is in contrast with the Gaussian -surface proposed by Blinn [Bli82] to represent molecular surfaces.
It is worthy noting that for , Equation 2 represents a smooth molecular surface, so there is no need to use ray casting to sample the surface. Instead, we can directly triangulate the surface on-the-fly using triangulation algorithms as those described in [RG06, RQG09, DG11, DG15, DNJG17].
2.5.2 Examples of Molecular -surfaces
Let us now see how to model the molecular structures of two real drugs using -surfaces: (a) formic acid and (b) acetic acid.
Formic acid. This drug occurs naturally and is present in the venom of bees and ant stings. Using the atomic structure obtained from the DrugBank and the VDW radii from [Bat01] (1.52 Å for oxygen and 1.70 Å for carbon), the spheres have the following center points and radii:
[TABLE]
[TABLE]
[TABLE]
Then, using Equation 2 (with ) we obtain the -surface that represents the formic acid molecule as follows:
[TABLE]
The formic acid -surface is shown in Figure 8 (c).
Acetic acid. This drug results from the oxidation of ethanol and destructive distillation of wood. As seen in the previous example, the center points and radii of its atoms are as follows:
[TABLE]
[TABLE]
[TABLE]
[TABLE]
Then, using Equation 2 (with ), we obtain the algebraic surface that represents the acetic acid molecule as follows:
[TABLE]
The acetic acid -surface is depicted in Figure 9 (c).
The Molecular -surface formulation can also be used, for the sake of simplification, to model the four nucleotides (adenine, cytosine, guanine and thymine) used as DNA building blocks in [RG12, RG14, RG15], replacing the Gaussian -surface model.
3 Conclusions and Future Work
This paper presents a new general method to model complex 3D objects as the product of algebraic functions representing simpler implicit surface primitives. The resulting surfaces are here called -surfaces. Unlike traditional methods used in implicit modeling, this new method is not based on a sum of specific distance functions. Instead, the 3D objects are built upon a product of algebraic functions representing arbitrary implicit surfaces such as spheres, ellipsoids, and tori. This new approach allows us to interactively perform controlled deformations on the object shape both locally and globally. Two possible applications are proposed for this new model: constructive building of 3D objects and molecular surfaces modeling. As future work, and knowing that an increase in the number of primitives might generate higher degree algebraic surfaces, it is our intention to develop some strategies to overcome possible limitations that may occur in these cases. As a final remark, we believe that this new method is an important contribution for the geometric modeling research field.
4 Acknowledgements
This research has been partially supported by the Portuguese Research Council (Fundação para a Ciência e Tecnologia), under the FCT Project UID/EEA/50008/2019. We are also grateful to reviewers for their suggestions to improve this paper.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[Baj 88] Chandrajit L. Bajaj. Geometric modeling with algebraic surfaces. In Proceedings of the 3rd IMA Conference on the Mathematics of Surfaces, Keble College, Oxford, September 19-21, 1988 , pages 3–48, 1988.
- 2[Bat 01] S.S. Batsanov. Van der Waals radii of elements. Inorganic Materials , 37(9):871–885, 2001.
- 3[Bed 92] Sanjeev Bedi. Surface design using functional blending. Computer-Aided Design , 24:505–511, 09 1992.
- 4[BGA 04] Aurélien Barbier, Eric Galin, and Samir Akkouche. Complex skeletal implicit surfaces with levels of detail. Journal of WSCG , 12(1-3), 2004.
- 5[Bli 82] James F. Blinn. A generalization of algebraic surface drawing. In SIGGRAPH ’82: Proceedings of the 9th Annual Conference on Computer Graphics and Interactive Techniques , page 273, New York, NY, USA, 1982. ACM.
- 6[BMR + 99] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin. The ball-pivoting algorithm for surface reconstruction. IEEE Transactions on Visualization and Computer Graphics , 5(4):349–359, 1999.
- 7[Bon 64] A. Bondi. Van der Waals Volumes and Radii. J Phys Chem , 68(3):441–451, 1964.
- 8[BX 97] Chandrajit L. Bajaj and Guoliang Xu. Spline approximations of real algebraic surfaces. Journal of Symbolic Computation , 23(2-3):315–333, 1997.
