mesh data structures
play

Mesh Data Structures how to store geometry & connectivity? - PowerPoint PPT Presentation

Mesh Data Structures how to store geometry & connectivity? compact storage file formats efficient algorithms on meshes identify time-critical operations all vertices/edges of a face all incident


  1. Mesh Data Structures • how to store geometry & connectivity? • compact storage – file formats • efficient algorithms on meshes – identify time-critical operations – all vertices/edges of a face – all incident vertices/edges/faces of a vertex Leif Kobbelt RWTH Aachen University 66 66

  2. Face Set (STL) • face: Triangles – 3 positions x 11 y 11 z 11 x 12 y 12 z 12 x 13 y 13 z 13 x 21 y 21 z 21 x 22 y 22 z 22 x 23 y 23 z 23 ... ... ... x F1 y F1 z F1 x F2 y F2 z F2 x F3 y F3 z F3 36 B/f = 72 B/v no connectivity! Leif Kobbelt RWTH Aachen University 67 67

  3. Shared Vertex (OBJ, OFF) • vertex: Vertices Triangles – position x 1 y 1 z 1 v 11 v 12 v 13 ... ... • face: x V y V z V ... – vertex indices ... ... v F1 v F2 v F3 12 B/v + 12 B/f = 36 B/v no neighborhood info Leif Kobbelt RWTH Aachen University 68 68

  4. Face-Based Connectivity • vertex: – position – 1 face • face: – 3 vertices – 3 face neighbors 64 B/v no edges! Leif Kobbelt RWTH Aachen University 69 69

  5. Edge-Based Connectivity • vertex – position – 1 edge • edge – 2 vertices – 2 faces – 4 edges 120 B/v • face edge orientation? – 1 edge Leif Kobbelt RWTH Aachen University 70 70

  6. Halfedge-Based Connectivity • vertex – position – 1 halfedge • halfedge – 1 vertex – 1 face – 1, 2, or 3 halfedges 96 to 144 B/v no case distinctions • face during traversal – 1 halfedge Leif Kobbelt RWTH Aachen University 71 71

  7. One-Ring Traversal 1. Start at vertex Leif Kobbelt RWTH Aachen University 72 72

  8. One-Ring Traversal 1. Start at vertex 2. Outgoing halfedge Leif Kobbelt RWTH Aachen University 73 73

  9. One-Ring Traversal 1. Start at vertex 2. Outgoing halfedge 3. Opposite halfedge Leif Kobbelt RWTH Aachen University 74 74

  10. One-Ring Traversal 1. Start at vertex 2. Outgoing halfedge 3. Opposite halfedge 4. Next halfedge Leif Kobbelt RWTH Aachen University 75 75

  11. One-Ring Traversal 1. Start at vertex 2. Outgoing halfedge 3. Opposite halfedge 4. Next halfedge 5. Opposite Leif Kobbelt RWTH Aachen University 76 76

  12. One-Ring Traversal 1. Start at vertex 2. Outgoing halfedge 3. Opposite halfedge 4. Next halfedge 5. Opposite 6. Next 7. ... Leif Kobbelt RWTH Aachen University 77 77

  13. Halfedge-Based Libraries • CGAL – www.cgal.org – computational geometry – free for non-commercial use • OpenMesh � – www.openmesh.org – mesh processing – free, LGPL licence Leif Kobbelt RWTH Aachen University 78 78

  14. Literature • Kettner, Using generic programming for designing a data structure for polyhedral surfaces , Symp. on Comp. Geom., 1998 • Campagna et al, Directed Edges - A Scalable Representation for Triangle Meshes , Journal of Graphics Tools 4(3), 1998 • Botsch et al, OpenMesh - A generic and efficient polygon mesh data structure , OpenSG Symp. 2002 Leif Kobbelt RWTH Aachen University 79 79

  15. Outline • (mathematical) geometry representations – parametric vs. implicit • approximation properties • types of operations – distance queries – evaluation – modification / deformation • data structures Leif Kobbelt RWTH Aachen University 80 80

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