Symposium on Geometry Processing 2014 PatternBased Quadrangulation for
Symposium on Geometry Processing 2014 Pattern-Based Quadrangulation for N-sided Patches Kenshi Takayama Daniele Panozzo Olga Sorkine-Hornung ETH Zurich
Quad meshing is important Subdivision surfaces 10 July 2014 Finite element analysis Kenshi Takayama 2
Sketch-based approach [Takayama 13] User: § Sketches curves N-sided patches 10 July 2014 Kenshi Takayama 3
Sketch-based approach [Takayama 13] User: § Sketches curves N-sided patches § Specifies num of edge subdiv System: § Quadrangulates each patch We propose a new algorithm 10 July 2014 Kenshi Takayama 4
Sketch-based approach [Takayama 13] x 4 speed 10 July 2014 Kenshi Takayama 5
Problem definition Input: Num of edge subdiv at each side l 2=1 Note: Output: Quadrangulation satisfying the input l 1=2 valence-5 singularity valence-3 singularity l 0=5 • ∑i li must be even 4 #F = 2 #Einterior + #Eboundary 10 July 2014 • Singularities at boundary Valence counted accordingly Kenshi Takayama • Topology only Geometry by Laplacian smoothing 6
Problem examples 1 5 1 9 1 8 4 2 1 2 3 1 1 8 5 9 5 10 July 2014 Kenshi Takayama 7
Previous work 2 Advancing front [Schaefer 04] 1 Greedy heuristic [Peng 14] 4 5 1 • Complicated formulation 2 2 4 • Smaller set of patterns Pattern-based [Nasri 09, Yasseen 13] Don’t work when num of edge subdiv is extremely small 10 July 2014 Ours: Guaranteed to work for arbitrary cases Our SIGGRAPH paper [Takayama 13] main focus on the UI Kenshi Takayama 8
Algorithm 10 July 2014 Kenshi Takayama 9
Infinitely many cases to consider 4 5 11 ● 5 9 8 16 13 7 Our idea: Reduce the problem into a smaller subproblem 10 July 2014 Kenshi Takayama 10 . . .
Reducing the problem by trimming 4 x 4 grid 4 3 x 1 grid 5 4 4 11 1 5 11 4 4 3 4 1 10 July 2014 Reduced problem can be quadrangulated 1 1 1 4 7 4 4 (Way of trimming is not unique) Maximally reduced � 4 4 1 4 4 7 4 1 1 7 1 1 Original problem can be quadrangulated 3 Kenshi Takayama 11
Reducing the problem by trimming 4 4 1 1 5 12 2 4 6 3 4 7 9 1 7 2 2 7 2 1 9 10 July 2014 5 5 3 7 2 4 1 2 5 3 3 5 12 5 5 3 1 4 5 12 12 4 4 5 1 12 5 16 3 1 3 9 Kenshi Takayama 5 1 1 1 3 1 2 6 2 1 2 3 6 12
Reducing the problem by trimming 4 4 4 5 3 1 11 1 4 1 Common form of reduced problem: 4 3 4 5 9 1 8 3 1 1 9 3 1 6 6 1 1 1 4 α 6 16 13 16 6 7 6 10 July 2014 10 1 10 6 1 How can we quadrangulate it? 1 Kenshi Takayama 13
Topological pattern ● Minimal quad mesh ● Parameter x: num of edge loops inserted x=0 x=1 4 x x=2 6 10 July 2014 . . . 8 Kenshi Takayama 4+2 x 14
Using topological pattern Case I: α=2 1 1 Case II: α=4+2 x already a quad x α ● α must be even ● Guaranteed to work for all the cases! 10 July 2014 Kenshi Takayama 15
Complete set of patterns 10 July 2014 Kenshi Takayama 16
Reduced input �topological pattern See the paper for more details Input Condition (α, 1) (2, 2) α=3+2 x -- Input (α, 1, 1) Condition Pattern α=2 α=4+2 x Pattern Input Condition (1, 1, 1, 1) (α, 1, 1, 1) -- α=3+2 x (α, β, 1, 1) α=β=2+x α=4+2 x+y, β=2+y Pattern 10 July 2014 Kenshi Takayama 17
Reduced input �topological pattern See the paper for more details Input Condition (α, 1, 1) α=2 (α, β, 1, 1, 1) α=4+2 x α=2+x, β=1+x α=5+2 x+y, β=2+y Pattern Enumerating reduced input is easy, Input Condition (1, 1, 1, but 1) finding (α, 1, 1, patterns 1, 1, 1) is hard (α, β, (done 1, 1, 1, by 1)hand) -- α=3+2 x α=β=2+x α=4+2 x+y, β=2+y (α, 1, 1, β, 1, 1) α=β=1+x α=4+2 x+y, β=2+y Pattern 10 July 2014 Kenshi Takayama 18
How to trim the patch optimally? 1 1 4 6 x 4 7 7 4 1 x 2 1 x 1 1 1 2 5 x 4 10 July 2014 Kenshi Takayama 19
Optimal trimming x p 0 pi: padding parameter (�trimming) 10 July 2014 Kenshi Takayama 20
Optimal trimming p 1 x p 0 pi: padding parameter (�trimming) 10 July 2014 Kenshi Takayama 21
Optimal trimming l 2 p 2 x p 1 l 1 p 0 l 0 pi: padding parameter (�trimming) 10 July 2014 Kenshi Takayama 22
Optimal trimming p 0=1 l 2 p 2 x p 1 l 2=4 p 2 x p 0 l 0 p 1 l 1=5 p 1=2 p 2=3 x=1 p 0 l 0=11 pi: padding parameter (�trimming) 10 July 2014 Kenshi Takayama 23
Optimal trimming p 0=1 l 2 p 2 x p 1 l 2=4 l 1=5 p 1=2 p 2=3 x=1 p 0 l 0 0 1 1 2 1 0 1 1 0 0 l 0=11 p 0 4 l 0 p 1 + 1 = l 1 p 2 1 l 2 x 10 July 2014 Kenshi Takayama 24
Optimal trimming l 2 p 2 x p 1 l 2 l 1 l 2=7 l 1=7 p 1 p 2 p 0 l 0 0 1 1 2 1 0 1 1 0 0 l 0=4 p 0 4 l 40 p 1 + 1 = l 71 p 2 1 l 72 x 10 July 2014 l 1 l 0 0 1 1 1 0 Kenshi Takayama 25 p 0 2 l 40 p 1 + 1 = l 71 p 2 1 l 72
Optimal trimming l 2 p 2 x p 1 l 1 p 0 subject to: f A y = b Non-negative integer solution? M y �� y≥ 0 l 2 p 60 0 p 01 = 6 p 02 6 0 x 10 July 2014 l 1 p 0 l 0 0 1 1 1 0 Kenshi Takayama p 1 p 2 Integer Linear Programming l 0 0 1 1 2 1 0 1 1 0 0 maximize: ∑i pi 26 p 50 2 p 11 = 6 p 12 6
Underconstrained system Multiple feasible solutions ● UI for exploring the solution space ● y = b A § Increment/decrement selected parameter § Different constraint & objective in ILP x=0 x=1 Decrement x 10 July 2014 x=2 Increment x Kenshi Takayama 27
Demo 10 July 2014 Kenshi Takayama 28
Integrated into sketch-retopo system [Takayama 13] 10 July 2014 Kenshi Takayama 29
Future work Better geometry optimization More complex patterns Generalization to higher N-gons Generalization to hex meshing 10 July 2014 Kenshi Takayama 30
Thank you! ● C++ code available at: http: //igl. ethz. ch/projects/patch-quad/ ● Acknowledgements: § § Alexander Sorkine-Hornung Maurizio Nitti ERC grant i. Model (St. G-2012 -306877) JSPS Postdoc Fellowships for Research Abroad 10 July 2014 Kenshi Takayama 31
- Slides: 31