Robust Repair of Polygonal Models Tao Ju Rice University.

Slides:



Advertisements
Similar presentations
Isosurfaces Over Simplicial Partitions of Multiresolution Grids Josiah Manson and Scott Schaefer Texas A&M University.
Advertisements

Reconstruction from Voxels (GATE-540)
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Surface Reconstruction From Unorganized Point Sets
Based on paper by C.S. Chong, A. Senthil Kumar, H.P. Lee
Unconstrained Isosurface Extraction on Arbitrary Octrees
Piecewise Convex Contouring of Implicit Functions Tao Ju Scott Schaefer Joe Warren Computer Science Department Rice University.
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Asst. Prof. Yusuf Sahillioğlu
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Filling Holes in Complex Surfaces using Volumetric Diffusion James Davis, Stephen Marschner, Matt Garr, Marc Levoy Stanford University First International.
Filling Arbitrary Holes in Finite Element Models 17 th International Meshing Roundtable 2008 Schilling, Bidmon, Sommer, and Ertl.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Robust Adaptive Meshes for Implicit Surfaces Afonso Paiva Hélio Lopes Thomas Lewiner Matmidia - Departament of Mathematics – PUC-Rio Luiz Henrique de Figueiredo.
Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen.
Adaptively Sampled Distance Fields (ADFs) A General Representation of Shape for Computer Graphics S. Frisken, R. Perry, A. Rockwood, T. Jones Richard Keiser.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
Not ClosedClosed Not Closed 4 5
Surface Reconstruction Using Volumetric Implicit Functions Some figures by Curless et al.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Lecture 4 : Isosurface Extraction (Advanced Topics)
EUROGRAPHICS 2005 Presenter : Jong-Hyun Kim. Abstract We present a new method for surface extraction from volume data.  Maintains consistent topology.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
Context-based Surface Completion Andrei Sharf, Marc Alexa, Daniel Cohen-Or.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
Reporter: Zhonggui Chen
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
3D Object Representations
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Hierarchical Error-Driven Approximation of Implicit Surfaces from Polygonal Meshes Takashi Kanai Yutaka Ohtake Kiwamu Kase University of Tokyo RIKEN, VCAD.
INFORMATIK A Multi-scale Approach to 3D Scattered Data Interpolation with Compactly Supported Basis Functions Yutaka Ohtake Yutaka Ohtake Alexander Belyaev.
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Maths & Technologies for Games Spatial Partitioning 2
High Resolution Surface Reconstruction from Overlapping Multiple-Views
Shape Reconstruction from Samples with Cocone Tamal K. Dey Dept. of CIS Ohio State University.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
Game Engine Design Quake Engine Presneted by Holmes 2002/12/2.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Solid Modeling Dr. Scott Schaefer.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.
CS552: Computer Graphics Lecture 28: Solid Modeling.
CSE 554 Lecture 5: Contouring (faster)
Domain-Modeling Techniques
A Volumetric Method for Building Complex Models from Range Images
Three Step Geometric Pipeline
Presentation transcript:

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 ClosedClosed Not 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 ] –Hole filling with fairing [ Liepa 2003 ] Scattered data reconstruction –Tangent plane estimation [ Hoppe et al ] –Level sets [ Zhao and Osher 2002 ] –Radial basis functions [ Turk and O’Brien 2002 ] –Partition-of-unity methods [ Ohtake et al ] –Moving least squares surfaces [ Shen et al ] –Context-based completion [ Sharf et al ]

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 ] –Flood-filling [ Oomes et al ] [ Andujar et al ] –Space carving [ Curless and Levoy 1996 ] –Volumetric diffusion [ Davis et al ] –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 ] –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 Contour Patch Closed Dual Surface Scan- convert “Dual Surface”

They convert the input model to a volumetric form by constructing an octree grid that records edges intersecting the input model. Scan-conversion

They recursively walk down the octree, expanding nodes when necessary, until all the leaf cells at the bottom level of the tree that intersect the polygon are located. Then, cell edges that intersect the polygon are identified in those leaf cells and are marked as intersection edges (figure 4 (d)). Scan-conversion

Octree grid Memory-less octree construction Reliable and fast intersection tests Edges intersected with model Top-down creation

Fast intersection tests a triangle and a cube are disjoint if their projections on any one of the following 13 vectors are disjoint: (1) the triangle face normal, (2) 3 cube face normals, (3) and 9 pair-wise cross-products of the 3 edges of the cube and the 3 edges of the triangle.

Dual Surface Each face dual to an intersected octree edge Octree EdgeDual 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”

Detect boundary cycles Detecting the boundary edges in  (S) simply involves enumerating the cell faces on the primal grid containing an odd number of intersection edges. To form cycles, we introduce a bottom-up procedure detectProc[N] that returns all complete cycles B and incomplete cycles R inside the octree node N.

At a leaf node, detectProc[N] returns B = 0 and R = 0. At an internal node, (1) Call detectProc[Ni] for every child node N i, which return cycles B i and incomplete cycles R i. (2) Detect the boundary edges E crossing the faces between adjacent children nodes. (3) Connect R i by E to form complete cycles B’ and incomplete cycles R. B is the union of B’ and the B i s. Detect boundary cycles

Patch boundary cycles seek the surface of minimum area spanning a given curve in 3-D space.

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 FaceOctree 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 3. DS Closed 4. Output Model Courtesy of the Stanford 3D Scanning Repository

Examples - Horse 1. Input2. DS 3. DS Closed 4. Output Model Courtesy of the Stanford 3D Scanning Repository

Examples – David (at 1mm) Input Output Model Courtesy of the Digital Michelangelo Project

Performance ModelTrianglesGridTimeMemory Bunny 69, sec< 10 MB Horse 80, sec< 10 MB Dragon 871, sec16 MB Buddha 1,087, min28 MB David (2mm) 8,254, min92 MB David (1mm) 56,230, min417 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