2d triangulation
play

2D Triangulation Input 2D Boundary Output Triangle Mesh Physical - PowerPoint PPT Presentation

TriWild : Robust Triangulation with Curved Constraints 1 Yixin Hu, 1 1 Teseo Schneider, 2 2 Xifeng Gao, 3 Qingnan Zhou, 3 4 Alec Jacobson, 1 4 Denis Zorin, 1 Daniele Panozzo. 2D Triangulation Input 2D Boundary Output Triangle


  1. TriWild : Robust Triangulation with Curved Constraints 1 Yixin Hu, 1 1 Teseo Schneider, 2 2 Xifeng Gao, 3 Qingnan Zhou, 3 4 Alec Jacobson, 1 4 Denis Zorin, 1 Daniele Panozzo.

  2. 2D Triangulation Input 2D Boundary Output Triangle Mesh Physical Simulation Yixin Hu, 2 9/5/19

  3. Linear Triangulation #V = 3013, #F = 4149 Want a smaller mesh? (Generated by Triangle) Yixin Hu, 3 9/5/19

  4. Linear Triangulation #V = 3013, #F = 4149 #V = 1503 #F = 304 Yixin Hu, 4 9/5/19

  5. Linear Triangulation #V = 3013, #F = 4149 #V = 1503 #F = 304 Yixin Hu, 5 9/5/19

  6. Curved Triangulation ! #V = 3013, #F = 4149 #V = 1503 Curved mesh! #F = 304 (Generated by TriWild) Yixin Hu, 6 9/5/19

  7. 2D Triangulation Coarser Faster Input 2D Boundary Output Triangle Mesh Physical Simulation Accurate Conforming Yixin Hu, 9 9/5/19

  8. Existing Methods • Curved triangle mesh is not a new concept. • Introduced in late 80s. • Haven’t been tested on large-scale dataset. • Not widely used because no robust tools. Yixin Hu, 10 9/5/19

  9. Tangled Curved Constraints Superposed Curves Yixin Hu, 11 9/5/19

  10. Tangled Curved Constraints Intersected Curves Yixin Hu, 12 9/5/19

  11. Tangled Curved Constraints Yixin Hu, 13 9/5/19

  12. Tangled Curved Constraints Yixin Hu, 14 9/5/19

  13. Input: (Generated by TriWild) Yixin Hu, 15 9/5/19

  14. Input: (Generated by TriWild) Yixin Hu, 16 9/5/19

  15. Input: (Generated by TriWild) Yixin Hu, 17 9/5/19

  16. Input: (Generated by TriWild) Yixin Hu, 18 9/5/19

  17. Why TriWild? “Cleanup” the input curves. Input High Curvature ! -separation Linear Mesh Generation Curved & Inflection Point Separation & Mesh Improvement Mesh Improvement Yixin Hu, 19 9/5/19

  18. Why TriWild? Linear mesh for easier curving. Input High Curvature ! -separation Linear Mesh Generation Curved & Inflection Point Separation & Mesh Improvement Mesh Improvement Yixin Hu, 20 9/5/19

  19. Pipeline - Input & Output • Input: Primary features • Bezier curves. (SVG standard, degree 3) Secondary features • Output: • Curved triangle mesh • Conforms to primary features. • Approximates secondary features up to " . Yixin Hu, 21 9/5/19

  20. Pipeline - Feature Preprocessing Input High Curvature & Inflection Point Separation Yixin Hu, 22 9/5/19

  21. Pipeline - Feature Preprocessing High Curvature & Inflection Point Separation Yixin Hu, 23 9/5/19

  22. Pipeline - Feature Preprocessing Input High Curvature ! -separation & Inflection Point Separation Yixin Hu, 24 9/5/19

  23. Pipeline - Feature Preprocessing ! -separation Yixin Hu, 25 9/5/19

  24. Pipeline - Curved Mesh Generation Input High Curvature ! -separation Linear Mesh Generation & Inflection Point Separation & Mesh Improvement Yixin Hu, 26 9/5/19

  25. Recap - Linear Mesh Generation (TetWild) Linear Segment Soup Triangle Mesh Stage I: Valid Mesh Generation (Rational) Yixin Hu, 27 9/5/19

  26. Recap - Linear Mesh Generation (TetWild) Stage I: Valid Mesh Generation Stage II: Mesh Improvement (Rational) (Mixed à Double) Yixin Hu, 28 9/5/19

  27. Recap - Linear Mesh Generation (TetWild) 100% success rate on 10,000 real-world models. Stage I: Valid Mesh Generation Stage II: Mesh Improvement (Rational) (Mixed à Double) Yixin Hu, 29 9/5/19

  28. Pipeline - Linear Mesh Generation Move along feature • Feature Invariant: • Feature edges’ associated curve Total curvature < % has total curvature < #. • Feature vertices can only move along feature curves. “feature” == “primary feature” Yixin Hu, 30 9/5/19

  29. Pipeline - Linear Mesh Generation • Feature Invariant: • Feature edges’ associated curve has total curvature < #. • Feature vertices can only move along feature curves. • Vertex Projection Yixin Hu, 31 9/5/19

  30. Pipeline - Linear Mesh Generation • Feature Invariant: • Feature edges’ associated curve has total curvature < #. • Feature vertices can only move along feature curves. • Vertex Projection Yixin Hu, 32 9/5/19

  31. Pipeline - Curved Mesh Generation Linear Mesh Generation & Mesh Improvement Yixin Hu, 33 9/5/19

  32. Pipeline - Curved Mesh Generation Input High Curvature ! -separation Linear Mesh Generation Curved & Inflection Point Separation & Mesh Improvement Mesh Improvement Yixin Hu, 34 9/5/19

  33. Pipeline - Curving • Curving: • All feature elements • With primary feature edges (thickened in red) Yixin Hu, 35 9/5/19

  34. Pipeline - Curved Mesh Generation • Inversion check for curved elements: Yixin Hu, 37 9/5/19

  35. Pipeline - Curved Mesh Generation Curved Mesh Improvement Yixin Hu, 41 9/5/19

  36. Pipeline - Curved Mesh Generation Input High Curvature ! -separation Linear Mesh Generation Curved & Inflection Point Separation & Mesh Improvement Mesh Improvement Yixin Hu, 42 9/5/19

  37. Parameters – Envelope Size • ! • Used in ! -separation for separating primary features and secondary features. • " (same parameter used in TetWild) • Maximum distant that secondary feature edges can deviate from input. Yixin Hu, 43 9/5/19

  38. Parameters – Envelope Size Yixin Hu, 44 9/5/19

  39. Red: primary feature edges ! Green: secondary feature edges 1e-3 " Yixin Hu, 45 9/5/19 1e-3

  40. 1e-2 Red: primary feature edges ! Green: secondary feature edges 1e-3 " Yixin Hu, 46 9/5/19 1e-3

  41. 1e-2 Red: primary feature edges ! Green: secondary feature edges 1e-3 " 1e-2 Yixin Hu, 47 9/5/19 1e-3

  42. 1e-2 Red: primary feature edges ! Green: secondary feature edges 1e-3 " 1e-2 Yixin Hu, 48 9/5/19 1e-3

  43. Parameters – Targeted Edge Length Edge_length = diag_bbox/ 5 Yixin Hu, 50 9/5/19

  44. Parameters – Targeted Edge Length Edge_length = diag_bbox/ 20 Yixin Hu, 51 9/5/19

  45. Parameters – Targeted Edge Length Edge_length = diag_bbox/ 100 Yixin Hu, 52 9/5/19

  46. MATLAB vs TriWild (Generated by MATLAB) (Generated by TriWild) Yixin Hu, 53 9/5/19

  47. MATLAB vs TriWild (Generated by MATLAB) (Generated by TriWild) Yixin Hu, 54 9/5/19

  48. MATLAB vs TriWild Original Input Failure Input Yixin Hu, 55 9/5/19

  49. GMsh vs TriWild 19 inverted elements (Generated by GMsh) (Generated by TriWild) Yixin Hu, 56 9/5/19

  50. Yixin Hu, 57 9/5/19

  51. Large-scale Test • Dataset: 19,686 real-world SVG images from openclipart.org. • Success rate: 19,685 output meshes • The only failure is due to large input size (1.5GB). Success: <6 hours <64GB memory Yixin Hu, 58 9/5/19

  52. 9/5/19 Yixin Hu, 59

  53. 9/5/19 Yixin Hu, 60

  54. 9/5/19 Yixin Hu, 61

  55. 9/5/19 Yixin Hu, 62

  56. 9/5/19 Yixin Hu, 63

  57. 9/5/19 Yixin Hu, 64

  58. 9/5/19

  59. Large-scale Test • Dataset: 19,686 real-world SVG images from openclipart.org. • Success rate: 19,685 output meshes • The only failure is due to large input size (1.5GB). 6% 4% 2% 0% 10s 1 100 10000 Timing (in seconds) Yixin Hu, 66 9/5/19

  60. Application – Diffusion Curves Yixin Hu, 67 9/5/19

  61. Application – Diffusion Curve Yixin Hu, 68 9/5/19

  62. Application – Inflation Using Curved Output Using Linear Output Curved Mesh Yixin Hu, 69 9/5/19

  63. Application – Inflation Using Linear Output Curved Mesh Using Curved Output Yixin Hu, 70 9/5/19

  64. Application – Stokes Using Curved Mesh Yixin Hu, 71 9/5/19

  65. Application – Stokes Using Linear Mesh Yixin Hu, 72 9/5/19

  66. Application – Stokes Yixin Hu, 73 9/5/19

  67. Application – Elasticity 0.09s 115s Gravity Using Curved Mesh Using Dense Linear Mesh Curved Mesh Yixin Hu, 74 9/5/19

  68. Linear Pipeline Dataset 1: Raw OpenClip20k • Piece-wise linear approximations of 19,686 SVG images. Dataset 2: Cleaned OpenClip20k • Raw dataset with duplication and degeneracy removed. Dataset 3: Snapped OpenClip20k • Raw dataset with iteratively snap rounding using " as pixel size. Yixin Hu, 75 9/5/19

  69. Success: Linear Pipeline <1 hour <16GB memory Compared with: 1) CGAL Conforming/Constrained Delaunay Triangulation 2) Triangle Conforming/Constrained Delaunay Triangulation CGAL CGAL Triangle Triangle Ours conforming constrained conforming constrained 99.97% 99.97% 99.97% 99.97% 99.80% snapped 99.66% 99.57% 81.92% 83.09% 99.84% cleaned 99.20% 9.56% 19.01 % 99.93% 34.35% raw 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% Yixin Hu, 76 9/5/19

  70. Success: Linear Pipeline <1 hour <16GB memory 64GB Compared with: 1) CGAL Conforming/Constrained Delaunay Triangulation 2) Triangle Conforming/Constrained Delaunay Triangulation CGAL CGAL Triangle Triangle Ours conforming constrained conforming constrained 100.0% 99.80% 99.97% 99.97% 99.97% snapped 100.0% 81.92% 99.66% 83.09% 99.84% cleaned 99.20% 9.56% 19.01 % 100.0% 34.35% raw 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% Yixin Hu, 77 9/5/19

Recommend


More recommend