1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)
2 Outline o Motivations o The Simplicial Multi-Complex (SMC) and its operations o General-purpose data structures o Compressed data structures o A comparison
3 Multiresolution Cell Complexes o Multiresolution: representation and processing of shapes at different levels of detail o The Multi-Complex: a general, dimension-independent multiresolution model based on decomposition of a shape into cells. o It encompasses most proposed multiresolution models based on cell complexes o Applications: scientific data visualization, virtual reality, terrain modeling...
4 The Simplicial Multi-Complex o Idea: consider a sequence of updates incrementally refining a low-resolution simplicial cell complex into a high-resolution one o In order to perform an update, it is not necessary that all updates coming before it in the sequence have been performed o Notion of dependency between updates: update A depends on B if A removes some simplex created by B o Dependency defines a partial order over the set of updates
5 The Simplicial Multi-Complex o The Simplicial Multi-Complex (SMC) captures the partial order of updates o An SMC is a DAG where mnodes represent updates marcs represent dependency relations
6 The Simplicial Multi-Complex o A subset of nodes closed with respect to the partial order are in one-to-one correspondence with DAG fronts o Efficient algorithms exist to traverse the DAG and find the front whose associated simplicial complex satisfies a given variable- resolution threshold
7 A Fundamental Query on an SMC o Extract a simplicial complex from the model such that mall cells satisfy a user-defined resolution threshold mthe complex has the minimum number of cells o A culling mechanism can be used for restrcting the complex to a region of interest o Implementation of specific queries reduces to an appropriate choice of the resolution threshold and, if needed, of the region of interest
8 Some Examples of Queries on an SMC o Point location: extract the triangle containing a given point at a certain resolution o Line interference query: extract the triangles that intersect a line at a certain resolution o Window query: extract a representation of the terrain portion lying inside the window o Isolines: extract the triangle that contain the given elevation(s) at a certain resolution o Perspective visualization: extract a complex inside the view frustum, such that its resolution is the highest near the viewpoint and decreases with distance
9 Some Examples of Queries Perspective visualization
10 Some Examples of Queries Window query
11 Some Examples of Queries Line interference query
12 A Fundamental Query on an SMC o Algorithms for extracting a simplicial complex traverse the DAG in order to determine the front that gives the desired complex mBasic technique: top-down traversal starting at the root of the DAG mdynamic variant: updates a previous solution by moving its front both forward and backward in the DAG
13 Entities and Relations in an SMC o DAG entities: nodes, arcs o Geometric entities: cells (simplexes) and their vertices o DAG relations: mnode-arc --> incoming and outgoing arcs marc-node --> source and destination mcell-cell --> link mutually adjacent cells
14 Entities and Relations in an SMC o Relations between DAG and cells: mnode-cell --> cells removed, and cells created in the update mcell-node --> update creating, and update removing a cell marc-cell --> cells created by the source and removed by the destination mcell-arc --> arc connecting the update that created a cell to the update that removes it
15 Entities and Relations in an SMC o Cell-vertex relation --> vertices of a simplex o Cell-cell relations --> link pairs of mutually adjacent cells mco-adjacency: links pairs of adjacent cells both created, or both removed, in the same update mcounter-adjacency: link pairs of adjacent cells where one cell is removed in the update that creates the other cell, or vice-versa msuch adjacency relations do not capture all pairs of mutually adjacent cells in the SMC, but are sufficient to reconstruct the adjacency relations of extracted cell complexes
16 Generation of the Output Simplicial Complex o Some applications simply need a list of simplices described as vertex tuples (e.g., visualization) o Some applications also need adjacency relations between simplices
17 Generation of the Output Simplicial Complex o Three options for generating adjacency information: m1) reconstruction in a post-processing step: Ggeneration of a list of cells Gsearch for mutually adjacent cells inside the list Gtime complexity: O(n log n) where n = output size m2) incremental update: Gthe adjacency relations are maintained and incrementally updated during DAG traversal Gneed to have cell-cell relations explicitly represented in the SMC Gtime complexity: O(n’) where n’ = number of visited cells, n’>=n
18 Generation of the Output Simplicial Complex o Three options for generating adjacency information: m3) incremental reconstruction: Gthe adjacency relations are maintained and incrementally updated during DAG traversal Ga local search for mutually adjacent cells is performed at each step Gtime complexity: O(n’ log M) where M = maximum number of cells involved in a single update
19 Data Structures o General-purpose structures: msuitable for any SMC o Compressed structures: msuitable for SMCs where the updates obey to specific rules mmore compact since they encode cells implicitly mless efficient query algorithms since cells must be reconstructed during DAG traversal
20 Data Structures o General-purpose structures: mexplicit data structure madjacency-based data structure o Compressed structures: ma structure for Delaunay SMCs ma structure based on edge flips
21 Explicit Data Structure o All SMC entities represented: vertices, cells, nodes, arcs o The following relations are stored: mcell-vertex moptionally, a subset of the cell-cell relations mcell-arc and arc-cell mnode-arc and arc-node
22 Explicit Data Structure o Three variants depending on storage of the cell-cell relation: mFull-adjacency: all types of cell-cell relations stored Git allows generation of adjacency relations in the output complex through incremental update, in linear time mHalf-adjacency: store just one half of cell-cell relations Gco-adjacency between cells created in the same update, and counter- adjacency from a cell created in an update to the ones removed in such update Git does not allow incremental adjacency update in the dynamic version of the extraction algorithm mZero-adjacency: no relation stored Gincremental adjacency update not supported; adjacency relations must be reconstructed, either incrementally during DAG traversal, or in a post- processing step
23 Adjacency-based Data Structure o The DAG is not represented o Only vertices and cells are represented o The following relations are stored: mcell-vertex mall cell-cell relations o It allows generation of adjacency relations in the output complex through incremental update, in linear time o Extraction algorithms are more complicated since they simulate a DAG traversal without having the DAG
24 Comparison of General-Purpose Structures o Parameters: md = dimension of the embedding space mk = dimension of the cells ms = number of simplices (cells) ma = number of arcs, a <= s o We consider an array-based implementation, space for vertex coordinates is not reported here o Explicit data structure mwith no-adjacency --> (k+3) s + 4 a <= (k+7) s mwith half-adjacency --> (2k+4) s + 4 a <= (2k+8) s mwith full-adjacency --> (3k+5) s + 4 a <= (3k+9) s o Adjacency-based structure --> 3 (k+1) s
25 Compressed Data Structures o Avoid storing cells and cell-oriented relations o Assumption: each update exhibits a specific pattern o Examples: vertex insertion, vertex split (expansion of a vertex into an edge)
26 Compressed Data Structures o Stored entities: vertices, nodes, arcs o Stored relations: mnode-arc, arc-node mfor each node, suitable parameters that allow reconstructing the cells created and removed, based on the knowledge about the update pattern mnode parameters depend on the specific compressed structure
27 A Compressed Data Structure for Delaunay SMC o For d-dimensional SMCs embedded in d dimensions (e.g., representing the domain of a scalar field) o Update pattern: vertex insertion in a Delaunay simplicial complex o Node parameters: a reference to the new vertex inserted in the update o During DAG traversal, the triangles are reconstructed by using a dynamic algorithm for Delaunay simplicial complexes (efficient ones available for Delaunay triangulations in 2D) o High compression rate, extraction algorithms are slowed by the Delaunay computation o Space complexity in an array-based implementation (except space for vertex coordinates) --> 4 a
28 A Compressed Data Structure Based on Edge Flips o For two-dimensional SMCs o Update pattern: vertex insertion in triangulation o Node parameters: ma reference to the new vertex inserted in the update ma reference triangle ma sequence of edge flips
29 A Compressed Data Structure Based on Edge Flips o During DAG traversal, the update encoded in a node is applied to the current triangulation in the following way: msplit the reference triangle at the point to be inserted mperforming the sequence of flips
30 A Compressed Data Structure Based on Edge Flips o Good compression rate, extra work during DAG traversal reduces to symbolic manipulation, no numerical computations involved o Space complexity in an array-based implementation (except space for vertex coordinates) --> 4 a + (log (b!)-1) v where v = number of vertices, b = maximum degree of a vertex o It does not extend to higher dimensions
31 Comparison of General-Purpose and Compressed Structures o In compressed structures, no attributes can be associated with individual cells o We can store one attribute for all cells created by a node (e.g., the average, the maximum, the minimum) o If the user-defined resolution threshold relies on cell attributes, its evaluation will be approximated o Approximation may lead to either under-refined or over-refined complexes o The Delaunay-based compressed structure needs about 1/4 of the space needed by the explicit structure with zero-adjacency o The edge-flip compressed structure needs about 1/3 the space of the explicit one o Extraction algorithms are slower due to cell reconstruction
32 Conclusions and Future Work o General-purpose data structure defined for any SMC o Comnpressed structure defined in two dimensions mThe Delaunay-based structure extends to higher dimensions but it is not trivial to implement DAG traversal mThe structure base on edge flips does not extend to higher dimensions mWe plan to investigate more compressed structure in dimensions > 2 o A software library based on the SMC has been developed o We plan to study data structures for managing an SMC on secondary storage (e.g., as a support for a geometric or geographic database) o A software library based on the SMC has been developed