Robust Repair of Polygonal Models Tao Ju Rice University Polygonal Models Closed Model • Partitions the space into disjoint inside and outside volumes – Each.
Download ReportTranscript Robust Repair of Polygonal Models Tao Ju Rice University Polygonal Models Closed Model • Partitions the space into disjoint inside and outside volumes – Each.
Robust Repair of Polygonal Models Tao Ju Rice University Polygonal Models Closed Model • Partitions the space into disjoint inside and outside volumes – Each polygon lies between inside and outside Not Closed Closed Not Closed Closed Model Repair • Close polygonal models – Not just hole-filling • Challenges: – Models may contain complex errors – Models are often very big – Geometry features need to be preserved Previous Work • Mesh-based model repair – – – – Zippering [Turk and Levoy 1994] Stitching [Barequet and Kumar 1997] Progressive boundary decimation [Borodin et al. 2002] Hole filling with fairing [Liepa 2003] • Scattered data reconstruction – – – – – – Tangent plane estimation [Hoppe et al. 1992] Level sets [Zhao and Osher 2002] Radial basis functions [Turk and O’Brien 2002] Partition-of-unity methods [Ohtake et al. 2003] Moving least squares surfaces [Shen et al. 2004] Context-based completion [Sharf et al. 2004] Previous Work • Volumetric model repair How to determine signs ? How to generate surface ? Previous Work • Volumetric model repair – Sign generation – Adaptive signed distances [Frisken et al. 2000] – – – – Flood-filling [Oomes et al. 1997] [Andujar et al. 2002] Space carving [Curless and Levoy 1996] Volumetric diffusion [Davis et al. 2002] Parity count and ray stabbing [Nooruddin and Turk 2003] • Volumetric model repair – Contouring – Marching Cubes [Lorensen and Cline 1987] – Extended Marching Cubes [Kobbelt et al. 2001] – Dual Contouring [Ju et al. 2002] Robust Model Repair • Robust – Closes arbitrary polygon soups • Efficient – Processes gigantic models on standard PCs • Accurate – Preserves surface quality • Simple ! Algorithm in a Nutshell Scanconvert “Dual Surface” Patch Contour Closed Dual Surface Scan-conversion • Octree grid • Edges intersected with model • Top-down creation • Memory-less octree construction • Reliable and fast intersection tests Dual Surface • Each face dual to an intersected octree edge Octree Edge Dual Face Finding Holes • Boundary edges – Odd-valence edges – Closed dual surface No boundary edge • Set of boundary edges partitioned into cycles – Each cycle encloses a “hole” Building a Patch • Build one patch for each cycle – Each quad dual to an octree edge – Patch boundary is the cycle • Divide-and-conquer! – Using octree Integrating a Patch • Add a quad – If does not exist on the dual surface • Remove a quad – If already exists on the dual surface • Key: parity of edge valence Integrating a Patch • Add a quad – If not already on the dual surface • Remove a quad – If already on the dual surface • Key: parity of edge valence Sign Generation • Sign changes across dual surface – Flood-filling Dual Face Octree Signs Contouring • Marching Cubes – Edge intersections – Rounded corners • Dual Contouring – Hermite data – Sharp features Examples – CAD Model Input Model Examples – CAD Model Dual Surface Examples – CAD Model Closed Dual Surface Examples – CAD Model Output (Marching Cubes) Examples – CAD Model Output (Dual Contouring) Examples - Bunny 1. Input 2. DS 4. Output 3. DS Closed Model Courtesy of the Stanford 3D Scanning Repository Examples - Horse 1. Input 2. DS 4. Output 3. DS Closed Model Courtesy of the Stanford 3D Scanning Repository Examples – David (at 1mm) Input Output Model Courtesy of the Digital Michelangelo Project Performance Model Triangles Grid Time Memory Bunny 69,451 64 3.6 sec < 10 MB Horse 80,805 128 6.0 sec < 10 MB Dragon 871,414 256 45.2 sec 16 MB Buddha 1,087,716 1024 1.3 min 28 MB David (2mm) 8,254,150 4096 8.4 min 92 MB David (1mm) 56,230,343 8192 53.2 min 417 MB • On PC with 1.5GHz CPU and 2GB memory Conclusion • A simple, fast, and robust method to repair arbitrary polygon models • Future work – Remove topological noise – Improve the quality of hole filling – Repair using an adaptive grid • Special thanks to my advisor, Prof. Joe Warren, for his insights and support