9 1 remeshing
play

9.1 Remeshing Hao Li http://cs599.hao-li.com 1 Outline What is - PowerPoint PPT Presentation

Spring 2015 CSCI 599: Digital Geometry Processing 9.1 Remeshing Hao Li http://cs599.hao-li.com 1 Outline What is remeshing? Why remeshing? How to do remeshing? 2 Outline What is remeshing? Why remeshing? How to do


  1. Spring 2015 CSCI 599: Digital Geometry Processing 9.1 Remeshing Hao Li http://cs599.hao-li.com 1

  2. Outline • What is remeshing? • Why remeshing? • How to do remeshing? 2

  3. Outline • What is remeshing? � • Why remeshing? • How to do remeshing? 3

  4. Definition Given a 3D mesh � • Already a manifold mesh Compute another mesh � • Satisfy some quality requirements • Approximate well the input mesh 4

  5. Outline • What is remeshing? • Why remeshing? � • How to do remeshing? 5

  6. Motivation Unsatisfactory “raw” mesh � • By scanning or implicit representations 6

  7. Motivation Unsatisfactory “raw” mesh � • By scanning or implicit representations Improve mesh quality for further use 7

  8. Motivation Unsatisfactory “raw” mesh � • By scanning or implicit representations Improve mesh quality for further use � • Modeling: easy processing • Simulation: numerical robustness • …… Quality requirements � • Local structure • Global structure 8

  9. Local structure Element type � • Triangles vs. quadrangles all all quad-dominant mesh 9

  10. Local structure Element type � • Triangles vs. quadrangles Element shape � • Isotropic vs. anisotropic 10

  11. Local structure Element type � • Triangles vs. quadrangles Element shape � • Isotropic vs. anisotropic Element distribution � • Uniform vs. adaptive 11

  12. Local structure Element type � • Triangles vs. quadrangles Element shape � • Isotropic vs. anisotropic Element distribution � • Uniform vs. adaptive Element alignment � • Preserve sharp features and curvature lines 12

  13. Global structure Valence of a regular vertex Interior vertex Boundary vertex Triangle mesh 6 4 Quadrangle mesh 4 3 13

  14. Global structure Valence of a regular vertex Interior vertex Boundary vertex Triangle mesh 6 4 Quadrangle mesh 4 3 Different types of mesh structure � • Irregular • Semi-regular: multi-resolution analysis / modeling • Highly regular: numerical simulation • Regular: only possible for special models 14

  15. Outline • What is remeshing? • Why remeshing? • How to do remeshing? 15

  16. Outline • What is remeshing? • Why remeshing? • How to do remeshing? � - Isotropic remeshing - Anisotropic remeshing 16

  17. Outline • What is remeshing? • Why remeshing? • How to do remeshing? - Isotropic remeshing � - Anisotropic remeshing 17

  18. Isotropic remeshing Incremental remeshing • Simple to implement and robust • Not need parameterization • Efficient for high-resolution input Variational remeshing • Energy minimization • Parameterization-based → expensive • Works for coarse input mesh Greedy remeshing 18

  19. Isotropic remeshing Incremental remeshing � • Simple to implement and robust • Not need parameterization • Efficient for high-resolution input Variational remeshing • Energy minimization • Parameterization-based → expensive • Works for coarse input mesh Greedy remeshing 19

  20. Local remeshing operators Edge Edge Edge Vertex Collapse Split Flip Shift 20

  21. Incremental remeshing Specify target edge length L � � L max = 4/3 * L; L min = 4/5 * L; � Iterate: � 1. Split edges longer than L max 2. Collapse edges shorter than L min 3. Flip edges to get closer to optimal valence � 4. Vertex shift by tangential relaxation � 5. Project vertices onto reference mesh 21

  22. Edge split L max 1 1 2 L max 2 L max Edge Split � � 1 � � | L max − L | = 2 L max − L � � � � 4 ⇒ L max = 3 L Split edges longer than L max 22

  23. Edge collapse L min L min L min 3 3 2 L min 2 L min Edge Collapse � � 3 � � | L min − L | = 2 L min − L � � � � 4 ⇒ L min = 5 L Collapse edges shorter than L min 23

  24. Edge flip Optimal valence � • 6 for interior vertices • 4 for boundary vertices 24

  25. Edge flip Optimal valence � • 6 for interior vertices • 4 for boundary vertices Edge Improve valences � Flip • Minimize valence excess -1 4 (valence( v i ) − opt valence( v i )) 2 � +1 +1 i =1 -1 25

  26. Vertex shift Local “spring” relaxation � • Uniform Laplacian smoothing • Barycenter of one-ring neighborhood 1 Vertex � c i = p j Shift valence( v i ) j ∈ N ( v i ) 26

  27. Vertex shift Local “spring” relaxation � • Uniform Laplacian smoothing p i • Barycenter of one-ring neighborhood c i 1 � c i = p j valence( v i ) j ∈ N ( v i ) 27

  28. Vertex shift n i Local “spring” relaxation � • Uniform Laplacian smoothing p i • Barycenter of one-ring neighborhood c i tangent 1 � c i = p j valence( v i ) j ∈ N ( v i ) Keep vertex (approx.) on surface � project • Restrict movement to tangent plane I − n i n T � ⇥ p i ← p i + λ ( c i − p i ) i 28

  29. Vertex projection Onto original reference mesh � • Find closet triangle • Use BSP to accelerate → O (log n ) • Barycentric interpolation to compute position & normal project 29

  30. Incremental remeshing Specify target edge length L � Iterate: � 1. Split edges longer than L max 2. Collapse edges shorter than L min 3. Flip edges to get closer to optimal valence � 4. Vertex shift by tangential relaxation � 5. Project vertices onto reference mesh 30

  31. Remeshing result 31

  32. Adaptive remeshing 32

  33. Adaptive remeshing • Compute maximum principle curvature on reference mesh • Determine local target edge length from max- curvature • Adjust edge split / collapse criteria accordingly 33

  34. Feature preservation 34

  35. Feature preservation Define feature edges / vertices � • Large dihedral angles • Material boundaries Adjust local operators � • Do not touch corner vertices • Do not flip feature edges • Collapse along features • Univariate smoothing • Project to feature curves 35

  36. Isotropic remeshing Incremental remeshing • Simple to implement and robust • Not need parameterization • Efficient for high-resolution input Variational remeshing � • Energy minimization • Parameterization-based → expensive • Works for coarse input mesh Greedy remeshing 36

  37. Voronoi Diagram 37

  38. Voronoi Diagram Divide space into a number of cells 38

  39. Voronoi Diagram Divide space into a number of cells � Dual graph: Delaunay triangulation 39

  40. Centroidal Voronoi Diagram For each cell � The generating point = mass of center non CVD CVD 40

  41. Centroidal Voronoi Diagram Compute CVD by Lloyd relaxation � 1. Compute Voronoi diagram of given points p i 2. Move points p i to centroids c i of their Voronoi cells V i 3. Repeat steps 1 and 2 until satisfactory convergence � V i x · ρ ( x ) d x p i ← c i = � V i ρ ( x ) d x 41

  42. Centroidal Voronoi Diagram Compute CVD by Lloyd relaxation � 1. Compute Voronoi diagram of given points p i 2. Move points p i to centroids c i of their Voronoi cells V i 3. Repeat steps 1 and 2 until satisfactory convergence � V i x · ρ ( x ) d x p i ← c i = � V i ρ ( x ) d x CVD maximizes compactness � • Minimize the energy: ⇥ ρ ( x ) ⇤ x � p i ⇤ 2 d x ⇥ min � V i i 42

  43. Variational remeshing 1. Conformal parameterization of input mesh � 2. Compute local density � 3. Perform in 2D parameter space � A. Randomly sample according to local density B. Compute CVD by Lloyd relaxation 4. Lift 2D Delaunay triangulation to 3D 43

  44. Variational remeshing 44

  45. Adaptive remeshing 45

  46. Feature preservation 46

  47. Outline • What is remeshing? • Why remeshing? • How to do remeshing? - Isotropic remeshing - Anisotropic remeshing 47

  48. Anisotropic remeshing Artist-designed models � • Conform to the anisotropy of a surface 48

  49. Anisotropic remeshing [Alliez et al. 2003] Anisotropic Polygonal Remeshing. 49

  50. Anisotropic remeshing [Alliez et al. 2003] Anisotropic Polygonal Remeshing. input principal output sampling meshing mesh direction fields mesh 50

  51. Anisotropy Differential geometry � • A local orthogonal frame: min/max curvature directions and normal 51

  52. 3D curvature tensor k > 0 k = 0 Isotropic spherical planar k k k Anisotropic k k � 2 principal directions k elliptic parabolic hyperbolic 52

  53. Principal direction fields min curvature max curvature overlay 53

  54. Flattening to 2D piecewise linear interpolation of 2D tensors 2D tensor one 3D tensor discrete conformal using barycentric per vertex parameterization coordinates 54

  55. 2D direction fields • Regular case minor foliation major foliation principal foliations 55

  56. 2D direction fields • Singularities umbilic (spherical point) 2D tensor proportional to identity trisector wedge 56

  57. Umbilics 57

  58. Umbilics trisector wedge 58

  59. Lines of curvature minor net major net overlay 59

  60. Lines of curvature minor net major net 60

  61. Overlay • Overlay curvature lines in anisotropic regions • Add umbilical points in isotropic regions 61

  62. Vertices intersect lines of curvatures 62

  63. Edges straighten lines of curvatures + Delaunay triangulation near umbilics 63

  64. Resolve T-junctions T-junction 64

Recommend


More recommend