i nterpolating and approximating i mplicit surfaces from
play

I nterpolating and Approximating I mplicit Surfaces from Polygon - PowerPoint PPT Presentation

I nterpolating and Approximating I mplicit Surfaces from Polygon Soup Chen Shen, James F. OBrien, Jonathan R. Shewchuk University of California, Berkeley Geometric Algorithms Seminar CS 468 Fall 2005 Overview Overview Talk Overview:


  1. I nterpolating and Approximating I mplicit Surfaces from Polygon Soup Chen Shen, James F. O’Brien, Jonathan R. Shewchuk University of California, Berkeley Geometric Algorithms Seminar CS 468 – Fall 2005

  2. Overview Overview Talk Overview: Talk Overview: • Motivation • Motivation • Implicit Surface Fitting • Implicit Surface Fitting for Polygon Soup for Polygon Soup • Computational Aspects • Computational Aspects • Extensions • Extensions • Results • Results 2 CS 468 – Geometric Algorithms Seminar – Fall 2005

  3. 3 Motivation Motivation

  4. What does the paper do? What does the paper do? Goal: Convert polygon mesh into implicit surface Goal: Convert polygon mesh into implicit surface (and back again) (and back again) Applications: Applications: • Mesh cleanup – create consistent meshes • Mesh cleanup – create consistent meshes from polygon soup from polygon soup • Topological simplification • Topological simplification • Creating bounding volumes • Creating bounding volumes 4 CS 468 – Geometric Algorithms Seminar – Fall 2005

  5. Consistent Meshes Consistent Meshes Polygon models often show consistency issues: Polygon models often show consistency issues: } – fixed • Holes and gaps (no closed surface) • Holes and gaps (no closed surface) • T-junctions in meshing • T-junctions in meshing • Non-manifold structure, • Non-manifold structure, } – partially fixed self intersections self intersections • Inconsistent normals • Inconsistent normals } – preprocessing • Sometimes: Internal structure • Sometimes: Internal structure should be omitted should be omitted 5 CS 468 – Geometric Algorithms Seminar – Fall 2005

  6. Topological Simplification Topological Simplification Create simplified bounding Create simplified bounding volume, allowing topological volume, allowing topological changes: changes: Useful for... Useful for... • Mesh simplification • Mesh simplification • Spatial queries • Spatial queries (e.g. collision detection) (e.g. collision detection) [Shen et al. 04] 6 CS 468 – Geometric Algorithms Seminar – Fall 2005

  7. Related Work Related Work Reconstruction via Implicit Surfaces: Reconstruction via Implicit Surfaces: • Standard technique: see e.g. [Hoppe et al. ’92], • Standard technique: see e.g. [Hoppe et al. ’92], [Turk et al. ’99], [Carr et al. ’01], [Turk et al. ’02], ... [Turk et al. ’99], [Carr et al. ’01], [Turk et al. ’02], ... • General reconstruction procedure: • General reconstruction procedure: • Estimate normals • Estimate normals • Approx. signed distance function • Approx. signed distance function This paper • Apply marching cubes • Apply marching cubes • (Possibly: Simplify result) • (Possibly: Simplify result) 7 CS 468 – Geometric Algorithms Seminar – Fall 2005

  8. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh 8 CS 468 – Geometric Algorithms Seminar – Fall 2005

  9. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh 9 CS 468 – Geometric Algorithms Seminar – Fall 2005

  10. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh 10 CS 468 – Geometric Algorithms Seminar – Fall 2005

  11. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh This paper: technique This paper: technique for polygon meshes for polygon meshes 11 CS 468 – Geometric Algorithms Seminar – Fall 2005

  12. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh 12 CS 468 – Geometric Algorithms Seminar – Fall 2005

  13. Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces Initial data Initial data Estimate normals Estimate normals Signed distance func. Signed distance func. Marching cubes Marching cubes Final mesh Final mesh 13 CS 468 – Geometric Algorithms Seminar – Fall 2005

  14. What is this paper about? What is this paper about? In this paper: this Defining the step implicit function But: Consider polygon models input: polygons 14 CS 468 – Geometric Algorithms Seminar – Fall 2005

  15. Utility Utility Hole Filling: Create well-defined closed surface Hole Filling: Create well-defined closed surface 15 CS 468 – Geometric Algorithms Seminar – Fall 2005

  16. Utility Utility Also: Remeshing (Marching Cubes) T-vertex, small hole fixed: remeshed 16 CS 468 – Geometric Algorithms Seminar – Fall 2005

  17. Utility Utility Missing Normals: Reconstruct (a few) missing normals Missing Normals: Reconstruct (a few) missing normals ? ? ? 17 CS 468 – Geometric Algorithms Seminar – Fall 2005

  18. I mplicit Surface Fitting I mplicit Surface Fitting for Polygon Soup for Polygon Soup 18

  19. Least-Squares Least-Squares Least Squares Approximation: B 1 B 2 B 3 p i = ( x i , φ i ) basis functions target values w ( x ) weighting functions least squares fit 19 CS 468 – Geometric Algorithms Seminar – Fall 2005

  20. Least-Squares Least-Squares Least Squares Approximation: ~ n ∑ φ = ( x ) c B ( x ) i i = i 1 Best Fit: ( ) n ~ 2 ∑ φ − φ argmin ( x ) w ( x ) i i i c = i 1 i 20 CS 468 – Geometric Algorithms Seminar – Fall 2005

  21. Least-Squares Least-Squares ( ) ( ) φ = Normal Equations: T 2 T 2 B W B c B W ( ) − 1 = φ Solution: T 2 T 2 c B W B B W ( ) ~ − φ =< >= 1 φ Evaluation: T T 2 T 2 ( x ) b ( x ), c b ( x ) B W B B W [ ] Notation: = b : B ,..., B 1 n − − φ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ b ( x ) c w ( x ) 1 1 1 1 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = φ = = = M M M O B : : c : W : ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − − φ w ( x ) ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ b ( x ) c n n n n 21 CS 468 – Geometric Algorithms Seminar – Fall 2005

  22. Moving Least-Squares Moving Least-Squares Moving Least Squares Approximation: target values move basis and weighting function, ~ recompute approximation φ ( x ) 22 CS 468 – Geometric Algorithms Seminar – Fall 2005

  23. Moving Least-Squares Moving Least-Squares Moving Least Squares Approximation: target values approximation 23 CS 468 – Geometric Algorithms Seminar – Fall 2005

  24. Application... Application... Approach: Approach: • MLS-Approximation of implicit • MLS-Approximation of implicit function in space: f : � 3 → � function in space: f : � 3 → � • Set polygons surface to zero • Set polygons surface to zero • Normal constraints: implicit • Normal constraints: implicit function should grow in normal direction function should grow in normal direction • Coordinate frame: � 3 • Coordinate frame: � 3 (no non-linear coord.-sys. estimation) (no non-linear coord.-sys. estimation) • Weighting function: w ( r ) = 1/( r 2 + ε 2 ) • Weighting function: w ( r ) = 1/( r 2 + ε 2 ) 24 CS 468 – Geometric Algorithms Seminar – Fall 2005

  25. Weighting Function Weighting Function Weighting Function Used in This Paper: Vary ε to adjust tightness of fit. 25 CS 468 – Geometric Algorithms Seminar – Fall 2005

  26. Polygonal Constraints Polygonal Constraints Problem: Need polygonal constraints (not point constraints) [Shen et al. 04] 26 CS 468 – Geometric Algorithms Seminar – Fall 2005

  27. Polygonal Constraints Polygonal Constraints Idea: Use infinite number of points (i.e. integrate) ( ) ( ) φ = Normal Equations: T 2 T 2 B W B c B W Can be rewritten: Sum of point constraints ⎛ ⎞ N N ∑ ∑ = φ ⎜ ⎟ 2 T 2 w ( x , x ) b ( x ) b ( x ) c ( x ) w ( x , x ) b ( x ) i i i i i i ⎝ ⎠ = = i 1 i 1 ( Just some algebra ) 27 CS 468 – Geometric Algorithms Seminar – Fall 2005

  28. Polygonal Constraints Polygonal Constraints Point Constraints: ⎛ ⎞ N N ∑ ∑ = φ ⎜ ⎟ 2 T 2 w ( x , x ) b ( x ) b ( x ) c ( x ) w ( x , x ) b ( x ) i i i i i i ⎝ ⎠ = = i 1 i 1 Polygonal Constraints: ⎛ ⎞ N N ∑ ∫ ∑ ∫ ⎜ ⎟ = φ 2 T 2 w ( x , p ) b ( p ) b ( p ) dp c ( x ) w ( x , p ) b ( p ) d p ⎜ ⎟ k ⎝ ⎠ = = k 1 k 1 Poly Poly k k (just integrate over all polygon points) 28 CS 468 – Geometric Algorithms Seminar – Fall 2005

Recommend


More recommend