Post on 01-Jan-2016
description
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 11
CHFCHF: A Scalable Topological Data : A Scalable Topological Data Structure for Tetrahedral MeshesStructure for Tetrahedral Meshes
Marcos Lage¹, Thomas Lewiner¹Marcos Lage¹, Thomas Lewiner¹,,², Hélio Lopes¹, Luiz Velho³.², Hélio Lopes¹, Luiz Velho³.
¹ PUC-Rio, Dept. de Matemática, Matmídia Project, Rio de Janeiro – Brazil.¹ PUC-Rio, Dept. de Matemática, Matmídia Project, Rio de Janeiro – Brazil.² INRIA – Géométrica Project– Sophia Antipolis – France.² INRIA – Géométrica Project– Sophia Antipolis – France.
³ IMPA – Visgraf Project – Rio de Janeiro – Brazil.³ IMPA – Visgraf Project – Rio de Janeiro – Brazil.
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 22
IntroductionIntroduction
• Topological Data Structures:Topological Data Structures:
MEMORY x PERFORMANCEMEMORY x PERFORMANCE
• Scalable ?Scalable ?
New Scalable Data Structure for New Scalable Data Structure for manifold Tetrahedral meshesmanifold Tetrahedral meshes
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 33
Previous WorksPrevious Works
• For 3-Manifolds:For 3-Manifolds:
• For surfaces:For surfaces:
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 44
ContributionsContributions
• Manifold Manifold tetrahedral meshestetrahedral meshes
• Four levelsFour levelsMEMORY x PERFORMANCEMEMORY x PERFORMANCE
• Generic containersGeneric containers
• Bitwise rulesBitwise rules
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 55
Level 0 – OverviewLevel 0 – Overview
Characteristic:Characteristic:Tetrahedral “soup”Tetrahedral “soup”
Application:Application:Mesh VisualizationMesh Visualization
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 66
Level 0 – BasicsLevel 0 – Basics
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 77
Level 0 – RulesLevel 0 – Rules
• Tetra(hf) := Tetra(hf) := [hf/4][hf/4] = = hf>>2hf>>2
• NextNexthfhf(hf) := (hf) := 4*Tetra(hf) + (hf+1)%44*Tetra(hf) + (hf+1)%4 = hf&(~3) + (hf|1)&3= hf&(~3) + (hf|1)&3
• MidMidhfhf(hf) := (hf) := 4*Tetra(hf) + (hf+2)%44*Tetra(hf) + (hf+2)%4
= hf&(~3) + (hf|2)&3 = hf&(~3) + (hf|2)&3
• PrevPrevhfhf(hf) := (hf) := 4*Tetra(hf) + (hf+3)%44*Tetra(hf) + (hf+3)%4
= hf&(~3) + (hf|3)&3= hf&(~3) + (hf|3)&3
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 88
Level 0 – Half-EdgesLevel 0 – Half-Edges• NextNexthehe(hf, he) := (hf, N[he%4][hf%4])(hf, he) := (hf, N[he%4][hf%4])
• PrevPrevhehe(hf, he) := (hf, N[hf%4][he%4] )(hf, he) := (hf, N[hf%4][he%4] )
• MateMatehehe(hf, he) := (Prev(hf, he) := (Prevhehe(hf, he), Next(hf, he), Nexthehe(hf, he))(hf, he))
021
103
032
213
N
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 99
Level 1 – OverviewLevel 1 – Overview
Characteristics:Characteristics:Neighborhood InformationNeighborhood Information
Application:Application:• TraversalTraversal• SubdivisionSubdivision
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1010
Level 1 – Opposite Half-FaceLevel 1 – Opposite Half-Face
Opposites half-faces:Opposites half-faces:– same verticessame vertices– opposite orientationopposite orientation
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1111
Level 1 – Opposite ContainerLevel 1 – Opposite Container
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1212
Level 1 – Edge StarLevel 1 – Edge Star
– RadialRadialhehe(hf, he)(hf, he) := ( O[hf] , next := ( O[hf] , nexthehe(hf, he) )(hf, he) )
++
– MateMatehehe(hf, he) := ( prev(hf, he) := ( prevhehe(hf, he), next(hf, he), nexthehe(hf, he) )(hf, he) )
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1313
Level 2 – OverviewLevel 2 – Overview
Characteristics:Characteristics:Explicit representation Explicit representation of the cellsof the cells
Applications:Applications:• AttributesAttributes• SimplificationSimplification
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1414
Level 2 – Extra ContainersLevel 2 – Extra Containers
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1515
Level 3 – OverviewLevel 3 – Overview
Characteristics:Characteristics:Explicit representation of Explicit representation of the boundary surfacethe boundary surface
Applications:Applications:• TopologyTopology• Direct DrawDirect Draw
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1616
Level 3 – Border CHELevel 3 – Border CHE
CHECHE: Compact half-edge: Compact half-edge• Version of Version of CHFCHF of surfaces of surfaces
• Four levels of structureFour levels of structure
MEMORY x PERFORMANCEMEMORY x PERFORMANCE
• Generic containersGeneric containers
• Arithmetic rulesArithmetic rules
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1717
Operations – Vertex StarOperations – Vertex Star• Level 0Level 0 • Level 1Level 1 • Levels 2 & 3Levels 2 & 3
O(4*nO(4*ntetratetra)) O(2*nO(2*ntetratetra)) ΘΘ(d°(v))(d°(v))
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1818
Operations – Edge StarOperations – Edge Star• Level 0Level 0 • Level 1Level 1 • Levels 2 & 3Levels 2 & 3
O(4*nO(4*ntetratetra)) O(2*nO(2*ntetratetra)) ΘΘ(d°(e))(d°(e))
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1919
Future WorksFuture Works
Non-manifold meshesNon-manifold meshes
Vertex andVertex andedge singularitiesedge singularities
Thursday, April 20, 2023Thursday, April 20, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 2020
Thanks !!!Thanks !!!