+ All Categories
Home > Documents > 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo...

1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo...

Date post: 30-Dec-2015
Category:
Upload: brandon-kelley-parrish
View: 216 times
Download: 1 times
Share this document with a friend
32
1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)
Transcript
Page 1: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

1

Data Structures for Simplicial Multi-Complexes

Leila De Floriani

Paola Magillo

Enrico Puppo

University of Genova

Genova (Italy)

Page 2: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

2

Outline

Motivations

The Simplicial Multi-Complex (SMC) and its operations

General-purpose data structures

Compressed data structures

A comparison

Page 3: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

3

Multiresolution Cell Complexes

Multiresolution: representation and processing of shapes at different levels of detail

The Multi-Complex: a general, dimension-independent multiresolution model based on decomposition of a shape into cells.

It encompasses most proposed multiresolution models based on cell complexes

Applications: scientific data visualization, virtual reality, terrain modeling...

Page 4: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

4

The Simplicial Multi-Complex

Idea: consider a sequence of updates incrementally refining a low-resolution simplicial cell complex into a high-resolution one

In order to perform an update, it is not necessary that all updates coming before it in the sequence have been performed

Notion of dependency between updates: update A depends on B if A removes some simplex created by B

Dependency defines a partial order over the set of updates

Page 5: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

5

The Simplicial Multi-Complex

The Simplicial Multi-Complex (SMC) captures the partial order of updates

An SMC is a DAG where

nodes represent updates

arcs represent dependency relations

Page 6: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

6

The Simplicial Multi-Complex

A subset of nodes closed with respect to the partial order are in one-to-one correspondence with DAG fronts

Efficient algorithms exist to traverse the DAG and find the front whose associated simplicial complex satisfies a given variable-resolution threshold

Page 7: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

7

A Fundamental Query on an SMC

Extract a simplicial complex from the model such that

all cells satisfy a user-defined resolution threshold

the complex has the minimum number of cells

A culling mechanism can be used for restrcting the complex to a region of interest

Implementation of specific queries reduces to an appropriate choice of the resolution threshold and, if needed, of the region of interest

Page 8: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

8

Some Examples of Queries on an SMC

Point location: extract the triangle containing a given point at a certain resolution

Line interference query: extract the triangles that intersect a line at a certain resolution

Window query: extract a representation of the terrain portion lying inside the window

Isolines: extract the triangle that contain the given elevation(s) at a certain resolution

Perspective visualization: extract a complex inside the view frustum, such that its resolution is the highest near the viewpoint and decreases with distance

Page 9: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

9

Some Examples of Queries

Perspective visualization

Page 10: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

10

Some Examples of Queries

Window query

Page 11: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

11

Some Examples of Queries

Line interference query

Page 12: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

12

A Fundamental Query on an SMC

Algorithms for extracting a simplicial complex traverse the DAG in order to determine the front that gives the desired complex

Basic technique: top-down traversal starting at the root of the DAG

dynamic variant: updates a previous solution by moving its front both forward and backward in the DAG

Page 13: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

13

Entities and Relations in an SMC DAG entities: nodes, arcs

Geometric entities: cells (simplexes) and their vertices

DAG relations:

node-arc --> incoming and outgoing arcs

arc-node --> source and destination

cell-cell --> link mutually adjacent cells

Page 14: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

14

Entities and Relations in an SMC Relations between DAG and cells:

node-cell --> cells removed, and cells created in the update

cell-node --> update creating, and update removing a cell

arc-cell --> cells created by the source and removed by the destination

cell-arc --> arc connecting the update that created a cell to the update that removes it

Page 15: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

15

Entities and Relations in an SMC Cell-vertex relation --> vertices of a simplex

Cell-cell relations --> link pairs of mutually adjacent cells

co-adjacency: links pairs of adjacent cells both created, or both removed, in the same update

counter-adjacency: link pairs of adjacent cells where one cell is removed in the update that creates the other cell, or vice-versa

such 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

Page 16: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

16

Generation of the Output Simplicial Complex

Some applications simply need a list of simplices described as vertex tuples (e.g., visualization)

Some applications also need adjacency relations between simplices

Page 17: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

17

Generation of the Output Simplicial Complex

Three options for generating adjacency information:

1) reconstruction in a post-processing step:

generation of a list of cells

search for mutually adjacent cells inside the list

time complexity: O(n log n) where n = output size

2) incremental update:

the adjacency relations are maintained and incrementally updated during DAG traversal

need to have cell-cell relations explicitly represented in the SMC

time complexity: O(n’) where n’ = number of visited cells, n’>=n

Page 18: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

18

Generation of the Output Simplicial Complex

Three options for generating adjacency information:

3) incremental reconstruction:

the adjacency relations are maintained and incrementally updated during DAG traversal

a local search for mutually adjacent cells is performed at each step

time complexity: O(n’ log M) where M = maximum number of cells involved in a single update

Page 19: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

19

Data Structures

General-purpose structures:

suitable for any SMC

Compressed structures:

suitable for SMCs where the updates obey to specific rules

more compact since they encode cells implicitly

less efficient query algorithms since cells must be reconstructed during DAG traversal

Page 20: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

20

Data Structures

General-purpose structures:

explicit data structure

adjacency-based data structure

Compressed structures:

a structure for Delaunay SMCs

a structure based on edge flips

Page 21: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

21

Explicit Data Structure

All SMC entities represented: vertices, cells, nodes, arcs

The following relations are stored:

cell-vertex

optionally, a subset of the cell-cell relations

cell-arc and arc-cell

node-arc and arc-node

Page 22: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

22

Explicit Data Structure

Three variants depending on storage of the cell-cell relation:

Full-adjacency: all types of cell-cell relations stored it allows generation of adjacency relations in the output complex through incremental update, in linear time

Half-adjacency: store just one half of cell-cell relations

co-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 it does not allow incremental adjacency update in the dynamic version of the extraction algorithm

Zero-adjacency: no relation stored

incremental adjacency update not supported; adjacency relations must be reconstructed, either incrementally during DAG traversal, or in a post-processing step

Page 23: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

23

Adjacency-based Data Structure

The DAG is not represented

Only vertices and cells are represented

The following relations are stored:

cell-vertex

all cell-cell relations

It allows generation of adjacency relations in the output complex through incremental update, in linear time

Extraction algorithms are more complicated since they simulate a DAG traversal without having the DAG

Page 24: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

24

Comparison of General-Purpose Structures

Parameters:

d = dimension of the embedding space k = dimension of the cells s = number of simplices (cells) a = number of arcs, a <= s

We consider an array-based implementation, space for vertex coordinates is not reported here

Explicit data structure

with no-adjacency --> (k+3) s + 4 a <= (k+7) s with half-adjacency --> (2k+4) s + 4 a <= (2k+8) s with full-adjacency --> (3k+5) s + 4 a <= (3k+9) s

Adjacency-based structure --> 3 (k+1) s

Page 25: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

25

Compressed Data Structures

Avoid storing cells and cell-oriented relations

Assumption: each update exhibits a specific pattern

Examples: vertex insertion, vertex split (expansion of a vertex into an edge)

Page 26: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

26

Compressed Data Structures Stored entities: vertices, nodes, arcs

Stored relations:

node-arc, arc-node

for each node, suitable parameters that allow reconstructing the cells created and removed, based on the knowledge about the update pattern

node parameters depend on the specific compressed structure

Page 27: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

27

A Compressed Data Structure for Delaunay SMC

For d-dimensional SMCs embedded in d dimensions (e.g., representing the domain of a scalar field)

Update pattern: vertex insertion in a Delaunay simplicial complex

Node parameters: a reference to the new vertex inserted in the update

During DAG traversal, the triangles are reconstructed by using a dynamic algorithm for Delaunay simplicial complexes (efficient ones available for Delaunay triangulations in 2D)

High compression rate, extraction algorithms are slowed by the Delaunay computation

Space complexity in an array-based implementation (except space for vertex coordinates) --> 4 a

Page 28: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

28

A Compressed Data Structure Based on Edge Flips

For two-dimensional SMCs

Update pattern: vertex insertion in triangulation

Node parameters:

a reference to the new vertex inserted in the update

a reference triangle

a sequence of edge flips

Page 29: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

29

A Compressed Data Structure Based on Edge Flips

During DAG traversal, the update encoded in a node is applied to the current triangulation in the following way:

split the reference triangle at the point to be inserted

performing the sequence of flips

Page 30: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

30

A Compressed Data Structure Based on Edge Flips

Good compression rate, extra work during DAG traversal reduces to symbolic manipulation, no numerical computations involved

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

It does not extend to higher dimensions

Page 31: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

31

Comparison of General-Purpose and Compressed Structures

In compressed structures, no attributes can be associated with individual cells

We can store one attribute for all cells created by a node (e.g., the average, the maximum, the minimum)

If the user-defined resolution threshold relies on cell attributes, its evaluation will be approximated

Approximation may lead to either under-refined or over-refined complexes

The Delaunay-based compressed structure needs about 1/4 of the space needed by the explicit structure with zero-adjacency

The edge-flip compressed structure needs about 1/3 the space of the explicit one

Extraction algorithms are slower due to cell reconstruction

Page 32: 1 Data Structures for Simplicial Multi-Complexes Leila De Floriani Paola Magillo Enrico Puppo University of Genova Genova (Italy)

32

Conclusions and Future Work General-purpose data structure defined for any SMC

Comnpressed structure defined in two dimensions

The Delaunay-based structure extends to higher dimensions but it is not trivial to implement DAG traversal

The structure base on edge flips does not extend to higher dimensions

We plan to investigate more compressed structure in dimensions > 2

A software library based on the SMC has been developed

We plan to study data structures for managing an SMC on secondary storage (e.g., as a support for a geometric or geographic database)

A software library based on the SMC has been developed


Recommended