TriWild:
Robust Triangulation with Curved Constraints
Yixin Hu, Teseo Schneider, Xifeng Gao, Qingnan Zhou, Alec Jacobson, Denis Zorin, Daniele Panozzo.
1 1 1 1 1 2 3 4 2 3 4
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
Yixin Hu, Teseo Schneider, Xifeng Gao, Qingnan Zhou, Alec Jacobson, Denis Zorin, Daniele Panozzo.
1 1 1 1 1 2 3 4 2 3 4
9/5/19 Yixin Hu, 2
Input 2D Boundary Output Triangle Mesh Physical Simulation
9/5/19 Yixin Hu, 3
(Generated by Triangle)
#V = 3013, #F = 4149
9/5/19 Yixin Hu, 4
#V = 3013, #F = 4149
9/5/19 Yixin Hu, 5
#V = 3013, #F = 4149
9/5/19 Yixin Hu, 6
(Generated by TriWild)
#V = 3013, #F = 4149
9/5/19 Yixin Hu, 9
Input 2D Boundary Output Triangle Mesh Physical Simulation
9/5/19 Yixin Hu, 10
9/5/19 Yixin Hu, 11
9/5/19 Yixin Hu, 12
9/5/19 Yixin Hu, 13
9/5/19 Yixin Hu, 14
9/5/19 Yixin Hu, 15
(Generated by TriWild)
Input:
9/5/19 Yixin Hu, 16
(Generated by TriWild)
Input:
9/5/19 Yixin Hu, 17
(Generated by TriWild)
Input:
9/5/19 Yixin Hu, 18
(Generated by TriWild)
Input:
9/5/19 Yixin Hu, 19
Input High Curvature & Inflection Point Separation !-separation Linear Mesh Generation & Mesh Improvement Curved Mesh Improvement
“Cleanup” the input curves.
9/5/19 Yixin Hu, 20
Input High Curvature & Inflection Point Separation !-separation Linear Mesh Generation & Mesh Improvement Curved Mesh Improvement
Linear mesh for easier curving.
9/5/19 Yixin Hu, 21
Primary features Secondary features
9/5/19 Yixin Hu, 22
Input High Curvature & Inflection Point Separation
9/5/19 Yixin Hu, 23
9/5/19 Yixin Hu, 24
Input High Curvature & Inflection Point Separation !-separation
9/5/19 Yixin Hu, 25
9/5/19 Yixin Hu, 26
Input High Curvature & Inflection Point Separation !-separation Linear Mesh Generation & Mesh Improvement
9/5/19 Yixin Hu, 27
Stage I: Valid Mesh Generation (Rational)
Segment Soup Linear Triangle Mesh
9/5/19 Yixin Hu, 28
Stage I: Valid Mesh Generation (Rational) Stage II: Mesh Improvement (Mixed à Double)
9/5/19 Yixin Hu, 29
100% success rate on 10,000 real-world models. Stage I: Valid Mesh Generation (Rational) Stage II: Mesh Improvement (Mixed à Double)
9/5/19 Yixin Hu, 30
Total curvature <% Move along feature
9/5/19 Yixin Hu, 31
9/5/19 Yixin Hu, 32
9/5/19 Yixin Hu, 33
9/5/19 Yixin Hu, 34
Input High Curvature & Inflection Point Separation !-separation Linear Mesh Generation & Mesh Improvement Curved Mesh Improvement
9/5/19 Yixin Hu, 35
9/5/19 Yixin Hu, 37
9/5/19 Yixin Hu, 41
9/5/19 Yixin Hu, 42
Input High Curvature & Inflection Point Separation !-separation Linear Mesh Generation & Mesh Improvement Curved Mesh Improvement
9/5/19 Yixin Hu, 43
features.
9/5/19 Yixin Hu, 44
9/5/19 Yixin Hu, 45
Red: primary feature edges Green: secondary feature edges
1e-3 1e-3
9/5/19 Yixin Hu, 46
Red: primary feature edges Green: secondary feature edges
1e-3 1e-3 1e-2
9/5/19 Yixin Hu, 47
Red: primary feature edges Green: secondary feature edges
1e-3 1e-3 1e-2 1e-2
9/5/19 Yixin Hu, 48
Red: primary feature edges Green: secondary feature edges
1e-3 1e-3 1e-2 1e-2
9/5/19 Yixin Hu, 50
Edge_length = diag_bbox/5
9/5/19 Yixin Hu, 51
Edge_length = diag_bbox/20
9/5/19 Yixin Hu, 52
Edge_length = diag_bbox/100
9/5/19 Yixin Hu, 53
(Generated by TriWild) (Generated by MATLAB)
9/5/19 Yixin Hu, 54
(Generated by TriWild) (Generated by MATLAB)
9/5/19 Yixin Hu, 55
Failure Input Original Input
9/5/19 Yixin Hu, 56
(Generated by GMsh) (Generated by TriWild)
19 inverted elements
9/5/19 Yixin Hu, 57
9/5/19 Yixin Hu, 58
9/5/19 Yixin Hu, 59
9/5/19 Yixin Hu, 60
9/5/19 Yixin Hu, 61
9/5/19 Yixin Hu, 62
9/5/19 Yixin Hu, 63
9/5/19 Yixin Hu, 64
9/5/19
9/5/19 Yixin Hu, 66
0% 2% 4% 6% 1 100 10000
Timing (in seconds)
10s
9/5/19 Yixin Hu, 67
9/5/19 Yixin Hu, 68
9/5/19 Yixin Hu, 69
Curved Mesh Using Curved Output Using Linear Output
9/5/19 Yixin Hu, 70
Curved Mesh Using Curved Output Using Linear Output
Yixin Hu, 71
Using Curved Mesh
9/5/19
Yixin Hu, 72
Using Linear Mesh
9/5/19
Yixin Hu, 73 9/5/19
9/5/19 Yixin Hu, 74
Using Dense Linear Mesh Using Curved Mesh Curved Mesh
9/5/19 Yixin Hu, 75
9/5/19 Yixin Hu, 76
CGAL conforming CGAL constrained Triangle conforming Triangle constrained Ours
50% 100% 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% raw cleaned snapped 99.97% 99.97% 99.97% 99.97% 99.80% 99.66% 83.09% 99.84% 99.57% 81.92% 99.20% 9.56% 19.01 % 99.93% 34.35%
9/5/19 Yixin Hu, 77
CGAL conforming CGAL constrained Triangle conforming Triangle constrained Ours
50% 100% 0 50% 100% 0 50% 100% 0 50% 100% 0 50% 100% raw cleaned snapped 99.97% 99.97% 99.97% 100.0% 99.80% 99.66% 83.09% 99.84% 100.0% 81.92% 99.20% 9.56% 19.01 % 100.0% 34.35%
9/5/19 Yixin Hu, 81
ACKNOWLEDGMENTS
Performance Computing resources, services, and staff expertise.
award under Grant No. 1652515, the NSF grant IIS- 1320635, the NSF grant DMS-1436591, the NSF grant 1835712, the SNSF grant P2TIP2_175859, NSERC Discovery Grants (RGPIN-2017-05235 & RGPAS-2017- 507938), Canada Research Chair award, Connaught Fund, a gift from Adobe Research, and a gift from nTopology. https://github.com/wildmeshing/TriWild
9/5/19 Yixin Hu, 82
https://github.com/wildmeshing/TriWild
implementation in C++ and data.
yixin.hu@nyu.edu
conda config --add channels conda-forge conda install wildmeshing