HETEROGENEOUS OBJECTS MODELLING AND VISUALIZATION USING IMPLICIT COMPLEXES
E. KARTASHEVAa, V. ADZHIEVb, P. COMNINOSb, A. PASKOb, B. SCHMITTc
a The Institute for Mathematical Modeling, Russian
b The National Centre for
Computer Animation,
c Computer Graphics Research Institute, Hosei University
(Digital Media Professionals), Tokyo, Japan.
Contents
1. Introduction
3. Modelling Using Implicit Complexes
3.1. Hybrid Representation of Geometry
3.2. Definition of Implicit Complexes
4. Model Case Study and Discussion
4.1. The Pot Filled with Liquid Model
4.2. Discussion
5. Rendering Implicit Complexes
6. Conclusions
7. References
This paper describes a technology for modelling and visualization of heterogeneous objects containing entities of various dimensionalities within a cellular-functional framework based on the implicit complex notion. Implicit complexes make it possible to combine a cellular representation and a constructive function representation. We describe a formal framework for such a hybrid representation and propose a general structure for implicit complexes. Then, we consider how an implicit complex can be described geometrically and topologically along with its associated attributes. Rendering algorithms for implicit complexes using ray-tracing are also discussed. Finally, we present a case study illustrating the proposed methods and algorithms.
Modelling and visualization of heterogeneous objects have become important research topics in different application areas such as CAD and rapid prototyping, volume modelling and rendering, representing results of physical simulations, geological and medical modelling (see [2], for example). Such objects are heterogeneous in their internal structure and dimensionality. A dimensionally heterogeneous object in 3D space can include elements of different dimensions (points, curves, surfaces and solids) combined into a single entity from the geometric point of view (i.e. a point set) and the topological point of view (i.e. a cellular complex). Varying materials and other attributes of an arbitrary nature constitute a heterogeneous internal structure.
A model of objects with fixed dimensionality and heterogeneous internal structure (multidimensional point sets with multiple attributes or so-called constructive hypervolumes) was proposed in [10]. This model uses real functions of point coordinates (scalar fields) to represent both the object geometry and its attributes. The hybrid cellular-functional model [1] allows for representing a heterogeneous object as a cellular complex with both explicit and implicit cells (cellular domains) of different dimension. Such an object is called an implicit complex, which is defined as the union of properly joined cellular domains. Explicit cells can be represented as parametric surfaces, parametric curves, and point lists. Implicit cells can be implicit surfaces and their patches, intersection curves of implicit surfaces, or functionally represented (FRep) solids [9].
An important, yet largely unexplored, problem is concerned with the conformity between the object’s geometry and its attributes representing its non-geometric properties. If there are some singularities in the distribution of some non-geometric properties (e.g. material and medium boundaries or load application points), then there is a need for consideration of some real or imaginary geometric elements, perhaps with different dimensionality, which only serve to describe those non-geometric properties. Note that introducing such subsidiary elements can change the topology of the model. For instance, when we deal with a heterogeneous model such as a pot with liquid containing a heating element immersed in it, we may need to consider a dynamic interaction between different surfaces (3D pot, liquid, heater - can be in the form of 2D spiral, boiling 2D bubbles growing on the spiral, floating to the liquid surface and once there bursting). Such a model assumes dealing with a complex and dynamically reconfigurable scene consisting of many structurally different components but unified into a single model.
In this paper, we describe a technology for modelling and visualization of heterogeneous objects in the form of implicit complexes (IC). First, we introduce a general structure of implicit complexes. Then we consider in detail how they are constructed. Rendering algorithms for implicit complexes using ray-tracing are also described. Finally, we present a case study illustrating the proposed methods and algorithms.
Let us briefly discuss approaches for modelling dimensionally heterogeneous objects using various cellular representations and related works on modelling objects with varying distribution of material and other attributes.
A typical technique for describing heterogeneous objects is to represent them as collections of homogeneous components. To describe complex topology, different spatial subdivisions, topological stratifications [6], and complexes [7, 8] are used.
Topological complexes and their construction methods are discussed in a number of publications on shape modelling and solid modelling. Multidimensional simplicial complexes are used in [8] for dimension-independent geometric modelling for various applications. A Selective Geometric Complex (SGC) [11] is a non-regularised non-homogeneous point set, represented through enumeration as the union of mutually disjoint connected open subsets of the real algebraic variety. A procedure for designing cellular models based on CW-complexes with the emphasis on the topological validity of the resulting shapes is considered in [3, 7].
Another approach to modelling heterogeneous objects is based on using real functions of point coordinates. For example, the constructive hypervolume model [10] supports uniform constructive modelling of point set geometry and attributes using such functions. Then, a theoretical framework combining a cellular representation and a constructive function representation was proposed in [1]. An independent cellular and functional representation of the same object is useful, but not sufficient in certain applications. Without additional information one cannot separate individual functions for the components from the single function describing the entire object. This additional information about object’s components, their dimensions, and attachments to each other are used in applications such as finite element mesh generation, animation, and rendering. The above was the motivation for introducing in [1] a hybrid cellular functional model based on the notion of an implicit complex, which allows for the flexible combination of cellular and functional object geometry models and attribute models. In the current paper, we examine in more detail the construction and rendering of implicit complexes.
Here we provide a brief description of a theoretical framework for the representation of implicit complexes. A more formal and detailed consideration can be found elsewhere [1]. In this paper we present novel material concerned with theoretical and practical matters of the description and construction of ICs.
The hybrid geometrical model of heterogeneous
objects presented in [1] combines a cellular representation
and a constructive representation using real-valued functions. Formally, the
hybrid representation for a geometric object is defined as follows:
:
where is a modelling space and
is an implicit p-dimensional complex. The definition of
an implicit complex is based on the concepts of cellular spaces and
CW-complexes [5]. A CW-complex provides a general representation for different
topological complexes including polyhedral and cellular complexes
D is defined as a closed cellular space (domain) and can be represented as a carrier of a CW-complex K, such
that D=|K|. The hybrid representation scheme can
be defined in the form of the pair represented through a union operation as
. We can use different representation schemes for various
pairs. Suppose that
for some subdomains we use the cellular representation. Such subdomains and their
subdivisions are called explicit and
are denoted by
and
. Then for the other domains, denoted by
, we use an FRep; so their cellular representation denoted by
is not necessarily
known but can, in principle, be built using some known method. We call such domains as well
as their subcomplexes implicit ones. Then the point set D is
represented as the union
. The complex K is also represented as the union of the
corresponding explicit subcomplexes
and the implicit
subcomplexes
:
.
Note that if the intersection of two cells of an IC is not empty, then it consists of a collection of cells of this complex. The same is true concerning the boundaries of cells. It is necessary to impose constraints on the domain boundaries similar to those for subdomains. If these conditions are satisfied, subdomains can overlap each other and some subdomains can be located inside the others. Fig. 1 shows examples of such subdivisions.
Fig. 1. Examples of
subdivisions: (a) 2D subdomains (rectangles abcd, lefm, gefk), 1D subdomains
(polyline gefk, segment gk) and 0D subdomains (points g, k). (b) 2D subdomain
(rectangle abcd ), 1D subdomains (segments ke, eg ) and 0D subdomains (points
e, g, k). (c) 2D subdomains (rectangles abcd, gkfe) and 1D subdomain (contour
gkfe)
In the general case, a p-dimensional
implicit complex is expressed as
, where
are cells of all the
explicit subcomplexes of
and
are implicit cells
(such that each
is the point set
coinciding with the carrier of an implicit subcomplex of
). Thus, for any
there exist
such that
.
Explicit cells are defined with
respect to the definition of the CW-complex. The shape of each explicit cell
is defined by a
characteristic mapping, and its boundary is mapped onto a subcomplex
with dimensionality
.
Each implicit cell is a closed point set
defined by an FRep. The boundary of the implicit cell
is not necessarily
mapped onto any subcomplex of
and can contain both explicit and implicit cells. Explicit
cells are indivisible elements of a subdomain subdivision containing no other
cells. Some cells of an implicit complex can lie inside implicit cells of the
complex. Note that an r-dimensional
implicit complex can be reduced to a cellular one. We assume
that each implicit cell
(where
) can be discretized.
IC topology is described
by relations between its elements. The general structure of a 3D IC is
illustrated by Fig. 2. By definition, a 3D IC consists of 0D, 1D, 2D and 3D
cells. Let be a set of
-dimensional cells
. Such a set contains both explicit and implicit cells. There
are two main types of relations that establish connections between cells of
different dimensionalities: the boundary relation and the “to contain”
relation.
Fig. 2. The general structure of a 3D IC
We denote by the boundary relation between p-dimensional
and s-dimensional cells,
,
. The pair (
) belongs to
if
belongs to the boundary of
. The relation “to contain” is
denoted by
,
,
. The pair
belongs to
if
and
. The entire structure of 3D IC is defined by six different boundary relations and
nine different “to contain” relations. Other relations are the co-boundary, the “to be contained”, the incidence and the adjacency relations.
These can be derived from the boundary and the "to contain" ones using various operations on
relations.
The geometry of ICs is described as follows. An explicit cell is described by its
coordinates. An implicit cell
is defined in FRep
with an inequality of the form
. In
space, the function
for 0D cells (points) can be described using functions
representing the intersection of three surfaces, the intersection of a curve
and a surface, or directly as the formulation
, where d is the
distance from the given point X0. An implicit cell
can also be described
as an image of a point functionally defined in 2D space.
An explicit 1D cell is defined by a
characteristic mapping
, which maps the segment
in the space of the
real parameter into a curvilinear and perhaps a closed segment in the
space. An implicit
cell
can be described in
two ways. It can be defined as an FRep object in
by an inequality of
the form
. In such a case, the 1D cell takes the form of an arbitrary
curve defined as the intersection of two surfaces in
. Alternatively, the cell
can be represented as
an image of an FRep curve described in 2D space by an inequality of the form
, where
. This mapping is given by a function of the form
.
Explicit
2D cells are represented as images of triangles and quadrilaterals resulting
from characteristic mapping. For each cell , we define the characteristic mapping
, which takes the rectangle
in the parameter space
and maps it onto a surface patch in
. An implicit 2D cell
can also be described
in two ways. It can be defined with FRep in
by an inequality of
the form
. Alternatively, one can use a functional description of the
form
in
with the subsequent
mapping of the form
.
To
represent an explicit 3D cell, a variety of maps of the form can be used to
describe the shape of curvilinear polyhedrons. Maps of this kind have been
extensively used in describing finite element sets. Such maps can be used to
describe the cells and attach them to the boundary cells of the complex by
obeying certain boundary conditions. Once again, an FRep of the form
is used to describe
the implicit cell
.
And
finally, to describe the non-geometric properties of a heterogeneous object,
represented by an IC, we use the cellular-function model of the attributes introduced
in [Adz02]. Each attribute is defined by a
function of the form
, where
is a set of attribute
values (which can be a vector or tensor space).
is embedded into a
real-valued space of a proper dimension mi.
Thus,
. Attributes assigned to an implicit complex K are
described by functions
in a piece-wise
manner, i.e.
.
To create an IC, it is necessary to describe the shapes of all its elements and, to specify the entire boundary and the “to contain” relations between its elements. The attachment operation is introduced allowing the creation of the IC in a component-wise manner, in order of increasing dimensionality of its components. This process is constructive and iterative.
We start with an empty complex , and then at each construction step i we attach a new component
to the already formed
subcomplex
, thus creating a new complex
which is a subcomplex
of the target complex
. We introduce two types of the attachment operation based on the one defined for CW
complexes [3, 7].
The cell
attachment operation assumes that at each step i of the process another cell is attached to the
complex
. First we define the shape of this cell using one of the
methods described above. Then, we have to modify the relations. So for all
implicit and explicit cells
lying on the boundary
of
we add the pairs
to the boundary
relations
(where
). Then, for each implicit cell
(where
) that contains
, we have to add the pair
to the “to contain”
relation
(where
). Finally, and only if
is an implicit cell, for all implicit and explicit cells
(where
) lying inside
we add the pairs
to the “to contain”
relation
(where
).
The complex
attachment operation deals with the procedure of attaching the complex to the complex
. Assume that
is properly joined to the complex
that is
(where C is a subcomplex of both
and
). Thus we have to create a complex
,
. First, we define an attachment map
that relates the
equivalent cells of the initial complexes. Then, we obtain the sets
of the complex
as quotient sets of the union of the corresponding sets of
the initial complexes by the quotient map
as follows:
, (
). Finally, we define the boundary and the “to contain”
relations of the complex
.
In this section we give an example of an implicit complex with nested cells. Then, we discuss the difference between the proposed approach and the known heterogeneous object models.
Let us consider a 2D
heterogeneous object shown in Fig 2. This object can be represented as a
carrier of the implicit complex which includes the following cells:
. All the implicit cells
are described within the FRep framework by the functions
. All the 0D explicit cells are defined by their coordinates
and all the 1D explicit cells are represented as segments of parametric curves.
Let us consider in detail the description of
the implicit cells. The extracted implicit cells are shown in Fig. 3b and Fig 4. We assume that the cell is defined as the
intersection of the cell
with some 2D solid
represented by the inequality
so
.
Fig. 3. (a) The pot filled with liquid model with nested cells and
(b) The 2D cells extracted
In this case the function takes the form
. Then the functions defining the 0D and 1D implicit cells
are defined on the basis of the description of the 2D cells as follows:
Note that each of the cells ,
and
consists of two
disconnected components. This does not contradict the implicit complex
definition and is useful in some applications (e.g., rendering). However, if it
is necessary to provide simple connectedness, then one can introduce additional
subdividing objects. The attributes here are defined though their RGB colour
components.
Fig. 4. The pot filled with liquid: the 0D and 1D cells extracted
Note the important distinctions between the proposed approach and the previously known frameworks for describing heterogeneous models. The models described in [11] also make use of subcomplexes derived from the basic cellular subdivision of the heterogeneous object. However, they first require the explicit building of the cellular subdivision of the modelling space and then use this to describe the subcomplexes representing the components of the object. In our framework the internal structure is described only for those components which really require such a detailed cellular representation. Other components are described using only the FRep of the corresponding point sets.
The models described in [6] make use of the topological stratification. Our framework does not need to exploit stratification-based structures since no strong topological restrictions on the subdomains that can be dimensionally heterogeneous non-manifolds are imposed. The main criterion for the choice of the subdomains is based on the specifics of their mathematical description. However, the proposed framework can be used to describe the topological stratification structures provided that the subdomains forming the object subdivision are manifolds with the topological homogeneity.
Also note that, as the above example demonstrates, nested cells are valid within our framework. This means that cells can intersect each other or lie inside other cells. For instance, in that example one part of the disc is inside the liquid and another is outside. To deal with such a model, we may either break the disk into two parts by removing the whole disk from the complex or subdividing the disk into two parts without deleting the whole disk. The latter case allows us to deal simultaneously both with the disk as a whole and with its parts and it is perfectly valid within the implicit complexes framework. Moreover, this allows for a flexible reconfiguration of the components of the model that promises interesting animation applications.
Using the known rendering techniques such as polygonization and ray tracing, one can render any individual explicit or implicit cell. Below, we assume that the implicit complex contains cells with different opacity values. In the case of fully opaque cells, they can be rendered individually and combined together with the standard use of an appropriate Z-buffer. The example shown in Fig. 4 has been rendered with a conventional ray tracing algorithm extended to support trimmed implicit surfaces as 2D cells [12] and a Z-buffer. In the case of cells with different opacity values, a single Z-buffer is not enough, and direct visualization techniques (polygons and graphic hardware) can not be used. Indeed, not only a z-value has to be stored, but rather z intervals, in order to properly accumulate the opacity for a correct blending operation. Note that the order for rendering cells depends on their dimension. Therefore, to render implicit complexes, volume rendering techniques are also required, in addition to surface rendering techniques.
Explicit or implicit 1D and 2D cells are rendered first using traditional surface rendering techniques, as well as 3D explicit cells. Given a ray, all the z intersections have to be stored for each cell (a cell can intersect the ray several times). In the case of explicit 3D cells, z intervals are stored. It is sufficient to store only the set of z intervals for a 3D explicit cell, as inside such a cell opacity is constant by definition. At this stage of the rendering process, for the given ray several z values and z intervals along with the information that indicates the correspondence of the z value with its cell are stored.
Then, 3D implicit cells are rendered, depending on the stored values, with a volume rendering technique based on ray tracing. See, for instance, [4] for more details on general volume rendering. Using the previously stored information, z testing along the ray, one can determine if the current opacity and colour is accumulated depending only on the 3D implicit cell or whether the colour and opacity of another cell has to be used for the given point.
In the case of cells of a dimension lower or equal to 2, their colour and opacity are accumulated directly instead of the attribute values of the 3D implicit cell. In the case of 3D explicit cells, their attributes are accumulated along the stored z-interval. The z test along the ray and therefore the accumulation is performed until the traditional termination conditions have been met.
Fig. 5 shows an example of rendering of an implicit complex that contains cells of various dimensions and of various opacities. It also illustrates the theoretical example proposed in section 4, extended to 3D cells. The implicit 3D cells correspond to the grey cylinder and the pot-shape object. The colour of the object is based on Perlin’s noise function. The opacity varies along the vertical axis. Note that inside the pot there is a blue area (representing the liquid). This area, on the base of the constructive hypervolume model, is defined as a half-ellipsoid combined with a noise function. The 2D implicit cell is defined as a trimmed surface, namely an Escher’s spiral defined as a sphere surface trimmed by four swept solids. There are also 1D explicit cells shown in red that connect the 2D implicit cell and the 3D implicit cells (i.e., the cylinder). Note that the trimmed implicit surface intersects the 3D cell representing liquid as it is allowed in our model
Fig. 5. Rendering an implicit complex composed of cells
of different dimension and semi-opaque cells.
Implicit complexes make it possible to combine a cellular representation and a constructive function representation into a uniform model. In this paper, we have described the theoretical framework and the practical techniques of construction and rendering such models. The general structure of an implicit complex and attachment operations were presented and illustrated. The general algorithm for rendering of implicit complexes including opaque and semi-transparent cells of arbitrary dimensions was proposed and illustrated.
Future work directions include the development of specific operations applicable to entire implicit complexes, an extension of the model to time-dependent implicit complexes, and further development of the multidimensional version of the model and its applications, and implementation of a specialized modelling language
[1] V. Adzhiev,
[2] Heterogeneous Objects Modelling and Applications, Collection of Papers on Foundations and Practice, Lecture Notes in Computer Science, vol. 4889, Eds. Pasko A., Adzhiev V., Comninos P., 2008, 285 p.
[3] T. Kunii (1999) Valid computational shape modeling: design and implementation, International Journal of Shape Modeling, vol. 5, No. 2, pp. 123-133.
[4] B. Lichtenbelt, R. Crane and
[5] W. S. Massey (1967), Algebraic topology: An introduction, Harcourt, Brace&World.
[6] A. Middleditch , C. Reade, A. Gomes (2000), Point-sets and cell structures relevant to computer aided design, Int. Journal of Shape Modeling, vol. 6, No. 2, pp. 175-205.
[7] K. Ohmori, T. Kunii (2001), Shape modeling using homotopy, In Proc. Int. Conf. on Shape Modeling and Applications, IEEE Computer Society, pp. 126-133.
[8] A. Paoluzzi, F. Bernardini, C. Cattani, V. Ferrucci (1993), Dimension-independent modeling with simplicial complexes. ACM TOG, vol. 12, No. 1, pp. 56-102.
[9] A. Pasko, V. Adzhiev, A. Sourin, V. Savchenko (1995), Function representation in geometric modeling: concepts, implementation and applications, The Visual Computer, vol. 11, No. 8, pp. 429-446.
[10] A. Pasko, V. Adzhiev, B. Schmitt, C. Schlick (2001), Constructive hypervolume modeling, Graphical Models, vol. 63, No. 6, pp. 413-442.
[11] J. Rossignac, M. O’Connor (1989), SGC: A dimension independent model for pointsets with internal structures and incomplete boundaries, In Geometric modeling for product engineering, ed. by M. Wozny, J. Turner, K. Preiss, pp. 145-180.
[12] B. Schmitt, A. Pasko, G. Pasko, T.
Kunii (2004), Rendering
trimmed implicit surfaces and curves, In Proc. Afrigraph 2004,