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

Slides:



Advertisements
Similar presentations
1 INTRODUCTIONINTRODUCTION Multiresolution Meshes in Surface Modeling Leila De Floriani DISI - University of Genova (Italy) and UMIACS Joint work with.
Advertisements

Computing Persistent Homology
Reconstruction from Voxels (GATE-540)
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Review Binary Search Trees Operations on Binary Search Tree
More Efficient Generation of Plane Triangulations Shin-ichi Nakano Takeaki Uno Gunma University National Institute of JAPAN Informatics, JAPAN 23/Sep/2003.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
COSC 1P03 Data Structures and Abstraction 5.1 Linear Linked Structures.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
Counting and Representing Intersections Among Triangles in R 3 Esther Ezra and Micha Sharir.
Motion Analysis (contd.) Slides are from RPI Registration Class.
Spatial Information Systems (SIS) COMP Terrain modeling and geometric problems.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Visual Querying By Color Perceptive Regions Alberto del Bimbo, M. Mugnaini, P. Pala, and F. Turco University of Florence, Italy Pattern Recognition, 1998.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Scalable Network Distance Browsing in Spatial Database Samet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international.
Applications of CGAL in the Gel Analysis Software CAROL Klaus Kriegel Freie Universität Berlin Deutsches Herzzentrum Berlin DFG Projekt FL 165/4-2.
Geometric Modeling and Computer Graphics GROUP
Important Problem Types and Fundamental Data Structures
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Morphological Analysis of 3D Scalar Fields based on Morse Theory and Discrete Distortion Mohammed Mostefa Mesmoudi Leila De Floriani Paola Magillo Dept.
Hubert CARDOTJY- RAMELRashid-Jalal QURESHI Université François Rabelais de Tours, Laboratoire d'Informatique 64, Avenue Jean Portalis, TOURS – France.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Multi-Scale Dual Morse Complexes for Representing Terrain Morphology E. Danovaro Free University of Bolzano, Italy L. De Floriani University of Genova,
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
SMI 2002 Multiresolution Tetrahedral Meshes: an Analysis and a Comparison Emanuele Danovaro, Leila De Floriani University of Genova, Genova (Italy) Michael.
1 B Trees - Motivation Recall our discussion on AVL-trees –The maximum height of an AVL-tree with n-nodes is log 2 (n) since the branching factor (degree,
On-line Space Sculpturing for 3D Shape Manipulation
Geometric Modeling and Computer Graphics GROUP DISI Department of Computer and Information Science University of Genova
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Time Series Data Analysis - I Yaji Sripada. Dept. of Computing Science, University of Aberdeen2 In this lecture you learn What are Time Series? How to.
Leonardo Guerreiro Azevedo Geraldo Zimbrão Jano Moreira de Souza Approximate Query Processing in Spatial Databases Using Raster Signatures Federal University.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Managing the Level of Detail in 3D Shape Reconstruction and Representation Leila De Floriani, Paola Magillo Department of Computer and Information Sciences.
Non-Manifold Multi-Tesselations From Meshes to Iconic Representations of Objects L. De Floriani, P. Magillo, E. Puppo, F. Morando DISI - University of.
1 Outline Previous work on geometric and solid modeling Multiresolution models based on tetrahedral meshes for volume data analysis Current work on non-manifold.
SpaDaGIS Efficiency Issues in Multi-resolution Terrain Modeling Leila De FlorianiPaola Magillo Leila De Floriani * Paola Magillo Department of Computer.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
1 Compressing TINs Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Mehmet Balman Computer Engineering, Boğaziçi University Parallel Tetrahedral Mesh Refinement.
Riccardo Fellegara University of Genova Genova, Italy
MINGLE Mid-Term Meeting (June 26, 2002)1 DISI - University of Genova Leila De Floriani MINGLE Mid-Term Meeting St. Malo, June 26, 2002.
1 INTRODUCTIONINTRODUCTION VIS98 Tutorial Level-of-Detail in Surface and Volume Modeling Leila De Floriani University of Genova Genova (Italy) Enrico Puppo.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
1 Complex Spatio-Temporal Pattern Queries Cahide Sen University of Minnesota.
1 LODMODELSLODMODELS VIS98 Tutorial Level of Detail (LOD) Models Part One.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Fifth International Conference on Curves and Surfaces Incremental Selective Refinement in Hierarchical Tetrahedral Meshes Leila De Floriani University.
Spatial Data Models Geography is concerned with many aspects of our environment. From a GIS perspective, we can identify two aspects which are of particular.
ACM-GIS Morphology-Driven Simplification and Multiresolution Modeling of Terrains Emanuele Danovaro, Leila De Floriani, Paola Magillo, Mohammed.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
Level of Detail (LOD) Models Part Two
Non-manifold Multiresolution Modeling (some preliminary results)
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Fitting Curve Models to Edges
The Art Gallery Problem
Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning
Dynamic Data Structures for Simplicial Thickness Queries
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

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