topological data structures
play

Topological Data Structures Jorge Stolfi Instituto de Computa c - PowerPoint PPT Presentation

Topological Data Structures Jorge Stolfi Instituto de Computa c ao Universidade Estadual de Campinas (UNICAMP) Caixa Postal 6176 13084-971 Campinas, SP, Brasil stolfi@ic.unicamp.br Talk at Theory Seminar, IC-UNICAMP, 2009-10-30.


  1. Topological Data Structures Jorge Stolfi Instituto de Computa¸ c˜ ao Universidade Estadual de Campinas (UNICAMP) Caixa Postal 6176 – 13084-971 Campinas, SP, Brasil stolfi@ic.unicamp.br Talk at Theory Seminar, IC-UNICAMP, 2009-10-30. Joint work with Arnaldo Jovanini Montagner October 30, 2009 Abstract We describe in detail a novel data structure for d -dimensional triangulations. In an arbitrary d -dimension triangulation, there are d ! ways in which a specific facet of an simplex can be glued to a specific facet of another simplex. Therefore, in data structures for general d -dimensional triangulations, this information must be encoded using ⌈ log 2 ( d !) ⌉ bits for each adjacent pair of simplices. We study a special class of triangulations, called the colored triangulations , in which there is a only one way two simplices can share a specific facet. The gem data structure , described here, makes use of this fact to greatly simplify the repertoire of elementary topological operators. 1

  2. Gems: A General Data Structure for d -Dimensional Triangulations Arnaldo Jovanini Montagner and Jorge Stolfi Computer Science Institute (IC) State University of Campinas (UNICAMP) Campinas, SP, Brasil stolfi@ic.unicamp.br 2

  3. SUMMARY • Triangulations. • Winged-edge, half-edge, etc.. • Quad-edge. • Facet-edge. • N-G-maps/cell-tuple. • Corner-stitching, 4-8, SMC, .... • The gem data structure. • Conclusions ans future work. 3

  4. Triangulations Triangulation : set of d -simplices, glued by facets. 4

  5. Triangulation data structures Pointer data structures: • One record per cell. • One pointer per facet, to adjacent cell. a b c d e Problem: which pointer is the right one? • Check all links (D. T. Lee & B. J. Schachter 1980 [7]). • Add ⌈ log 2 (( d + 1)!) ⌉ permutation bits per link (J. R. Shewchuck 1996 [10], J.-D. Boisonnat & al. 2002 [1], .. . ) 5

  6. Quad-Edge and Voronoi With Leo Guibas (TOG 4(2), 1985). 6

  7. Quad-Edge and Voronoi (2) 7

  8. Quad-Edge and Voronoi (3) 8

  9. Quad-Edge and Voronoi (4) 37 9

  10. Quad-Edge and Voronoi (5) 10

  11. Quad-Edge and Voronoi (6) 11

  12. Quad-Edge and Voronoi (7) 12

  13. Toposcope With Rober M. Rosi (Graph Drawing ’96). 13

  14. Toposcope (2) 14

  15. Toposcope (3) 15

  16. Toposcope (4) 4 10 2 1 1 9 8 6 5 5 11 12 3 4 3 14 4 10 16 8 7 7 8 12 5 2 2 13 11 13 1 6 6 9 15 15 1 4 3 14 12 9 10 16 11 4 7 5 9 13 13 2 11 15 6 15 10 14 14 3 7 12 16 16 With Lu´ ıs A. P. Lozada (SIBGRAPI 2000). 16

  17. Toposcope (5) 17

  18. 3D Triangulations (1) 3D Triangulations for animation of elastic objects. Rog´ erio L. W. Liesenfeld, IC-UNICAMP, 1994 18

  19. 3D Triangulations (2) 19

  20. Colored triangulations Colored triangulation: • Vertices are labeled with “colors” 0 , 1 , . . . , d . • Each element has at most one vertex of each color. a b c 2 1 0 2 1 e A B C D E F d 1 0 2 1 2 3 0 0 2 G H I J K L e d 2 1 0 2 a b c 1 20

  21. Gems (1) Gem = the dual graph of a colored triangulation: a b c 2 1 0 2 E e A B C D E F d F D 1 0 2 1 K L J G H I J K L e G C d A I 0 2 1 0 2 1 a b c B H 2 A regular graph, edge-colored with colors 0 , 1 , . . . , d . (M. Ferri 1976 [5], S. Lins 1982 [9]. 21

  22. Gems (2) Self-loops denote unglued facets (free border). 1 2 3 0 0 2 0 1 2 3 1 22

  23. Data structure The Gem data structure: a 1 0 2 b c d Step( a , i ) = φ i ( a ) = follow pointer i of node a . 23

  24. Gem structure operations: Makenode Makenode() creates an unattached simplex: 24

  25. Gem structure operations: Swap Swap( a , b , i ) exchanges the i -pointers of a and b : Unsafe - to be used by authorized personnel only! 25

  26. Gem structure operations: Splice Splice( a , b , i ) exchanges four pointers of color i : Splice( v , w ,0): Safe for any parameters! 26

  27. Barycentric subdivision Barycentric gems and representation of general maps: • n -G-maps (P. Lienhardt 1989 [8]). • Cell-tuple structure (E. Brisson 1989 [2]). 27

  28. Relationship to quad-edge structure (1) Quad-edge data structure for 2D maps • L. J. Guibas and J. Stolfi 1985 [6]. 28

  29. Relationship to quad-edge structure (2) The barycentric gem partitions into (0 , 2) -colored squares: 0 2 2 1 0 29

  30. Relationship to quad-edge structure (3) 0 2 2 1 0 30

  31. Relationship to facet-edge structure (1) Facet-edge data structure for 3D maps • D. P. Dobkin and M. J. Laszlo 1987 [4]. 31

  32. Relationship to facet-edge structure (2) The barycentric gem partitions into (0 , 3) -colored squares: 0 1 2 3 32

  33. Relationship to facet-edge structure (3) 33

  34. Generalizing quad-edge/facet-edge Barycentric gem property (Lienhardt’s n -G-map axiom 2 [8]): φ i φ j = φ j φ i if | i − j | ≥ 2 Generalizes quad-edge/facet-edge for d dimensions! Example for d = 7 : • edges colored 0 , 2 , 5 , 7 comprise disjoint 4 -cubes. • store 16 nodes as 16 parts of same record. • add 4 bits per pointer to identify which part. • φ 0 , φ 2 , φ 5 , φ 7 need no pointers. • save more pointers using φ 5 = φ 2 φ 5 φ 2 . • structure supports duality. 34

  35. Applications: True convex hull (1) Application of barycentric gems ( n -G-maps, cell-tuple): True exact convex hull, with non-simplicial facets. Gift-wrapping algorithm (D. R. Chand & S. S. Kapur 1970 [3]). 35

  36. Application: True convex hull (2) Rhombic dodecahedron (3D) Regular 24-cell (4D) 36

  37. Non-barycentric gems (1) Gems need not be barycentric subdivisions: 37

  38. Non-barycentric gems (2) The free border of a gem need not be of color d : 1 0 2 2 1 0 0 1 0 2 38

  39. Applications: Adaptive subdivision (1) Application of non-barycentric gems: Approximation by adaptive triangular mesh. 39

  40. Applications: Adaptive subdivision (2) Most popular subdivision schemes don’t work: 0 0 0 ? ? 1 2 1 2 1 2 0 0 0 40

  41. Applications: Adaptive subdivision (3) Local colored refinement schemes do exist: 41

  42. Applications: Adaptive subdivision (4) 42

  43. Applications: Adaptive subdivision (5) Can be done with minimum-angle guarantee: 43

  44. Disadvantages Disadvantages of gem data structure: • Restricted triangulations (e.g. no Delaunay). • Restricted operations (gluing, subdivision). • More wasteful than quad-edge or facet-edge for maps. 44

  45. Advantages Advantages of gem data structure: • Extends n -G-maps and cell-tuple: – Non-barycentric triangulations. – Arbitrary free borders. • Very simple data structure. • Very simple topological operators. • Simplified connection to geometry. • Residues are gems too. • Poly-ality ( d ! views) vs. duality (2 views). 45

  46. Conclusions and extensions Conclusions: • ∆ s: barycentric ⊂ colored ⊂ general. • Colored ∆ s are usable for modeling. • Gem data structure for colored ∆ s. • Gem data structure and operations are very simple. • Generalized quad-edge/facet-edge structures. 46

  47. Further work Future work and open problems: • Efficient adaptive subdivision in d dimensions. • Colorizing general ∆ s by frugal splitting. 47

  48. References [1] J.-D. Boisonnat, O. Devillers, S. Pion, M. Teillaud, and M. Yvinec. Triangulations in CGAL. Com- putational Geometry , 22(1–3):5–19, 2002. [2] Erik Brisson. Representing geometric structures in d dimensions: Topology and order. Proc. 5th Annual ACM Symp. on Computational Geometry , pages 218–227, June 1989. [3] Donald R. Chand and Sham S. Kapur. An algorithm for convex polytopes. Journal of the ACM , 17(1):78–86, 1970. [4] David P. Dobkin and Michel J. Laszlo. Primitives for the manipulations of three-dimensional subdi- visions. In Proc. 3rd ACM Symp. on Comp. Geometry , pages 86–99. ACM Press, June 1987. [5] M. Ferri. Una rappresentazione delle variet` a topologiche triangolabili medianti grafi ( n + 1)-colorati. Bolletino dell’Unione Matematica Italiana , 13-B:250–260, 1976. [6] Leonidas J. Guibas and Jorge Stolfi. Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams. ACM Transactions on Graphics , 4(2):74–123, April 1985. [7] D.-T. Lee and B. J. Schachter. Two algorithms for constructing a delaunay triangulation. Int. J. Computer Information Science , 9:219–242, 1980. [8] Pascal Lienhardt. Subdivisions of n-dimensional spaces and n-dimensional generalized maps. Proc. 5th Annual ACM Symp. on Computational Geometry , pages 228–236, June 1989. [9] S´ ostenes Lins. Graph-encoded maps. Journal of Combinatory Theory (B) , 32:171–181, 1982. [10] Jonathan R. Shewchuck. Triangle: Engineering a 2D quality mesh generator and Delaunay triangu- lator. In Proceedings of the 1st Workshop on Applied Computational Geometry , pages 124–133, May 1996. 48

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend