500 likes | 893 Views
Quadrilateral and Tetrahedral Mesh Stripification Using the 2-Factor Partitioning of the Dual Graph Pablo Diaz-Gutierrez M. Gopi University of California, Irvine Problem description Input : Quadrilateral or Tetrahedral mesh Output : Partition the input mesh into primitive strip(s).
E N D
Quadrilateral and Tetrahedral Mesh Stripification Using the 2-Factor Partitioning of the Dual Graph Pablo Diaz-Gutierrez M. Gopi University of California, Irvine
Problem description • Input: Quadrilateral or Tetrahedral mesh • Output: Partition the input mesh into primitive strip(s). • Approach: Use a graph matching algorithm on the dual graph of the mesh. http://graphics.ics.uci.edu
Problem descriptionDual graphs • Every quad/tetrahedron is a node in the dual graph. • Arcs between these nodes if the corresponding mesh elements are adjacent in the mesh. From a cube to its dual graph http://graphics.ics.uci.edu
Problem descriptionDual graphs: properties • Dual quad-graph: Dual graph of a quadrilateral manifold mesh • Every node has degree four. (4-regular) • Dual tetra-graph: Dual graph of a tetrahedral mesh • Every node has degree four or less. http://graphics.ics.uci.edu
Problem descriptionGraph factorization • K-factor of a graph G: • A spanning, k-regular sub-graph of G 1-factor (perfect matching) 2-factor 3-factor http://graphics.ics.uci.edu
Problem descriptionOur Solution • A 2-factor F of a graph G determines a set of disjoint loops in G • Finding a 2-factor in the 4-regular dual graph of the mesh partitions the mesh into strip loops of mesh primitives. http://graphics.ics.uci.edu
Complementary strips • A 2-factor defines 2 complementary sets of disjoint loops. http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Relevant related work • Several papers on triangle stripification • [Gopi and Eppstein 04], etc • [Pascucci 04] on GPU for isosurface extraction • Tetra strips to reduce BW • 2-factoring of sparse graphs • [Pandurangan 05] Images from [Gopi et al. 04] and Pascucci 04] http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
StripificationTwo techniques • 2-pass matching method • Straightforward • Fast • Not always applicable • Template substitution method • More complicated • Slower (problem size grows 18x) • Universal http://graphics.ics.uci.edu
Perfect Matching • A 1-factor of a graph is called a perfect matching. Perfect matching in a 3-regular graph http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Stripification2-pass matching method • Repeat twice on a 4-regular graph: • Find a perfect matching. • Remove the matched edges http://graphics.ics.uci.edu
Graph with a 2-factor but without a perfect matching Stripification2-pass matching method • Advantages: • Fast • Existing code for perfect matching • Simple to implement • Disadvantages • Does not work on graphs with odd # of vertices © Algorithmic Solutions http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
StripificationTemplate substitution method • Transform (inflate) graph G to lower degree, larger graph G’ • G has degree 4 and less • G’ has degree 3 and less • Perfect matching in G’ ↔ 2-factor in G G Induce 2-factor Inflate G’ Perfect matching http://graphics.ics.uci.edu
StripificationTemplate substitution method • Transformation by substituting each vertex V in G by a template V’ (expand V) G Induce 2-factor Inflate G’ Perfect matching http://graphics.ics.uci.edu
StripificationTemplate substitution method DOPES V V’ http://graphics.ics.uci.edu
StripificationTemplate substitution method(2-factor from matching) • Theorem: G’ has a perfect matching iff G has 2-factor G G’ http://graphics.ics.uci.edu
Template substitutionSimple example http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Merging strips Disjoint (cyclic) strips in a 4-regular graph (i.e. quad-graph) Disjoint strips in a degree-4-and-less graph (i.e. tetra-graph) http://graphics.ics.uci.edu
Merging stripsStrip compatibility • Loop + loop = loop • Loop + linear = linear • Linear + linear -> 2 linear strips! (pointless) http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Merging stripsnodal simplex processing: graph • A nodal simplex: • An (n-2) dimensional simplex • A vertex in a quad mesh, or an edge in a tetrahedral mesh • Around which matches alternate • Incident cycles are unique • Toggle matching Strip loops A face in the dual graph corresponding to a nodal simplex in the mesh http://graphics.ics.uci.edu
Merging stripsnodal simplex processing:geometric realization on quads Nodal vertex http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Merging stripsMesh subdivision • Often there are not enough nodal simplices and we still need to reduce #strips • Subdivide two adjacent primitives belonging to different cycles • Reassign dual edge matchings to merge cycles http://graphics.ics.uci.edu
Merging stripsDual Graph Subdivisions Dual Tetra Graph (Non-planar subdivision) Dual Quad Graph http://graphics.ics.uci.edu
Merging stripsQuadrilateral subdivision(reassigning matching) • After subdividing, identify a nodal simplex • Apply nodal simplex processing to merge strips http://graphics.ics.uci.edu
Merging stripsQuadrilateral subdivision(geometric realization) http://graphics.ics.uci.edu
Merging stripsTetrahedral subdivision(dual graph re-matching) C C A B A B a c b a c b A’ B’ A’ B’ C’ C’ http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
ResultsTetrahedral stripification table http://graphics.ics.uci.edu
ResultsQuadrilateral strips http://graphics.ics.uci.edu
ResultsQuadrilateral strips http://graphics.ics.uci.edu
ResultsTetrahedral strips http://graphics.ics.uci.edu
Talk outline • Problem description • Related work • Stripification • 2-pass matching • Template substitution • Merging strips • Nodal simplex processing • Simplex subdivision • Results • Conclusion, Q&A http://graphics.ics.uci.edu
Summary & conclusion • Two algorithms for 2-factorization of graphs of degree 4 and less • Unified approach for quadrilateral and tetrahedral stripification • Subdivision techniques for reduction of number of tetrahedral and quadrilateral strips http://graphics.ics.uci.edu
Future work • Tetrahedral mesh compression using strips • Investigate approximate matching algorithms • Reduce number of strips without subdivision (maintaining original mesh) http://graphics.ics.uci.edu
Acknowledgements • ICS Computer Graphics Lab @ UCI • http://graphics.ics.uci.edu http://graphics.ics.uci.edu
The End • Thanks for listening!! • Questions? • Comments? • Corrections? • Suggestions? • Complaints? • Divagations? http://graphics.ics.uci.edu
E D BCDE C A B ABCD ABED Dual graphs • Every dual quad-graph is 4-regular • But not every 4-regular graph is the dual of a valid quadrangulated manifold ? http://graphics.ics.uci.edu
E D BCDE C A B ABCD ABED Stripification2-pass matching method ? http://graphics.ics.uci.edu
Merging stripsnodal simplex processing: tetrahedra • (n-2) dimensional nodal simplex • Geometric edge • Dual edges correspond to faces of tetrahedra • Matching of dual edges (primal faces) is toggled around nodal edge Nodal edge Faces of tetrahedra Nodal simplex processing in a dual tetra-graph http://graphics.ics.uci.edu
Merging stripsTetrahedral subdivision(subdivision in dual graph) C A B a c b A’ B’ C’ http://graphics.ics.uci.edu
Merging stripsTetrahedral subdivision(geometric interpretation) • Two tetrahedra split into 6 (3 each) • Red line: nodal simplex (an axis) • A,B,C: Graph edges (faces of tetrahedra) A C B http://graphics.ics.uci.edu
Merging stripsInitial considerations • We have a number of primitive strips • Want to merge into fewer strips • Issues: • Can we modify the meshes? • Different types of strips http://graphics.ics.uci.edu