Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12,...

20
Tuesday, March 22, 2022 Tuesday, March 22, 2022 Sibgrapi 2005 - Natal Sibgrapi 2005 - Natal 1 CHF CHF : A Scalable Topological : A Scalable Topological Data Structure for Data Structure for Tetrahedral Meshes Tetrahedral Meshes Marcos Lage¹, Thomas Lewiner¹ Marcos Lage¹, Thomas Lewiner¹ , ², Hélio Lopes¹, Luiz ², Hélio Lopes¹, Luiz Velho³. Velho³. ¹ PUC-Rio, Dept. de Matemática, Matmídia Project, Rio de Janeiro ¹ PUC-Rio, Dept. de Matemática, Matmídia Project, Rio de Janeiro – Brazil. – 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.

Transcript of Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12,...

Page 1: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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.

Page 2: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 3: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 33

Previous WorksPrevious Works

• For 3-Manifolds:For 3-Manifolds:

• For surfaces:For surfaces:

Page 4: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 5: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 55

Level 0 – OverviewLevel 0 – Overview

Characteristic:Characteristic:Tetrahedral “soup”Tetrahedral “soup”

Application:Application:Mesh VisualizationMesh Visualization

Page 6: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 66

Level 0 – BasicsLevel 0 – Basics

Page 7: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 8: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 9: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 99

Level 1 – OverviewLevel 1 – Overview

Characteristics:Characteristics:Neighborhood InformationNeighborhood Information

Application:Application:• TraversalTraversal• SubdivisionSubdivision

Page 10: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 11: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1111

Level 1 – Opposite ContainerLevel 1 – Opposite Container

Page 12: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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) )

Page 13: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 14: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1414

Level 2 – Extra ContainersLevel 2 – Extra Containers

Page 15: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 16: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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

Page 17: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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))

Page 18: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 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))

Page 19: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 1919

Future WorksFuture Works

Non-manifold meshesNon-manifold meshes

Vertex andVertex andedge singularitiesedge singularities

Page 20: Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Monday, October 12, 2015Sibgrapi 2005 - Natal1 CHF: A Scalable Topological Data.

Wednesday, April 19, 2023Wednesday, April 19, 2023 Sibgrapi 2005 - NatalSibgrapi 2005 - Natal 2020

Thanks !!!Thanks !!!