ACM Transactions on Graphics · SIGGRAPH 2022

Which Cross Fields can be Quadrangulated?
Global Parameterization from Prescribed Holonomy Signatures

Hanxiao Shen  ·  Leyi Zhu  ·  Ryan Capouellez  ·  Daniele Panozzo  ·  Marcel Campen  ·  Denis Zorin
New York University  |  Osnabrück University
DOI: 10.1145/3528223.3530187  ·  Vol. 41, No. 4  ·  July 2022
Use / , scroll wheel, or Space to navigate   ·   F for fullscreen

Outline

02 / 16

This talk covers seamless parametrization, the role of holonomy, our existence theorem, and the rerouting algorithm that makes prescribed holonomy realisable.

01
Teaser & motivation
02
Seamless parametrization & holonomy
03
Holonomy signature & cross fields
04
Why prior methods fall short
05
Existence theorem & GCD condition
06
Quasi-additivity & rerouting around a cone
07
Algorithm pipeline
08
Field-guided cut graph & basis extraction
09
Segment rerouting (Dijkstra + fallback)
10
Results & comparison

Teaser — full topological control

03 / 16
teaser

(a) Input loop system with a prescribed holonomy signature. (b) A state-of-the-art seamless map (Campen et al. 2018) that ignores global holonomy. (c) Our rerouted, topologically equivalent loop system. (d) Our seamless parametrization — perfectly matches the prescribed signature, with lower distortion and better field alignment.

Seamless Parametrization & Holonomy Angle

04 / 16
holonomy angle

The holonomy angle of a dual loop is the sum of signed inner angles along the strip — equivalently, the angle between first and last edge after laying the strip flat.

Seamless parametrization

A piecewise-linear, locally injective map $F:M^c\to\mathbb{R}^2$ such that for every cut edge $e$ with mate $e'$, there is a rigid transform $\sigma_e(x)=R_e x + t_e$ with $R_e$ a rotation by an integer multiple of $\pi/2$, mapping $F(e)$ to $F(e')$.

Holonomy angle of a loop $\gamma$

$$\kappa_\gamma^F \;=\; \sum_{f^*\in\gamma}\alpha_\gamma(f^*)$$

and the holonomy number is $k_\gamma^F = \kappa_\gamma^F / (2\pi)$. For seamless maps it lives in $\tfrac14\mathbb{Z}$.

Cone index

For a vertex loop $\partial v^*$, the index is $I_v^F = 1 - k_{\partial v^*}^F \in \tfrac14\mathbb{Z}$.

Holonomy Signature & Cross Fields

05 / 16

Definition

Holonomy numbers along a homology basis of $M\setminus C$:

$$\big(k_{\gamma_1},\,\dots,\,k_{\gamma_{2g}};\;\;k_{\partial v_1^*},\,\dots,\,k_{\partial v_m^*}\big)$$

This finite signature determines the holonomy number of every loop on the surface (via Gauss-Bonnet).

Equivalence (non-uniqueness)

Different choices of basis loops give different numbers but represent the same parametrization topology — see right.

Connection to cross fields

For a discrete cross field with turning numbers $T_\gamma$ on a homology basis, matching $T$ to $k$ on the basis forces a match for every loop. This is a Poincaré-Hopf-style identity:

$$T_{\partial S} \;=\; -\chi(S)$$

Cross fields with any prescribed turning-number signature can be built by a linear solve [Crane et al., Trivial Connections]. Our method extends this topological control to parametrizations.

non unique signature

Two equivalent signatures. Cones: red $-\tfrac14$, blue $+\tfrac14$. Loop holonomy numbers boxed (0 vs $\tfrac14$). Sliding the loop across the leftmost red cone changes the number by exactly $-I_v = +\tfrac14$.

Why Prior Methods Fall Short

06 / 16

Constructing a seamless parametrization that matches a prescribed cross field requires getting both local and global holonomy right.

Seamless Padding (Campen 2018)

  • Guarantees local injectivity and matches the cones (local holonomy).
  • Cut graph is a generic hole-chain — its global holonomy along non-contractible loops is whatever the construction happens to produce.
  • If global holonomy mismatches the input field, the result cannot be continuously optimised into alignment — there is a topological obstacle.

Our method

  • Same guarantees on local injectivity and cones.
  • Provably constructs a cut graph whose induced parametrization has exactly the prescribed global holonomy (under a mild GCD condition).
  • Resulting maps align cleanly with the input cross field — lower distortion, better quad layout.

Topological match between cross field and parametrization is mandatory for high-quality quad meshing — it cannot be repaired downstream.

Existence Theorem & the GCD Condition

07 / 16

The question

For which holonomy signatures does a seamless parametrization exist?

Our answer (Prop. 2)

Let $H=\{\gamma_1,\dots,\gamma_{2g}\}$ be a system of loops cutting $M$ to a disk, and let cones $v_1,\dots,v_m$ have prescribed indices $I_1,\dots,I_m\in\tfrac14\mathbb{Z}$. If

$$\gcd(I_1,\,\dots,\,I_m) \;=\; \tfrac14$$

then for any target shifts $k_1,\dots,k_{2g}\in\tfrac14\mathbb{Z}$, there is an alternative basis $\delta_1,\dots,\delta_{2g}$ (still cutting $M$ to a disk) with

$$k_{\delta_i}^F \;=\; k_{\gamma_i}^F + k_i \quad\forall\,i.$$

When is the GCD condition met?

  • It suffices to have one cone of index $\pm\tfrac14$ — i.e., a single valence-3 or valence-5 quad vertex.
  • Cross fields optimised for smoothness or curvature alignment essentially always satisfy this.

Consequence

For genus $\neq 1$, a seamless parametrization exists for any holonomy signature satisfying the GCD condition.

For genus 1, the only known counterexample (two cones with angles $\tfrac{3\pi}{2},\tfrac{5\pi}{2}$) is the only obstruction in the class.

Cross-field topology and seamless-map topology nearly coincide — the gap is essentially empty in practice.

Quasi-Additivity & Rerouting Around a Cone

08 / 16
quasi additivity

Two non-intersecting loops $\gamma,\delta$ joined by a path $\alpha$.

rerouting around cone

Rerouting a loop around a cone of index $\tfrac14$ twice — holonomy changes by $\tfrac12$.

Quasi-Additivity (Prop. 1)

If $\alpha$ connects the right side of $\gamma$ to the right side of $\delta$, there is a simple loop $\gamma_0$ — arbitrarily close to $\gamma\cup\alpha\cup\delta$ — with

$$k_{\gamma_0}^F \;=\; k_\gamma^F + k_\delta^F - 1.$$

If $\alpha$ goes left-to-left, the $-1$ becomes $+1$.

Specialisation: rerouting around a cone $v_i$

Take $\delta = \partial v_i^*$ (the cone loop, $k_\delta = 1 - I_{v_i}$). Then

$$k_{\gamma_0}^F \;=\; k_\gamma^F \pm I_{v_i}^F.$$

Sign depends on which side of $\gamma$ the path $\alpha$ comes in from.

Repeated rerouting around chosen cones can shift a loop's holonomy number by any integer combination of cone indices — an Extended Euclidean Algorithm reaches any target if the GCD condition holds.

Algorithmic Pipeline

09 / 16
pipeline

(a) Input signature loops (yellow, green) with cones (red, blue). (b) Equivalent signature after rerouting — yellow takes a different path between cones. (c) Conformal parametrization respecting cones & cut alignment, yielding the prescribed holonomy pattern. (d) Padding makes it seamless. (e) Distortion + cross-field alignment optimisation within the topological class.

Step 1
Field-guided
hole-chain $G$
Step 2
Extract loop
basis $H \subset G$
Step 3
Reroute $H\!\to\!H'$
yield $G'$
Step 4
Cut-aligned
conformal map
Step 5
Padding +
optimisation

Field-Guided Cut Graph & Basis Extraction

10 / 16
hole chain

A hole-chain cut graph. Highlighted in red: a loop making two left turns — its parametrization holonomy number will be $\tfrac24 = \tfrac12$.

Hole-chain cut graph

Built from $g$ non-contractible loops (one per handle) plus $2g-1$ connector paths chaining them. Both are computed on a four-sheeted cover $M_4$ using a cross-field-aligned anisotropic metric [Diaz et al. 2009; Campen 2014].

Why field-guided?

Soft-guidance promotes loops whose left/right-turn balance already matches the field's turning numbers — minimising downstream rerouting.

Homology basis $H$

Take a spanning tree $T$ of $G$. Each of the remaining $2g$ bridge edges defines a unique loop (bridge + tree paths to root). These $2g$ loops form a system of loops.

Crucial fact: each bridge belongs to exactly one basis loop, so we can shift each loop's holonomy independently.

SP holonomy pattern

Along any loop in $G$, the SP method's output has holonomy number $\tfrac14(m_\ell - m_r)$ (left turns minus right turns). Our job is to make this balance equal the target.

Segment Rerouting — Two-Tier Strategy

11 / 16

For each basis loop with current balance $\tfrac14(m_\ell - m_r)$ and target $t$, reroute its bridge segment so that the balance changes by

$$k \;=\; \tfrac14(m_\ell - m_r) - t.$$

Tier 1 — Holonomy-aware Dijkstra

  • Dual shortest path on $M^c$, with edges tagged by the index sum of cones they enclose w.r.t. the bridge segment.
  • Terminates as soon as the enclosed index sum reaches the required holonomy shift.
  • Field-aware costs → usually returns a clean, simple replacement path.
  • May fail (path turns out non-simple after projection) — fall through.

Tier 2 — Constructive fallback

  • Pick a multiset $V$ of cones with index sum $k$ — found by the Extended Euclidean Algorithm under the GCD condition.
  • For each $v^*\in V$, splice the bridge tightly around $v^*$ via the shortest path on the appropriate side.
  • Edge splits ensure the new path stays disjoint from the rest of $G$.
  • Provably succeeds whenever the GCD condition holds.
equivalent signatures

Two different rerouted loop systems for the same prescribed holonomy. The final parametrizations are identical up to a seamless transformation.

Soft-guidance pays off

Because the initial hole-chain is already field-aware, in many cases no rerouting is needed — and when needed, the field-guided Dijkstra resolves most cases without falling back.

Cut-Aligned Conformal Map & Padding

12 / 16

Cut-aligned conformal metric

On the cut mesh $M^c$ we compute a discrete conformal metric with

  • prescribed cone angles at vertices of $C$,
  • prescribed geodesic curvature along the cut $G'$ — segments become straight, branch corners become right angles.

We use the convergent algorithm of Campen et al. 2021 / Gillespie 2021 (the same hyperbolic-Delaunay framework presented in our SIGGRAPH Asia 2021 paper), which gives strict convergence guarantees on these challenging boundary shapes.

Padding

Mate boundary segments are straight and meet at multiples of $\pi/2$, but lengths may differ. Stretch a thin cone-free strip along each segment so that mated segments equalise — provably feasible, preserves seamlessness.

Final optimisation

Projected Newton on cross-field alignment $E_A$ + small symmetric Dirichlet $E_D$ as injectivity barrier; reduced-row-echelon parameterisation of constraints for stability.

padding

Padding in the parameter domain: a thin strip along the top straight cut segment is stretched vertically; vertices then shift horizontally to match their mates across the cut.

Results — Topology Match vs. SP Baseline

13 / 16
comparison

Rows (a, e) SP cut graph  |  Rows (b) SP parametrization.
Rows (c, f) Our rerouted cut graph  |  Rows (d) Our parametrization.
The SP cut graph is topologically wrong relative to the field — its parametrization has high distortion that cannot be optimised away.

Genus-2 Stress Test

14 / 16
two torus

A genus-2 model walked through the rerouting + padding pipeline.

Empirical observations

  • Tested on the standard Myles 2014 dataset (genus $> 0$).
  • Cut-graph stage succeeds in 100% of cases (all satisfy the GCD condition; everything is combinatorial and exact).
  • Field-guided Dijkstra resolves the majority of reroutings; constructive fallback is invoked only occasionally.
  • Final parametrization succeeds in most cases — a handful of high-genus models hit numerical limits in optimisation, not topology.

Headline result

Our parametrizations, by construction, exhibit the cross-field's holonomy signature exactly. The remaining distortion (Table 2 in the paper) is significantly lower than the bare SP method — and the remaining map can be smoothly optimised toward the field, with no topological obstacle in the way.

Contributions

15 / 16

Thank you

Code, data, and additional results accompany the ACM TOG publication.

Hanxiao Shen, Leyi Zhu, Ryan Capouellez, Daniele Panozzo, Marcel Campen, Denis Zorin
ACM Transactions on Graphics (SIGGRAPH), Vol. 41, No. 4, July 2022
DOI 10.1145/3528223.3530187
scroll · ↑↓ · space