Dimension-independent convex-cell based HPC: representation scheme and implementation issues

12

Transcript of Dimension-independent convex-cell based HPC: representation scheme and implementation issues

Dimension-Independent Convex-Cell Based HPC:Representation Scheme and Implementation Issues �Valerio Pascucci x Vincenzo Ferrucciz Alberto PaoluzzizxzDip. di Disc. Scienti�che: Sez. Informatica, Terza Universit�aVia Segre 2, 00146 Roma, ItalyxDip. di Informatica e Sistemistica, Universit�a \La Sapienza"Via Buonarroti 12, 00185 Roma, ItalyAbstractThis paper is devoted to the discussion of some of thedesign issues which concern the representation schemeunderlying the geometrical nucleus of the PLASM designlanguage. A central choice in the representation of ge-ometry within the language was to store the minimumpossible amount of topology. E.g., the boundary of apolyhedron in <3, which is a set of 3D polygons, isstored without adjacencies. Thus, each such bound-ary polygon is considered as an elementary polyhedronwithin its a�ne hull, and represented as a solid 2D de-composition in convex cells. This representation allowsto easily perform some operations that are not usuallyavailable in a geometric modeler, as well as to representboth manifolds and non-manifolds in a uniformmanner.In particular, each geometrical object is representedas a multilevel hierarchical structure (Hierarchical Poly-hedral Complex, HPC) that collects a set of elemen-tary polyhedra, a�nely mapped from their local coor-dinate systems and grouped as a whole. Two represen-tation are provided for the same geometry: a weak anda complete representation. In a weak representation theset of elementary polyhedra collected in a hierarchicalstructure constitutes a covering of the required pointset.Conversely, in a complete representation the elemen-tary polyhedra are assumed to be pairwise disjoint. Thevalidity check of weak geometrical data (polyhedral se-quences) can therefore be performed at a syntactical�This work was partially supported from Italian ResearchCouncil, with contract n. 91.03226.64, within the \PF Edilizia"Project.

level, whether the test over complete geometrical data(polyhedral complexes) is much harder. A conversionfunction is given that allows to transform a weak poly-hedral sequence into a complete polyhedral complex, byremoving the intersections between polyhedra. For eachoperator (de�ned both on sequences and complexes),the conversion function establishes a homomor�sm be-tween the spaces of weak and complete representations.Each operator can so be implemented within the do-main that seems more appropriate, performing possibleconversions only when really necessary.1 IntroductionThe main novelty that the representation discussed inthis paper exhibits with respect to standard currentsolid modeling technology is the decision of storing aslittle topology as possible. We noted in fact that the(very simple) adjacency data structures used in our pre-vious prototype modelers [7, 3] are quite unused whena solid model is rendered by some graphics server, andeven when the model is used to compute the integralproperties [2] of the object. Hence, following the old,good CSG approach [12], we decided to associate toany model an acyclic multigraph which stores the hi-erarchical object structure, i.e. both the operations andthe sub-components which generate any object compo-nent. We believe that such an information is much moreinteresting for the designer than the availability of thecomplete adjacency relations in some non-manifold sub-set of the boundary. In a few words, with respect tothe representation of topology, geometry and structure,the representation scheme proposed here can be seenexactly half-way between solid modeling and contem-porary standard graphics. This representation schemeis being extensively used within the geometry engine ofthe functional design language PLASM [8, 6].Another choice, again inspired from CSG, consists in

the use of implicit linear inequalities for the represen-tation of convex cells. The authors believe this choicehas strong implications on the e�ciency and coverage ofthe proposed scheme. Several basic operations, e.g. theextrusion of cells and the product of complexes (see [1])become natural and e�cient. A similar in uence is ex-pected on the usual Booleans, a point which is subjectof on-going research. Last but not least, this approachcan be also extended to curved cells described as theintersection of implicit nonlinear inequalities.Some ideas that we discuss in the present contextpresent similarity with those proposed by Rossignacand Requicha in [14], where the Constructive Non-Regularized Geometry representation, a broad general-ization of CSG schemata [12], is introduced and funda-mental algorithms for a very large class of solid andnon-solid objects are discussed (see also Takala [15]and [10]). This class includes decompositions of ob-jects with dishomogeneous material properties, incom-plete boundaries and mixed dimensionality. The CNRGscheme retains the CSG merits, and in particular themapping of the model to a generating expression andthe independence from both the speci�c set of primitiveshapes used and their representation. Primitive shapesare here replaced by polyhedra of any dimension, de-�ned in their minimal a�ne hull, and possibly mappedin a higher dimensional embedding space. Motivationsfor a dimension-independent approach to solid model-ing are widely discussed in [13] and [5]. Motivations fora functional approach to geometric programming andmodeling are given in [6]. A short review of the liter-ature on design languages can be found in [8]. Somedesign choices peculiar to the representation describedin the following are based on the solid modeling expe-rience gained at \La Sapienza" in the development ofthe 3D polyhedral modeler Minerva [7, 2] and the mul-tidimensional modeler SimplenX [5], currently extendedwith the HPC representation and used as the geometryengine of the PLASM language.The paper is structured as follows. In Section 2, someentities (convex cells, d-complexes, d-polyhedra, embed-dings, a�ne mappings and polyhedral complexes) arede�ned which allow sets of polyhedra to be representedand manipulated as a whole. In Section 3 the com-plete and weak representations schemata are introducedand discussed, along with their interrelationship. Sec-tion 4 illustrates some ideas on the implementation ofoperators versus their algebraic properties. Our beliefis that they may provide the system designer with im-portant guidelines for his implementational choices. Fi-nally, some extensions of the proposed scheme are in-troduced in the conclusion Section, concerning inhomo-geneous dimensionality, partially open and curved cells.The solution outlined for the �rst two points is alreadybeing experimented in PLASM.

2 BackgroundIn this Section are given the mathematical conceptsneeded to describe the domain of the HPC represen-tation scheme, i.e. the set of abstract mathematicalobjects which will be represented into the scheme.2.1 Hulls, Cells and MappingsWe recall here some basic mathematical concepts.Among the others, de�nitions are given for the a�neand convex hull of a set of points, and the notions ofconvex cell, of its faces and of d-complex. Also, theembedding and a�ne transformations are discussed, aswell as their coordinate representation.A�ne and Convex Hull The ambient space con-sidered in the following is the d-dimensional Euclideanspace Ed represented by the vector space <d. Given a�nite set of points V � Ed and a corresponding set ofreals, the following \hulls" of V are de�ned:De�nition 1 Let a �nite set of points V =fv1; v2; : : : ; vhg � Ed and real numbers �1; �2; : : : ; �hbe given. Then:a). The a�ne hull of V is the set of pointsa�V = fx =Xi �ivi j vi 2 V;Xi �i = 1g:b). The convex hull of V is the set of pointsconvV = fy =Xi �ivi j vi 2 V;Xi �i = 1; �i � 0g:Points x 2 a�V , y 2 convV in Ed are said to bea�nely and convexely dependent on the points in V ,respectively. A set of points is called a�nely (convexely)independent if none of its points belongs to the a�ne(convex) hull of the others. The dimension of a hullof V is the maximum number (decreased by one) of itsa�nely independent points. If V is a set of independentpoints, then dima�V = jV j � 1:Cells, Complexes and Polyhedra A linear, con-vex, compact and full-dimensional subset of Ed is calledconvex cell. A convex cell can be de�ned in two equiva-lent ways, either as convex combination of points or asintersection of a�ne halfspaces:De�nition 2 A convex cell c of dimension d, or d-cell,in Ed is equivalently de�ned as:a). The convex hull of h � d+1 convexely independentpoints V , the vertices of the cell, d+1 of which area�nely independent.

b). The bounded subset of Ed whose elements satisfy asystem of l � d+ 1 nonsingular and nonredundantinequalities.We recall that, given a system of linear inequali-ties, an inequality ai;0 + Pj ai;jxj � 0 is singular ifit can be substituted by the corresponding equationai;0+Pj ai;jxj = 0 with no change in the solution set ofthe system. An inequality ai;0+Pj ai;jxj � 0 is redun-dant if it can be eliminated with no change in the solu-tion set of the system. An inequality ai;0+Pj ai;jxj � 0is called valid with respect to a convex cell c, if c �fxj ai;0 +Pj ai;jxj � 0g.The two descriptions of a convex cell c given in De�ni-tion 2 are easily seen to be equivalent. They both de�nea convex set, in the �rst case as a convex hull of ver-tices, in the second as the �nite intersection of convexsets. Moreover, the de�ned set has the same dimen-sion of the embedding space, in the �rst case because itcontains d + 1 a�nely independent points, in the sec-ond because the de�ning inequalities are nonsingular.Strictly speaking, the additional constraints requiringconvex independence of the vertices and nonredundancyof the de�ning inequalities are not necessary to correctlyde�ne the cell. Rather, they have been introduced withthe purpose of imposing a \minimal" description of thecell, where no redundant elements appear.De�nition 3 Let a0+Pj ajxj � 0 be a valid inequal-ity with respect to the cell c. The set f = fx 2cj a0Pj ajxj = 0g is a k-face of c if dima� f = k:A maximum order face of the cell c is called facet.The set of all k-faces of c, of any order k, is denotedby F(c). A collection of convex cells is a d-complex if itsatis�es some restrictions:De�nition 4 A d-complexK in Ed is a �nite collectionof d-cells such that for each pair of distinct cells ci; cj 2K, either ci \ cj = ;, or ci \ cj 2 F(ci) \F(cj).According to the de�nition above, a d-complex is a setof convex cells inEd which are either disjoint or intersectalong their k-faces. Notice that a d-complex consistsonly of full-dimensional cells, and therefore di�ers fromthe notion of cell complex of algebraic topology, wherea complex contains also lower-dimensional entities. Thecomputation of lower dimensional cells of a d-complexcan be accomplished, when explicitly required, throughthe k-skeleton extraction operator [9].The support space of a d-complex is the set union ofthe pointsets corresponding to its cells. The de�nitionof polyhedron follows:De�nition 5 A d-polyhedron P � Ed is the supportspace of some d-complex K.

Hence, a d-polyhedron may be nonmanifold, noncon-vex and/or unconnected, but is required to be homoge-neously d-dimensional. The interior of the polyhedronP is denoted by �P . The boundary @P of a polyhedronP is the set of points of Ed which belong neither tothe interior nor to the exterior of P . In this context,a polyhedron is always associated to a d-complex, andtherefore to a set of disjoint convex cells which meetonly along their faces. For each facet of a convex cellthe equation of the corresponding a�ne hull, the facethyperplane, is obtained by restricting one of the de�n-ing inequalities. This facet may either be a subset of thepolyhedron boundary, or separate two adjacent cells. Inthe latter case it belongs to the polyhedron interior.The representation of the ith facet of a cell c is givenby the row vector (ai;0; ai;1; : : : ; ai;d), called facet cov-ector, whose elements are the coe�cients of the facetinequality: ai;0 + ai;1x1 + : : :+ ai;dxd � 0:Notice that facets of a cell are associated to vectorsin <d+1, while vertices are associated to vectors in <d.This asymmetry can be eliminated by using the repre-sentation of points in Ed by means of homogeneous co-ordinates [11]. Hence, we assume to represent verticesas column vectors and facet covectors as row vectors.Then, for a cell cwith vertex vectors fv1; v2; : : : ; vhg andfacet covectors ff1; f2; : : : ; flg, the following inequalitiesare satis�ed:fivj � 0; i = 1; : : : ; l; j = 1; : : : ; h: (1)This condition clearly shows the symmetry betweenfacets and vertices in the de�nition of a cell. Choos-ing some arbitrary point x as the independent variablein (1) instead of the vj 's, the inequalities reduce to thesystem of l inequalities de�ning the cell pointset (seeDe�nition 2b). From the latter, all internal and bound-ary points of the cell can be obtained. The set of verticesis given by the feasible solutions which are obtained byrestricting to equations d rows of the system, such thatthe corresponding face covectors fi are linearly indepen-dent, in all possible ways.Analogously, an arbitrary covector w can be chosenas the independent variable instead of the fi's. Therebythe system (1) is reduced to h inequalities which de-�ne, in the dual space, the convex set of all covectorsrepresenting valid inequalities for c. The facet hyper-planes of the cell coincide with the set of feasible cov-ectors w which satisfy the restriction to equations of dinequalities such that the corresponding vj 's are linearlyindependent (a�nely independent in non-homogeneouscoordinates).Embedding and A�ne Mapping Polyhedra andd-cells have been de�ned as sets which have the same

dimension as their ambient space. To provide the capa-bility of representing lower-dimensional sets embeddedin a higher dimensional space in arbitrary a�ne sub-spaces, the embedding and a�ne mapping are de�nedas follows:De�nition 6 Embedding mapping is a linear trans-formation Ed ! En, d � n, such that(x1; : : : ; xd) 7! (x1; : : : ; xd; 0; : : : ; 0).De�nition 7 A�ne mapping is a linear invertibletransformation which maps points x 2 En to pointsy 2 En such that the homogeneous coordinates of y area linear combination of the homogeneous coordinates ofx.The embedding and a�ne mapping of a convex cellare easily computed. The embedding transformationis equivalently computed either (a) by pre-multiplyingvertex vectors v by a rectangular matrix containing ablock corresponding to the (d + 1) � (d + 1) identitymatrix I and a (n�d)� (d+1) null matrix 0, or (b) bypost-multiplying face covectors for the transpose of thesame matrix: � I0 � v; f [I 0] :The a�ne mapping is computed either by pre-multiplying vertex vectors by a matrix T or by post-multiplying face covectors by T 0, where both T and T 0are square invertible (n+ 1)� (n+1) matrices. In fact,it can be seen that T 0 is the inverse of T . At this pur-pose, let assume that f�i and v�j are the images of fiand vj , respectively, under the a�ne mapping, and ob-serve that the inequalities (1) must still hold after themapping. We obtain:f�i v�j = fiT 0Tvj = fivi;and therefore: T 0T = I ) T 0 = T�1:The application of a linear transformation T to a d-polyhedron P , denoted by T (P ), is de�ned as the appli-cation of T to each d-cell of the complex underlying P .The transformation T may correspond to an embedding,an a�ne mapping, or to their composition.2.2 Hierarchical Polyhedral Complex(HPC)Polyhedral instances and complexes allow to constructhierarchical sets of polyhedra, and are inductively de-�ned as follows. The basic de�nition is the one of 0-order polyhedral instance. Then, the j-order polyhedralcomplex (for j � 1) is de�ned by means of polyhedral

instances of order less than j. Finally, the de�nition ofk-order polyhedral instance is given using k-order poly-hedral complexes.De�nition 8 Polyhedral instances and polyhedralcomplexes are de�ned as follows:a). A 0-order polyhedral instance is the set of pointsof En de�ned by the application of an embeddingtransformation and an a�ne map to a polyhedronP .b). A j-order polyhedral complex, for j � 1, is a �nitenon-empty collection of polyhedral instances of or-der less than j, where at least one (j � 1)-orderinstance appears and such that they intersect onlyalong their boundaries.c). A k-order polyhedral instance is the set of pointsof En de�ned by the application of an embeddingtransformation and an a�ne map to a k-order poly-hedral complex.A polyhedral instance of some order k, for k � 0, isdenoted by I. A polyhedral complex of some order j,for j � 1, is denoted by C.The concepts de�ned above introduce a multilevel hi-erarchical structure which can be visualized as an ori-ented acyclic multigraph (see Figure 1). To avoid du-plication of information, each complex or polyhedroncan be referred any number of times within di�erentinstances. According to De�nition 8, a polyhedral in-stance is not necessarily a full-dimensional set withinits embedding space. When this is the case, the interiorof a polyhedral instance I is, strictly speaking, empty.However, we regard in this case the relative interior andrelative boundary as the interior and boundary of I,respectively: I = T (P )) ( @I = T (@P )�I= T ( �P )Notice that at the level of the hierarchical polyhedralcomplex no topological information is stored, which im-plies e.g. that topologically di�erent objects may corre-spond to the same structure. Nonetheless, such objectscan be easily distinguished by considering the associatedgeometrical information, which is carried by the a�neand embedding transformations.3 Complete and Weak Represen-tationThe set of abstract mathematical models considered inthe scheme is denoted by M = P [ I [ C [ T , whereP = fPg, I = fIg, C = fCg and T = fTg denote

kitchen

bed1 bed2

bed3

entrance

bath wc

living

pas1

pas2

(a)

entrance

living

kitchenbed3

pas2

wc

bed1

bed2

bath

pas1

day night1 night2

dwelling

floor

(b)

balcony

balconyFigure 1: A polyhedral complex (plan of a house), with its multilevel hierarchical structure visualized as an orientedacyclic multigraph.the sets of all polyhedra, polyhedral instances, polyhe-dral complexes and a�ne maps. The representation ofa polyhedron, instance, complex and a�ne map is de-noted by hP i 2 R, hIi 2 R, hCi 2 R and hT i 2 R,where R is the set of all valid representations.3.1 Decompositions with Convex CellsThe representation hP i of a polyhedron P is here pre-sented, together with a short discussion of the mainaspects that characterize and motivate its actual def-inition as a decomposition with convex cells, includingsome issues that concern the robustness.The representation of a polyhedron immediately fol-lows from its de�nition as support space of a d-complex.Therefore it is composed by a set of convex cells, eachrepresented by its vertices and facets. The internaltopological structure of a polyhedron is given by the ad-jacency information associated to each cell facet. Eachcell facet is in fact coupled to the identi�er of the adja-cent cell in the d-complex, where null adjacency symbolsare related to the facets belonging to the polyhedronboundary.The whole cell description is given symbolically,whether a set of numeric data are separately stored inthe polyhedron representation. If such numeric data arethe coordinates of the cell vertices, we have a vertex-based representation. If the numeric data stored arethe covectors of the cell facets, we have a facet-basedrepresentation. The two kinds of representation di�erconsequently for the symbolic description of the convexcells. In the �rst case each vertex is coupled with a vec-tor identi�er, whether each facet is implicitly described

by the set of vertices incident to the cell. Symmetrically,in the facet-based representation, the facets are coupledto symbolic references to covectors in the polyhedron,whether each vertex in a cell is implicitly representedby the set of all incident facets.The wide use of symbolic data in the polyhedron rep-resentation allow to set up its geometrical and topologi-cal structure when �rstly de�ned. When the polyhedronis successively manipulated, some inconsistency may oc-cur between numeric and symbolic data. In this casethe latter are regarded as more reliable, as more sta-ble than numeric information. Consider, e.g., an a�netransformation like a simple rotation applied to the ver-tices of a square embedded in E3. The transformed ver-tices may return perturbed such that they are no moreexactly coplanar. Hence they de�ne a (thin) tetrahe-dron instead of an embedded square (see Figure 2a). Inthe HPC representation this is not a problem since anysquare is locally de�ned as a full dimensional object inE2, possibly embedded in E3. Therefore, it cannot beassumed as intrinsically 3-dimensional.Similarly, the four vertices of a squared facet of acube may occur not to be exactly coplanar, such thatthe cube facets increase their number by one (see Fig-ure 2b). The set of adjacent cells changes and, evenworse, two adjacent cells may intersect each other, soviolating the de�nition of d-complex (see Figure 2c).The symbolic data in the HPC representation allow tosolve such problems, since the four vertices are consid-ered coplanar if (and only if) their identi�ers are allmembers of the implicit description of some facet.Using a facet-based representation we can deal withsimilar problems. For example the top vertex of a

(a) (b)

(c) (d)Figure 2: Four possible geometrical inconsistency problems, following from little modi�cation of numerical values ina polyhedron representation.square-based pyramid is numerically computed as theunique solution of a system of four equations (the equa-tions of facet hyperplanes incident on the vertex). Thissystemmay become incompatible for little modi�cationsof one facet covector: the four facet covectors so de�netwo (close) vertices instead of one (see Figure 2d). Thesymbolic data in the HPC representation allow to de-tect such an error, since the implicit description of thevertex forces the four facets to intersect each other in asingle point.We can say that the the constraint of using only fulldimensional polyhedra, symbolically described as muchas possible, allow to arrange a robust representation.Numeric computations are considered less reliable thansymbolic ones, hence they are avoided as much as pos-sible. This also increases the e�ciency of some algo-rithms on polyhedra, which take advantage from thereach symbolic description of the cells. E.g., the mem-bership check of a vertex to some cell facet, in a facet-based representation, is simply performed by a set in-clusion test of the facet symbol in the vertex implicitdescription. In a vertex-based representation the samecheck is a set inclusion test of the vertex identi�er inthe facet implicit description.3.2 Complete RepresentationThe function r : R ! M maps valid representationsto the corresponding abstract models. An element fromthe domain R is mapped to an element of the rangeM as follows, where parentheses are used for orderedsequences and curly brackets for non-ordered sets. Ac-cording to Requicha's terminology [12], the inverse func-tion r�1 :M!R is a representation scheme from theset of abstract mathematical models M to the set ofrepresentations R.

hP i 7! rhP i = P ;hT i 7! rhT i = T ;hIi = (hT i; hP i) 7! r(hT i; hP i) = T (P ) = I;hIi = (hT i; hCi) 7! r(hT i; hCi) = T (C) = I;hCi = (hIi1; : : : ; hIim) 7! r(hIi1; : : : ; hIim) =frhIi1; : : : ; rhIimg =fI1; : : : ; Img = C:The various geometric entities which are involved inthe de�nition of the r�1 function are depicted in Fig-ure 3 along with the corresponding placement withina hierarchy of representational domains. At the �rstlevel of the representation convex cells are stored assets of vertices and face covectors. Next, polyhedra aremaintained as collections of cells along with sets of ver-tices (facets). More abstract elements, i.e. polyhedralinstances and complexes, are represented only by (pos-sibly multiple) references to elementary components.Hence, a complex can be modeled as a directed acyclicmultigraph with a single source node (the root com-plex). Every internal node is associated to a compo-nent complex, and arcs departing from the relative nodecorrespond to the polyhedral instances of the complex.Terminal nodes are associated to elementary polyhedra(see Figure 1). Notice how di�erent instances can referto the same polyhedron (complex), to which di�erenta�ne maps are applied, thereby avoiding unnecessaryduplication of information, a technique commonly foundin standard graphics systems [4].The progressive enlargement of the domains of ab-stract mathematical models corresponds to a similarincrease of the representational power. Starting fromthe set of full-dimensional convex d-cells and goingthrough polyhedra and instances, the HPC scheme cap-tures polyhedral complexes which may correspond to

NONSOLID

POLYHEDRON

INSTANCEPOLYHEDRAL

COMPLEXPOLYHEDRAL

m≥1 1

1

n≥1

SOLID

CONVEX

NONCONVEX

UNCONNECTED

NONMANIFOLD

SOLID

NONCONVEX

UNCONNECTED

CONVEX CELL

Figure 3: The correspondence between di�erent classes of models captured by the r�1 scheme and the relativedomains. Numbers next to the arrows indicate the cardinality of relationships.nonsolid, nonconvex, unconnected and nonmanifold ob-jects.At the present time, dimensionally inhomogeneousobjects fall outside of the domain of the HPC scheme.This restriction is not inherent to the technique thatwe propose, which can be readily extended to describenonregular pointsets, but was rather motivated by thewish to quickly obtain a working software prototype,avoiding for the moment the issues connected to theimplementation of non-regularized Booleans. We planto devote further study to this point and remove thelimitation within the future research e�ort, which willlead to the capability of describing more general objecttopology, according to the guidelines of [14].3.3 Weak RepresentationThe \weak" representation scheme wr�1 is introducedin this Section. This scheme is based on an extensionof the concept of polyhedral complex. At this purpose,we de�ne the polyhedral sequence, which is derived byweakening the de�nition of polyhedral complex. Everypolyhedral sequence can be associated to a valid com-plex according to the r�1 scheme by application of theprogressive di�erence operator de�ned in the following.The weak representation scheme is both computation-ally more e�cient (the evaluation of progressive di�er-ences is deferred as long as possible) and a more accuratemirroring of the semantics of the designing process.

3.3.1 Extended Polyhedral Instances and Se-quencesWe move to the larger domain which is needed to pro-vide further exibility to the object description by de�n-ing the extended polyhedral instances and the polyhedralsequences. In their de�nition the same reference mech-anism is used that already appeared in the de�nition ofinstances and complexes.De�nition 9 An extended polyhedral instance ~I is theset of points of En de�ned by the application of anembedding transformation and an a�ne map either toa polyhedron P , or to a polyhedral complex C, or to apolyhedral sequence S (see next de�nition) in Ed, withd � n.De�nition 10 A polyhedral sequence S is an orderedset of m extended polyhedral instances (~I1; ~I2; : : : ; ~Im),all embedded in the same space En.A polyhedral sequence is therefore similar to a com-plex, the main di�erence being that the �rst is an or-dered set of extended polyhedral instances, and not anon-ordered set of polyhedral instances subject to a con-straint of pairwise disjointness. Extending the notation,S denotes a sequence, S the set of polyhedral sequences,~I an extended polyhedral instance, ~I the set of extendedpolyhedral instances, and �nally M� = M[ ~I [ S theextended set of all (extended) abstract mathematicalmodels.The representation of a sequence is denoted by hSi,the representation of an extended instance by h~Ii, andR� is the set of all extended representations, including

(a) (b) (c)Figure 4: Two polyhedral sequences may di�er only for the ordering of the composing polyhedral instances. Theevaluation of progressive di�erence on di�erent sequences may generate di�erent polyhedral complexes.polyhedral sequences and extended instances. To dis-tinguish between R and R�, we use the terms valid orcomplete representations for the �rst and extended orweak representations for the second. The mapping be-tween the set of extended representations and the set ofextended models is given by the functionr� : R� !M�;which is obtained by extending r to the set of weakrepresentations. Hence, we de�ne r� = r in R, whetherr�(h~Ii) = ~I and r�(hSi) = S.3.3.2 Progressive Di�erenceLet \�" denote the regularized di�erence operator, de-�ned as the closure of the interior of the set di�erence ofthe arguments [16]. The progressive di�erence functionD is de�ned as follows, where M� =M[ ~I [ SD :M� !Mis de�ned as follows:m 2M 7! Dm = m~I = T (S) 7! DT (S) = T (DS)S = (~I1; : : : ; ~Im) 7! D(~I1; : : : ; ~Im) = fI1; : : : ; Img = CI1 = D~I1;Ii = D(~Ii � ~Ii�1 � : : :� ~I1);for i = 2; : : : ;m.From the evaluation rules given above, we see that thefunction D is the identity on M. The evaluation of Don the extended instance ~I, mapping T of the sequenceS, returns the (non extended) instance I, application ofthe same mapping T to the complex C = DS.When evaluated on a polyhedral sequence, D removesthe intersections between the component instances. Apolyhedral sequence is an ordered set, so that the or-dering translates into a precedence rule while executing

di�erences. According to such a rule, points which be-long to more than one instance are considered as be-longing to the one with the lowest index. Hence, everyinstance is subtracted from all instances which appearlater in the sequence, according to the denotation of\progressive di�erence". An example of the applicationof the D function is shown in Figure 4 (see also [8]). No-tice that the application of a progressive di�erence totwo polyhedral sequences which di�er only in the orderof their instances may produce two di�erent polyhedralcomplexes.Shifting our attention from the set of models to theset of representations, analogouslywe de�ne the D� func-tion: D� : R� !R:Its evaluation requires the algorithmic computation ofthe progressive di�erence on the representations of thearguments. Hence, it is by de�nition:D(r�(x)) � r(D�(x)); x 2 R�:The D� function acts therefore on the representationsin the same way in which D acts on models. The pro-gressive di�erence is a key operator in the HPC scheme,because it allows for the description of geometries byusing sequences instead of complexes.3.3.3 Weak Representation SchemeThe \weak representation scheme" is introduced here,where elements of R� can be used to directly describepolyhedral complexes. We de�ne:wr : R� !M;where wr := D � r� � r � D�;

and where � denotes functional composition. The wr�1representation scheme deserves the designation weak be-cause it allows for the representation of polyhedral com-plexes with elements of R�. Thus, the wr�1 scheme canbe used in place of r�1, because the two mappings sharethe same domain M. Summarizing, the domain andrange of the r, r�, wr, D and D� functions, which de�nethe r�1, r��1 and wr�1 representation schemata, are:'&

$%'&

$%

'& $%'& $%qq qq6 6�� @@@@@I r�rwrD D�M�M R�RWhen using wr�1 in place of r�1, the set of avail-able representations is enlarged from R to R�, therebyintroducing a strong relaxation to the geometric con-straints of the scheme. Every time that a valid repre-sentations according to the r�1 scheme must be derived,it is required the evaluation of the D� function on thecorresponding weak representation. Hence, we say thata valid representation is obtained by evaluating a weakrepresentation.The introduction of the weak representation schemeenriches the set of representations corresponding to thesame abstract model. Such extension is due to the use ofprogressive di�erences, which can be traced back in turnto a CSG-like method. In particular, such an approachhas been undertaken within a framework based on adecompositive approach.4 Morphisms and OperatorsEvery operator, denoted generically as ?, is assumed tobe de�ned on the space of models to ensure that itssemantics does not depend on the particular represen-tation scheme which is used. Assuming a binary ?, wehave: ? :M�M!M:For every ? operator de�ned on the models, a corre-sponding �? algorithm must be de�ned which speci�esits action on the representations. The correctness ofsuch algorithm is guaranteed by the condition:wr(x �? y) = wr(x) ? wr(y); x; y 2 R�:Therefore, the wr function must be an homomor-phism from (R�; �?) to (M; ?). The wr homomorphismcan be visualized as in the following commutative dia-gram (wr� wr is the product function between productspaces):

M�MR� �R�wr� wr ? MR� wr?-? -�?The speci�cation of the �? algorithm may di�er ac-cording to the choice of its domain and range. Remem-bering that R � R� and that D�(R�) = R, we mayde�ne four classes of algorithms, whose elements �1?, �2?,�3? and �4? are characterized by the following signatures:�1? : R�R ! R��2? : R�R ! R�3? : R� �R� !R��4? : R� �R� !RIt is not necessary to implement the same operatorin four di�erent algorithmic avors. The relationshipsexisting between the four algorithm classes allow to im-plement only one version, and use it, when necessary,in place of the others. Hence, the choice of the algo-rithm which is e�ectively implemented is not imposedby the representation scheme but left to the system de-signer, who should be guided by both algorithmic andimplementational considerations.We recall that R � R�, i.e. that every valid repre-sentation is also a weak representation. It follows that\valid" input data can be fed to algorithms originallydesigned and coded for \weak" input data. Similarly,an algorithm which returns a valid representation asoutput can substitute another one which is supposed togenerate weak output data. In general, the use of �4? inplace of �1?, �2? and �3? is always formally correct. Froma practical viewpoint, the extensive use of this propertymay be undesirable because of e�ciency lack, due tothe fact that geometric properties of valid representa-tions may be not exploited within algorithms designedfor weak data.The use of the D� function to convert a weak represen-tation to a valid one, symmetrically allows to substitutethe operator �4? with an expression involving in turnonly one of the other three. The following functionalequations describe such transformations:�4? = D� � �1? � (D� � D�)�4? = �2? � (D� � D�)�4? = D� � �3?Summarizing, it is possible both to use �4? in place of�1?, �2? and �3?, as well to operate the inverse substitu-

(a) (b) (c) (d)Figure 5: The product of complexes in (a) generates a polyhedral complex (b) with non-uniform intrinsic dimension.In (c) and (d) the (exploded) 2-skeleton and the 1-skeleton are shown, respectively.tion. Thus, anyone among the four possible versions of�? may be implemented to virtually guarantee the avail-ability of all four. The possibility of choosing the moreconvenient implementation of any operator among thepossible four provides a further degree of freedom in thedesign and implementation of a system based on weakrepresentations.An e�cient implementation of class 4 is particularlyconvenient because it allows the substitution of theother three and eliminates the need of computing theD� function. Nonetheless, implementations of class 3are preferable in general, because their cascade applica-tion is possible (they have the same domain and range)while exploiting the advantages of the weak represen-tation. The use of available algorithms developed inthe framework of decompositive schemata leads to class2 implementations, in which a valid representation isused for the operands as well as for the result.The choice of the algorithm is also bound to thegeometric meaning of the operator which is being de-�ned, e.g. it is advisable to avoid implementations whichare basically equivalent to a cascade application of theprogressive di�erence and of the speci�c operation re-quested, since these steps should be maintained sepa-rate.The same considerations apply to unary operators,with the possibility to de�ne four di�erent algorithmicversions for each operator de�ned on models, which dif-fer for the input and output data representation. Eachof the four implementations can potentially substitutethe others, possibly using the D� function to performthe needed data conversion.5 Conclusions and Further Ex-tensionsThe characteristics of the HPC scheme presented in thispaper are deliberately limited to the features that havebeen widely tested and for which a stable formaliza-tion has been established. Further enlargements to thescheme are currently experimented or planned. Threeare the extensions we consider necessary to achieve the

broader representational domain: (1) nonuniform in-trinsic dimensionality of models, (2) rede�nition of theconvex cell as a partially open set, (3) use of curvedfacets. As stated in Section 3.2 the point (1) is encom-passed by the current de�nition of the scheme, and sup-ported in the implementation by the product of polyhe-dra and k-skeleton extraction operators (see Figure 5),described in details in [9]. Anyway, standard Booleansneed more research and experimentation. Currently, weare able to compute only the intersection of polyhedralcomplexes.About extension (2), we are testing a simple but e�ec-tive method. A tag is associated to each face of a cell,which speci�es if it is open or not, i.e. if its inequalitymust be considered a strict inequality. In Figure 6 abuilding model is shown obtained as the 2-skeleton of aset of simple blocks; the balconys di�er from the inter-nal spaces as they are de�ned as blocks which are open(strict inequality) on their top facet.Extension (3) is necessary to represent curved objects,which are not currently supported. Anyway it is al-ways possible to have good approximations, since anycurved object can be approximated by using piecewiselinear maps on simplicial decompositions (see Figure 7).This approach seems to be su�cient in most real casesand retains the advantages of simple and e�cient lin-ear mathematics. Anyway it is not enough in generaland we plan to explore extensions for non-linear facetsupport.AcknowledgmentsThe authors wish to thank the anonymous reviewers formany useful comments and suggestions.References[1] Bernardini, F., Ferrucci, V., Paoluzzi, A.,and Pascucci, V. Product operator on cell com-plexes. In Solid Modeling '93, Second ACM/IEEESymposium on Solid Modeling and Applications

(a) (b)Figure 6: A simple building model, where balconies are obtained as (the 2-skeleton of) partially open cells. (a)dimetric view, (b) dimetric cutaway view.

Figure 7: Two polyhedral approximation of curved objects.

(Montreal, CA, 1993), J. Turner, J. Rossignac, andG. Allen, Eds., ACM Press, pp. 43{52.[2] Cattani, C., and Paoluzzi, A. Boundary in-tegration over linear polyhedra. Computer AidedDesign 22, 2 (Mar. 1990), 130{135.[3] Ferrucci, V., and Paoluzzi, A. Extrusion andboundary evaluation for multidimensional polyhe-dra. Computer Aided Design 23, 1 (Feb. 1991),40{50.[4] Howard, T., Hewitt, W., Hubbold, R., andWyrwas, K. K. A Practical Introduction toPHIGS and PHIGS PLUS. Addison Wesley, Read-ing, MA, 1991.[5] Paoluzzi, A., Bernardini, F., Cattani, C.,and Ferrucci, V. Dimension{independent mod-eling with simplicial complexes. ACM Transactionson Graphics 12, 1 (Jan. 1993), 56{102.[6] Paoluzzi, A., Pascucci, V., and Vicentino,M. Geometric programming: A programming ap-proach to geometric design. ACM Transactions onGraphics, accepted for publication, 1995.[7] Paoluzzi, A., Ramella, M., and Santarelli,A. Boolean algebra over linear polyhedra. Com-puter Aided Design 21, 8 (Oct. 1989), 474{484.[8] Paoluzzi, A., and Sansoni, C. Programminglanguage for solid variational geometry. ComputerAided Design 24, 7 (1992), 349{366.[9] Pascucci, V., Ferrucci, V., and Paoluzzi,A. Dimension-independent convex-cell based HPC:Skeletons and product. To appear as Tech. Rep.,Dip. di Informatica e Sistemistica, Universit�a \LaSapienza", 1995.[10] Rappoport, A. A scheme for single instanc-ing representation in hierarchical assembly graphs.In Proceedings Modeling in Computer Graphics:Methods and Applications (Genova, Italy, June1993), Springer Verlag, pp. 213{223.[11] Rees, E. G. Notes on Geometry. Springer Verlag,Berlin, 1988.[12] Requicha, A. A. G. Representations for rigidsolids: Theory, methods and systems. ACM Com-puting Surveys 12, 4 (Dec. 1980), 437{464.[13] Requicha, A. A. G., and Rossignac, J. R.Solid modeling and beyond. IEEE ComputerGraphics and Applications 12, 9 (Sept. 1992), 31{44.

[14] Rossignac, J. R., and Requicha, A. A. G.Constructive non-regularized geometry. ComputerAided Design 23, 1 (Feb. 1991), 21{32.[15] Takala, T. A taxonomy of geometric andtopological models. In Proceedings EurographicsWorkshop on Mathematics and Computer Graphics(S. Margherita, Genova, Italy, Oct. 1991).[16] Tilove, R., and Requicha, A. A. G. Closureof Boolean operations on geometric entities. Com-puter Aided Design 12, 5 (Sept. 1980), 219{220.