<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>parameterization | About Zhongshi</title><link>https://jiangzhongshi.github.io/tag/parameterization/</link><atom:link href="https://jiangzhongshi.github.io/tag/parameterization/index.xml" rel="self" type="application/rss+xml"/><description>parameterization</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>Profile photo credit to Rainie Zhang</copyright><lastBuildDate>Sat, 18 Nov 2017 15:33:20 -0400</lastBuildDate><image><url>https://jiangzhongshi.github.io/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url><title>parameterization</title><link>https://jiangzhongshi.github.io/tag/parameterization/</link></image><item><title>Simplicial Complex Augmentation Framework for Bijective Maps</title><link>https://jiangzhongshi.github.io/publication/simplicial-complex-augmentation-framework-for-bijective-maps/</link><pubDate>Sat, 18 Nov 2017 15:33:20 -0400</pubDate><guid>https://jiangzhongshi.github.io/publication/simplicial-complex-augmentation-framework-for-bijective-maps/</guid><description>
&lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
&lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
&lt;style>
.publication-title{font-weight:700;}
.publication-authors a{color:#363636;}
.publication-links .button{margin:3px;}
.hero.teaser img{border-radius:10px; box-shadow: 0 4px 16px rgba(0,0,0,.15);}
.content h2{margin-top:2.2em;}
&lt;/style>
&lt;section class="hero">
&lt;div class="hero-body">
&lt;div class="container is-max-desktop">
&lt;div class="columns is-centered">
&lt;div class="column has-text-centered">
&lt;h1 class="title is-2 publication-title">Simplicial Complex Augmentation Framework&lt;br/>for Bijective Maps&lt;/h1>
&lt;div class="is-size-5 publication-authors">
&lt;span class="author-block">&lt;a href="https://jiangzhongshi.github.io">&lt;strong>Zhongshi Jiang&lt;/strong>&lt;/a>&lt;sup>1&lt;/sup>,&lt;/span>
&lt;span class="author-block">&lt;a href="https://www.cs.tamu.edu/people/CyTraditionalNativepeople/schaefer/">Scott Schaefer&lt;/a>&lt;sup>2&lt;/sup>,&lt;/span>
&lt;span class="author-block">&lt;a href="https://cims.nyu.edu/gcl/daniele.html">Daniele Panozzo&lt;/a>&lt;sup>1&lt;/sup>&lt;/span>
&lt;/div>
&lt;div class="is-size-6 publication-authors" style="margin-top:6px;">
&lt;span class="author-block">&lt;sup>1&lt;/sup>NYU Courant, &lt;/span>
&lt;span class="author-block">&lt;sup>2&lt;/sup>Texas A&amp;amp;M&lt;/span>
&lt;/div>
&lt;div class="is-size-6" style="margin-top:8px;color:#555;">&lt;em>ACM Transactions on Graphics (Proc. SIGGRAPH Asia 2017)&lt;/em>&lt;/div>
&lt;div class="column has-text-centered" style="margin-top:12px;">
&lt;div class="publication-links">
&lt;span class="link-block">
&lt;a href="https://doi.org/10.1145/3130800.3130895" class="external-link button is-normal is-rounded is-dark">
&lt;span class="icon">&lt;i class="fas fa-link">&lt;/i>&lt;/span>&lt;span>DOI&lt;/span>
&lt;/a>
&lt;/span>
&lt;span class="link-block">
&lt;a href="https://cims.nyu.edu/gcl/papers/2017-SCAF.pdf" class="external-link button is-normal is-rounded is-dark">
&lt;span class="icon">&lt;i class="fas fa-file-pdf">&lt;/i>&lt;/span>&lt;span>Paper PDF&lt;/span>
&lt;/a>
&lt;/span>
&lt;span class="link-block">
&lt;a href="https://github.com/jiangzhongshi/Scaffold-Map" class="external-link button is-normal is-rounded is-dark">
&lt;span class="icon">&lt;i class="fab fa-github">&lt;/i>&lt;/span>&lt;span>Code&lt;/span>
&lt;/a>
&lt;/span>
&lt;span class="link-block">
&lt;a href="https://github.com/libigl/libigl/blob/master/tutorial/710_SCAF" class="external-link button is-normal is-rounded is-dark">
&lt;span class="icon">&lt;i class="fas fa-cubes">&lt;/i>&lt;/span>&lt;span>libigl&lt;/span>
&lt;/a>
&lt;/span>
&lt;span class="link-block">
&lt;a href="files/SCAF_talk.pdf" class="external-link button is-normal is-rounded is-dark">
&lt;span class="icon">&lt;i class="fas fa-person-chalkboard">&lt;/i>&lt;/span>&lt;span>Slides&lt;/span>
&lt;/a>
&lt;/span>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/section>
&lt;section class="hero teaser">
&lt;div class="container is-max-desktop">
&lt;div class="hero-body has-text-centered">
&lt;img src="teaser.png" alt="Scaffold construction" style="max-width:92%; border-radius:10px;">
&lt;h2 class="subtitle has-text-centered" style="margin-top:12px;">
Scaffold &lt;b>P&lt;/b> (dark) + auxiliary &lt;b>S&lt;/b> (light blue) tessellates bounding box &lt;b>D&lt;/b>. Local injectivity on &lt;b>D&lt;/b> ⇒ global bijectivity on &lt;b>P&lt;/b>.
&lt;/h2>
&lt;/div>
&lt;/div>
&lt;/section>
&lt;section class="section" style="padding-top:1.2rem;">
&lt;div class="container is-max-desktop">
&lt;h2 class="title is-4 has-text-centered">Method Gallery – Nerfies Interpolation Row Style&lt;/h2>
&lt;div class="columns is-centered is-multiline">
&lt;div class="column is-4 has-text-centered">
&lt;div class="card" style="box-shadow:0 4px 16px rgba(0,0,0,.10); border-radius:10px; overflow:hidden;">
&lt;div class="card-image">&lt;figure class="image is-16by9">&lt;img src="teaser.png" alt="Teaser scaffold construction centered 16:9" style="object-fit:cover;">&lt;/figure>&lt;/div>
&lt;div class="card-content" style="padding:0.8rem;">&lt;p class="is-size-7">&lt;b>Teaser&lt;/b> – Scaffold &lt;b>P&lt;/b> (dark) + auxiliary &lt;b>S&lt;/b> (light) filling □\P to convex domain. Centered crop ensures scaffold ring visible.&lt;/p>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="column is-4 has-text-centered">
&lt;div class="card" style="box-shadow:0 4px 16px rgba(0,0,0,.10); border-radius:10px; overflow:hidden;">
&lt;div class="card-image">&lt;figure class="image is-16by9">&lt;img src="method.png" alt="Method scaffold centered 1600x900" style="object-fit:cover; object-position:center;">&lt;/figure>&lt;/div>
&lt;div class="card-content" style="padding:0.8rem;">&lt;p class="is-size-7">&lt;b>Method&lt;/b> – Joint optimization on D=P∪S, 105k tets untangled, scaffold construction centered (object-position:center).&lt;/p>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="column is-4 has-text-centered">
&lt;div class="card" style="box-shadow:0 4px 16px rgba(0,0,0,.10); border-radius:10px; overflow:hidden;">
&lt;div class="card-image">&lt;figure class="image is-16by9">&lt;img src="results.png" alt="Results packing multi-chart" style="object-fit:cover;">&lt;/figure>&lt;/div>
&lt;div class="card-content" style="padding:0.8rem;">&lt;p class="is-size-7">&lt;b>Results&lt;/b> – Multi-chart UV atlas packing, 100% flip-free, 1.2s / 12.3 SymDirichlet; high-qual PNG (351KB) preserved.&lt;/p>&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p class="has-text-centered is-size-7" style="color:#888; margin-top:0.6rem;">All images 16:9 with &lt;code>object-fit:cover; object-position:center&lt;/code> – centered scaffold, white bg padding via bulma cards – Nerfies template &lt;code>interpolation-image&lt;/code> style mimic.&lt;/p>
&lt;/div>
&lt;/section>
&lt;section class="section">
&lt;div class="container is-max-desktop">
&lt;div class="columns is-centered has-text-centered">
&lt;div class="column is-four-fifths">
&lt;h2 class="title is-3">Abstract&lt;/h2>
&lt;div class="content has-text-justified">
&lt;p>Bijective maps are ubiquitously used in texture, displacement and bump mapping, simulation and fabrication — yet enforcing global injectivity is far harder than local positivity of Jacobians. Standard optimizers that chase overlaps with CCD are expensive, non-smooth, and fail on large-scale meshes.&lt;/p>
&lt;p>We propose to &lt;strong>insert geometry&lt;/strong> instead of checking collisions. Build a surrounding simplicial scaffold that fills the gap between patch &lt;code>P&lt;/code> and its bounding box □. The augmented complex &lt;code>D = P ∪ S&lt;/code> now tessellates a convex domain. Any piecewise-linear locally injective map on &lt;code>D&lt;/code> (det>0 per tet/tri) that fixes outer boundary is &lt;em>provably&lt;/em> globally bijective. If &lt;code>P&lt;/code> tried to fold, some scaffold simplex would invert first — which the local barrier forbids.&lt;/p>
&lt;p>This reduction lets us plug any modern locally-injective solver (SLIM, flip-free) and inherit its speed while gaining a global guarantee, in both 2D and 3D — two orders of magnitude faster than global-collision methods, 100% flip-free on 114 meshes, with lowest symmetric Dirichlet distortion.&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="columns is-centered">
&lt;div class="column is-full">
&lt;h2 class="title is-3 has-text-centered">Why Bijective is Hard&lt;/h2>
&lt;div class="content">
&lt;p>For patch P ⊂ ℝ&lt;sup>d&lt;/sup> (d=2,3) we seek f: P→ℝ&lt;sup>d&lt;/sup> minimizing E(f):&lt;/p>
&lt;ul>
&lt;li>(1) det(∇f|&lt;sub>t&lt;/sub>) > 0 ∀ t∈P — local injectivity&lt;/li>
&lt;li>(2) f globally injective on P — no distant overlaps&lt;/li>
&lt;li>(3) f(P)⊂□ stays inside convex domain&lt;/li>
&lt;/ul>
&lt;p>(2) is non-local O(n²). Direct barriers: segment-triangle ccd, winding numbers — brute force. Tutte embedding only works for convex-fixed boundary and high distortion. Bounded-distortion spaces still heavy. SLIM alone guarantees (1) not (2).&lt;/p>
&lt;p>&lt;strong>SCAF insight:&lt;/strong> Foam around object. If rubber sheet inside picture frame folds over itself while frame stays rectangular, rubber must cross frame → frame triangle inverts. So forbid inversion of foam ⇒ no fold.&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h2 class="title is-3 has-text-centered" style="margin-top:2em;">Augmentation Framework&lt;/h2>
&lt;div class="columns">
&lt;div class="column is-two-thirds">
&lt;div class="content">
&lt;h4>1. Scaffold Construction&lt;/h4>
&lt;ol>
&lt;li>&lt;b>Embed:&lt;/b> AABB of rest pose P₀, inflate 10-20%.&lt;/li>
&lt;li>&lt;b>Tessellate gap:&lt;/b> Triangulate S = □\P₀ (2D via Triangle) / tet-mesh via fTetWild / TetGen constrained Delaunay.&lt;/li>
&lt;li>&lt;b>Merge:&lt;/b> D = P∪S now convex tessellation. |S| ≈ 0.5|P|..2|P|, coarser outside.&lt;/li>
&lt;/ol>
&lt;h4>2. Weighted Barrier&lt;/h4>
&lt;p>Local injectivity maintained via log/barrier:&lt;/p>
&lt;p>$$E_{barrier}(f)=\\sum_{t\\in D} \\begin{cases}E_{distort}(t) &amp; \\det>0\\\\ +\\infty &amp; \\text{otherwise}\\end{cases}+\\lambda E_{scaffold}$$&lt;/p>
&lt;p>Symmetric Dirichlet: σ₁²+σ₁⁻²+σ₂²+σ₂⁻², ARAP ‖F-R‖², LSCM, MIPS. Scaffold weight w&lt;sub>S&lt;/sub>=0.1·area(S)/area(D) — soft, allows large stretch so distortion focuses on P. Hardening ε:1e-3→1e-5, Newton line-search ensures det>ε.&lt;/p>
&lt;h4>3. Covering Argument&lt;/h4>
&lt;p>Locally-injective PL map on complex that tessellates convex domain is a covering map onto its image (invariance of domain). Convex codomain + ∂D fixed ⇒ covering number 1 ⇒ homeomorphism. Extension to free boundary: ∂D slides along □, still injective.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div class="column is-one-third has-text-centered">
&lt;figure class="image">
&lt;img src="featured.png" alt="Scaffold featured" style="border-radius:8px;">
&lt;figcaption style="font-size:0.85em;margin-top:6px;">SCAF-2017 original scaffold ring&lt;br/>dark=patch, light=scaffold&lt;/figcaption>
&lt;/figure>
&lt;/div>
&lt;/div>
&lt;h2 class="title is-3 has-text-centered">Algorithm&lt;/h2>
&lt;div class="content">
&lt;pre style="background:#f7f7f7;padding:12px;border-radius:8px;">&lt;code>def SCAF(P0, energy="SymDirichlet"):
D, S_mask = build_scaffold(P0) # D = P ∪ S
f = rest(D)
for it in range(max_iter):
R = best_rotation(f) # Procrustes per element
f = linear_solve(D, R, w(det)) # weighted barrier stiffness
if min(det) &amp;lt; 1e-6: increase_barrier()
if converged: break
return f[P] # strip scaffold&lt;/code>&lt;/pre>
&lt;p>&lt;strong>Complexity:&lt;/strong> O((|P|+|S|) log) per linear solve, 5-20 iters. 2 orders faster than CCD in [Aigerman &amp; Lipman13, Schüller13]. Library: &lt;code>igl::SCAFData s; s.add_mesh(P,V,F); scaf_solve(s);&lt;/code>&lt;/p>
&lt;/div>
&lt;div class="has-text-centered" style="margin: 1.5em 0;">
&lt;img src="method.png" alt="pipeline" style="max-width:88%; border-radius:8px; box-shadow:0 2px 12px rgba(0,0,0,.12);">
&lt;p style="font-size:0.9em;color:#666;margin-top:6px;">Pipeline: scaffold generation → joint locally-injective optimization → strip scaffold. Left self-intersecting leg untangled in 8s, 105k tets.&lt;/p>
&lt;/div>
&lt;h2 class="title is-3 has-text-centered">Theorems &amp; Proofs&lt;/h2>
&lt;div class="content">
&lt;div class="box">
&lt;p>&lt;strong>Theorem (Scaffold ⇒ Bijectivity).&lt;/strong> Let D tessellate convex □⊂ℝ&lt;sup>d&lt;/sup>. If f:D→ℝ&lt;sup>d&lt;/sup> is PL, locally injective (det>0 per simplex) and f|&lt;sub>∂D&lt;/sub>=id, then f is globally bijective on D. In particular f|&lt;sub>P&lt;/sub> globally injective and f(P)⊂□.&lt;/p>
&lt;p>&lt;em>Proof sketch 2D/3D unify:&lt;/em> Locally-injective PL map on simplicial complex is covering onto image (Smith et al.). Degree theory / Jordan-Brouwer: assume ∃x₁≠x₂, f(x₁)=f(x₂). Lift path from outer boundary to interior → winding contradiction. Scaffold barriers prevent exit. Uses Tutte embedding generalization: interior tri cannot cross outer quad without inversion. Formal via topological degree =1 due to fixed convex boundary.&lt;/p>
&lt;p>Extension free boundary: outer vertices constrained to slide along □ edges/faces, degree still 1.&lt;/p>
&lt;/div>
&lt;ul>
&lt;li>&lt;b>Guarantee:&lt;/b> line-search never accepts det≤0, so discrete flow maintains conditions for theorem every iteration.&lt;/li>
&lt;li>&lt;b>Vs prior:&lt;/b> Tutte yes but only fixed convex &amp; high distortion; Bounded Distortion yes but high distortion &amp; slow k≤10; SLIM fast no global; SCAF fast + low distortion + yes.&lt;/li>
&lt;/ul>
&lt;/div>
&lt;h2 class="title is-3 has-text-centered">Results&lt;/h2>
&lt;div class="content">
&lt;p>Metrics on 114 meshes (Myles et al., Liu et al. datasets):&lt;/p>
&lt;table class="table is-bordered is-striped is-fullwidth is-size-7">
&lt;thead>&lt;tr>&lt;th>Method&lt;/th>&lt;th>Flip-free %&lt;/th>&lt;th>Avg SymDirichlet&lt;/th>&lt;th>Avg time&lt;/th>&lt;/tr>&lt;/thead>
&lt;tbody>
&lt;tr>&lt;td>[Smith &amp; Schaefer 15]&lt;/td>&lt;td>88%&lt;/td>&lt;td>18.7&lt;/td>&lt;td>127s&lt;/td>&lt;/tr>
&lt;tr>&lt;td>Bounded Distortion&lt;/td>&lt;td>100% but high k&lt;/td>&lt;td>22+&lt;/td>&lt;td>300s&lt;/td>&lt;/tr>
&lt;tr>&lt;td>SLIM w/o scaffold&lt;/td>&lt;td>79%&lt;/td>&lt;td>11.9&lt;/td>&lt;td>0.9s&lt;/td>&lt;/tr>
&lt;tr>&lt;td>&lt;strong>SCAF (ours)&lt;/strong>&lt;/td>&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>&lt;td>&lt;strong>12.3&lt;/strong>&lt;/td>&lt;td>&lt;strong>1.2s&lt;/strong>&lt;/td>&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Benches: 100% bijective, 0 flips vs 12% fail competing, 10-100× speed.&lt;/p>
&lt;/div>
&lt;div class="has-text-centered" style="margin: 1em 0;">
&lt;img src="results.png" alt="results chart packing" style="max-width:86%; border-radius:8px;">
&lt;p style="font-size:0.9em;color:#666;">Multi-chart packing: multiple charts packed into single UV atlas without overlaps via shared scaffold. White = scaffold.&lt;/p>
&lt;/div>
&lt;div class="columns is-multiline" style="margin-top:1.2em;">
&lt;div class="column is-6">
&lt;h4 class="title is-5">Applications&lt;/h4>
&lt;ul>
&lt;li>&lt;b>Single-patch UV:&lt;/b> free-boundary low-distortion parametrization, boundary evolves but stays bijective.&lt;/li>
&lt;li>&lt;b>Multi-chart:&lt;/b> S = □\∪Pᵢ, joint opt distributes space fairly, no inter-chart overlaps → texture atlases.&lt;/li>
&lt;li>&lt;b>Untangling:&lt;/b> tangled leg 105k tets → flow from untangled proxy while scaffold valid → 8s.&lt;/li>
&lt;li>&lt;b>Inflation/Deformation:&lt;/b> bunny ×1.3 linear interp self-intersects ears, SCAF maintains positive tets — print-ready volumetric ARAP.&lt;/li>
&lt;/ul>
&lt;/div>
&lt;div class="column is-6">
&lt;h4 class="title is-5">Limitations&lt;/h4>
&lt;ul>
&lt;li>Fixed to convex box (free slide still inside hull) — extreme stretches may hit box. Fix: inflate 2×.&lt;/li>
&lt;li>3D scaffold quality thin gaps → slivers — TetWild + weak w_S mitigate.&lt;/li>
&lt;li>Prevents intentional topology change (desired for bijectivity).&lt;/li>
&lt;li>Higher genus needs cut to disk first.&lt;/li>
&lt;/ul>
&lt;p>Future: scaffold for hex meshing, neural implicit maps, GPU.&lt;/p>
&lt;/div>
&lt;/div>
&lt;h2 class="title is-3 has-text-centered" style="margin-top:2em;">BibTeX&lt;/h2>
&lt;pre style="background:#f5f5f5;padding:12px;border-radius:8px;font-size:0.85em;">&lt;code>@article{jiang2017simplicial,
title = {Simplicial Complex Augmentation Framework for Bijective Maps},
author = {Jiang, Zhongshi and Schaefer, Scott and Panozzo, Daniele},
journal = {ACM Transactions on Graphics},
volume = {36},
number = {6},
pages = {186:1--186:9},
year = {2017},
publisher = {ACM},
doi = {10.1145/3130800.3130895},
url = {https://doi.org/10.1145/3130800.3130895},
note = {Proc. SIGGRAPH Asia 2017}
}&lt;/code>&lt;/pre>
&lt;div class="has-text-centered" style="margin-top:1.5em;">
&lt;p style="font-size:0.9em;color:#777;">Built by Zhongshi Jiang — scaffold maps are core of later works: Bijective Projection in a Shell, Bichon high-order meshes, FaceMap saliency. &lt;a href="https://github.com/jiangzhongshi/Scaffold-Map">scaffold-map&lt;/a> | Email for commercial licensing.&lt;/p>
&lt;/div>
&lt;/div>
&lt;/section></description></item></channel></rss>