This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Octahedral Frames for Feature-Aligned Cross-Fields

Paul Zhang 0000-0003-4136-1315 Massachusetts Institute of Technology77 Massachusetts AvenueCambridgeMA02139USA pzpzpzp1@mit.edu Josh Vekhter University of Texas at AustinAustinTX78712USA josh@cs.utexas.edu Edward Chien Massachusetts Institute of Technology77 Massachusetts AvenueCambridgeMA02139USA eddchien@csail.mit.edu David Bommes University of BernHochschulstrasse 6Bern3012Switzerland david.bommes@inf.unibe.ch Etienne Vouga University of Texas at AustinAustinTX78712USA evouga@cs.utexas.edu  and  Justin Solomon 0000-0002-7701-7586 Massachusetts Institute of Technology77 Massachusetts AvenueCambridgeMA02139USA jsolomon@mit.edu
Abstract.

We present a method for designing smooth cross fields on surfaces that automatically align to sharp features of an underlying geometry. Our approach introduces a novel class of energies based on a representation of cross fields in the spherical harmonic basis. We provide theoretical analysis of these energies in the smooth setting, showing that they penalize deviations from surface creases while otherwise promoting intrinsically smooth fields. We demonstrate the applicability of our method to quad-meshing and include an extensive benchmark comparing our fields to other automatic approaches for generating feature-aligned cross fields on triangle meshes.

discrete differential geometry, geometry processing, total variation, singularities, feature alignment
journal: TOGjournalvolume: 39journalnumber: 3article: 25journalyear: 2020publicationmonth: 4copyright: rightsretainedjournal: TOGjournalyear: 2020journalvolume: 1journalnumber: 1article: 1publicationmonth: 1doi: 10.1145/3374209ccs: Computing methodologies Mesh modelsccs: Computing methodologies Shape analysis
Refer to caption
Figure 1. A variety of feature-aligned cross fields computed using our novel cross field formulation.

1. Introduction

NN-rotationally symmetric (RoSy) tangential vector fields over surfaces are ubiquitous in computer graphics. 2-RoSy fields can be used to generate stripe patterns due to their ambivalence to rotation by π\pi about the normal. 4-RoSy fields (cross fields) are heavily used in both surface parameterization and quadrilateral (quad) meshing, thanks to their symmetry with respect to rotations by π2\frac{\pi}{2} about the surface normal.

Depending on the application, nn-RoSy field design algorithms must trade off between several desirable properties of the field. In almost all cases, nn-RoSy fields are expected to be as smooth as possible. For surfaces with boundary, constraints on how the field aligns to the boundary are common, and for artistic applications, users may wish to prescribe a sparse set of streamlines that the field must follow. For meshing applications, alignment of nn-RoSy fields to salient geometric features is also desirable as a means to identify or preserve mesh detail. Our focus will be on improving this latter aspect for the important case of 44-RoSy fields.

There are two broad strategies for achieving feature alignment. The first is to optimize only for smoothness, under the assumption that a well-chosen functional for measuring cross-field smoothness will automatically penalize fields that fail to align to geometric features. The most commonly-used smoothness functionals (including the Dirichlet energy and its variants) are intrinsic, and recover solutions that are unique only up to rotation [Knöppel et al., 2013]. These are ambivalent to isometric deformations of the surface and ignore extrinsic features such as creased folds.

An alternative strategy is to include energy terms that explicitly enforce alignment to an input guiding field of principal curvature directions during cross-field design [Knöppel et al., 2013; Brandt et al., 2018]. Drawbacks include the difficulty of robustly computing principal curvature directions on noisy meshes, the fact that forcing alignment to a guiding field based on local geometry may exclude cross-field designs that are globally more optimal, and more critically the fact that principal curvature directions are often different from features e.g. Figure 2.

Refer to caption
Refer to caption
Figure 2. Two surfaces (the three-cylinder-intersection and wavy-box) whose maximal curvature directions (blue lines) contradict its feature curves (red lines).

Our main observation is that neither of the above strategies adequately identify those features most important to generating high-quality quad meshes. Often the surface being modelled is constructed from smooth patches that are joined along sharp extrinsic feature curves where the normal direction is discontinuous or changes rapidly. On the one hand, such features are invisible to intrinsic smoothness functionals; on the other, the orientation of the feature curves often contradict that of nearby curvature lines.

Consider the surfaces shown in Figure 2: Neither existing strategy will promote alignment to the features curves shown in red. Both of these shapes are developable away from a sparse set of cone singularities at the corners; the gaussian curvature is nearly zero at creased edges and curved facets, and so purely intrinsic approaches have no hope of aligning to the creases. Augmenting with a guiding field based on extrinsic curvature is counter-productive, as the curvature lines (blue) are not compatible with the surface’s more important crease features curves (red).

We approach feature alignment in a new way, which detects and aligns cross fields to sharp features in a stable fashion. Our method is based on an extrinsic representation of cross fields using spherical harmonic (SH) basis functions. SH functions have been used successfully in volumetric octahedral field problems for hexahedral meshing [Solomon et al., 2017; Huang et al., 2011; Ray et al., 2016], and we argue that this representation is well-suited not only for computing octahedral fields in volumes but also for field computation on surfaces. In particular, we apply an SH representation of octahedral frames, or frames of three orthogonal directions in 3\mathbb{R}^{3}, proposed by Huang et al. [2011]; when one of its directions is constrained to the surface normal, it exhibits the same symmetry as a two-dimensional cross. We use this fact to devise a class of cross field energies that promote intrinsic smoothness in smooth regions of the surface. Over sharp creases, however, our energy aligns the field to the crease direction, achieving automatic feature alignment without the need for explicit computation of extrinsic curvature directions or feature curves.

Contributions

In this work, we

  • introduce spherical harmonic functions for the computation of surface cross fields;

  • propose a family of field smoothness energies whose optima are feature-aligned cross fields;

  • provide a theoretical analysis of the behavior of a few important members of this family; and

  • introduce cross fields with soft normal alignment for increased versatility/robustness.

Our approach is able to extract feature-aligned fields with comparable levels of efficiency to those of purely intrinsic algorithms. We test our algorithm extensively on over 200 different meshes with results in both §6 and in supplementary materials. We leverage our algorithm to produce feature-aligned cross fields and demonstrate their usefulness for quad meshing.

2. Related Work

The generation of tangential nn-RoSy fields over surfaces has many applications in computer graphics ranging from surface BRDF modification [Brandt et al., 2018] to meshing  [Jakob et al., 2015; Bommes et al., 2009] to texture synthesis [Knöppel et al., 2015] and sketch-based modeling [Iarussi et al., 2015; Bessmeltsev and Solomon, 2019]. Surveys of nn-RoSy field design methods are provided in [Vaxman et al., 2016] and [de Goes et al., 2015].

2.1. Cross Field Design

Cross fields (n=4n=4) have been especially well-studied since their π2\frac{\pi}{2}-symmetry allows them to behave like local coordinate systems, resulting in intuitive seamless surface parameterizations.

Methods to compute intrinsically-smooth cross fields with alignment and singularity constraints were studied by Ray et al. [2008], Crane et al. [2010] and Knöppel et al. [2013]. More similar to our work, Jakob et al. [2015] instead formulate an extrinsic smoothness functional on cross fields, in an attempt to automatically align to surface features. Their method penalizes an extrinsic distance between neighboring crosses that does not use a shared tangent space or connection. The resulting energy is non-convex but is minimized to local optimality, often resulting in more singularities than necessary. Huang and Ju [2016] analyze this extrinsic energy, and find that it can be decomposed into an energy expressed in terms of intrinsic twisting and alignment to extrinsic curvature directions. We perform a similar analysis of the energy we introduce in the supplemental documents.

When using cross fields for quad mesh parameterization or processing, methods [Bommes et al., 2009; Campen et al., 2016; Knöppel et al., 2013; Brandt et al., 2018] often promote feature alignment by including a loss term penalizing disagreement with curvature directions. However, as we argue in the introduction and illustrate in Figure 2, alignment to curvature directions is often less important than alignment to sharp creases. Other parameterization methods such as [Bommes et al., 2009; Bommes et al., 2013; Campen et al., 2015] allow feature alignment but just assume that such feature curves are provided as input.

2.2. Octahedral Fields and Volumetric Representations

The three-dimensional generalization of a cross field is an octahedral field. Octahedral fields are often used in volumetric problems like hexahedral meshing [Nieser et al., 2011]. A single octahedral frame consists of three mutually-orthogonal vectors and their negations. Huang et al. [2011] introduced a particularly convenient representation of an octahedral frame as a rotation of the spherical function g(x,y,z):(x,y,z)S2x4+y4+z4g(x,y,z):(x,y,z)\in S^{2}\mapsto x^{4}+y^{4}+z^{4}, encoded by coefficients in the spherical harmonic (SH) basis. Ray et al. [2016] used this representation to generate volumetric normal-aligned octahedral fields, and Solomon et al. [2017] combined the SH representation with the boundary element method to remove the need for a volumetric mesh. Both of these methods use normal-alignment constraints at the surface to enforce alignment of the octahedral frame with the volume’s boundary.

While there is no canonical three-dimensional generalization of arbitrary nn-RoSy fields, the spherical harmonic representation allows for frames that mimic the symmetries of all platonic solids [Shen et al., 2016], including octahedral fields  [Solomon et al., 2017; Liu et al., 2018; Corman and Crane, 2019]. Algebraic characterization of the orbit of g(x,y,z)g(x,y,z) under the space of rotations as a subset of all possible SH coefficients was presented by Palmer et al. [2019] and Chemin et al. [2018].

3. Preliminaries

Since our formulation relies heavily on both the spherical harmonic representation of octahedral frames and vectorial total variation, we present a preliminary introduction to these topics.

3.1. Spherical Harmonic (SH) Octahedral Frames

[Uncaptioned image]

e[v]e^{[v]}\longrightarrow\longrightarrowevLe^{v\cdot L}rotation of octahedral frame

As introduced by Huang et al. [2011], the canonical axis-aligned octahedral frame can be represented by spherical harmonics as a function g0:𝕊2g_{0}:\mathbb{S}^{2}\to\mathbb{R} written as g0=512Y44+712Y40,g_{0}=\sqrt{\frac{5}{12}}Y_{44}+\sqrt{\frac{7}{12}}Y_{40}, where YlmY_{lm} denotes the basis for real spherical harmonics. The function g0g_{0} can be understood as the scaled projection of x4+y4+z4x^{4}+y^{4}+z^{4} onto the fourth band (l=4l=4) of spherical harmonics. Written differently, we can encode g0g_{0} as a vector of coefficients in the full basis of fourth-band spherical harmonics Y4(4),,Y44Y_{4(-4)},\ldots,Y_{44}:

f0=[0,0,0,0,712,0,0,0,512]T.f_{0}=\left[0,0,0,0,\sqrt{\frac{7}{12}},0,0,0,\sqrt{\frac{5}{12}}\right]^{T}.

The space of octahedral frames can be described as all rotations of the canonical octahedral frame, that is, the orbit of f0f_{0} under the group of 3D rotations SO(3)\mathrm{SO}(3) [Palmer et al., 2019, Definition 3.5]. We write this via exponentiation of the Lie algebra elements: the set of octahedral frames is

𝒱={f|there exists v3 with f=evLf0},\mathcal{V}=\left\{f\ \Big{|}\ \textrm{there exists }{v\in\mathbb{R}^{3}}\textrm{ with }f=e^{v\cdot L}f_{0}\right\},

where vL=vxLx+vyLy+vzLzv\cdot L=v_{x}L_{x}+v_{y}L_{y}+v_{z}L_{z} and Lx,Ly,LzL_{x},L_{y},L_{z} are the angular momentum operators expressed in the basis of band-four spherical harmonics. In this basis, Lx,Ly,LzL_{x},L_{y},L_{z} are each 9×99\times 9 matrices. The angular momentum operators are explicitly written in supplementary materials, §4. In this description, vv can be interpreted as an axis-angle representation of rotation, with corresponding rotation matrix e[v]e^{[v]}. [v][v] denotes the skew-symmetric matrix that acts as [v]u=v×u[v]u=v\times u. Accordingly, evLg0e^{v\cdot L}g_{0} encodes the octahedral frame whose directions are x^,y^,z^\hat{x},\hat{y},\hat{z} rotated by e[v]e^{[v]}, where ^\hat{} denotes normalization (see inset above).

Refer to caption ++++==

Figure 3. SH frame as sum of three lobes

Using such SH rotations, we can present an alternative interpretation of the octahedral frame f0f_{0} as the sum of three orthogonal SH lobe-shaped functions. The zz-aligned lobe is l=[0,0,0,0,712,0,0,0,0]l=[0,0,0,0,\sqrt{\frac{7}{12}},0,0,0,0] and is depicted in the inset. Lobes can be rotated in the same way that frames can i.e. by applying evLe^{v\cdot L}. The canonical octahedral frame can therefore be equivalently expressed as f0=l+eπ2Lxl+eπ2Lylf_{0}=l+e^{\frac{\pi}{2}L_{x}}l+e^{\frac{\pi}{2}L_{y}}l.

The space of octahedral frames that are aligned to a unit vector n^\hat{n} can be described by the set

{evnLeθLzf0|θS1},\left\{e^{v_{n}\cdot L}e^{\theta L_{z}}f_{0}\ \Big{|}\ \theta\in S^{1}\right\},

where vnv_{n} is any axis-angle rotation taking z^\hat{z} to n^\hat{n}, (e.g., the vector parallel to z^×n^\hat{z}\times\hat{n} and has magnitude equal to the angle from z^\hat{z} to n^\hat{n}) and θ\theta encodes an additional twist of the frame about n^\hat{n}. The first rotation about z^\hat{z} can be written in explicit form [Huang et al., 2011] as

eθLzf0=[512cos4θ,0,0,0,712,0,0,0,512sin4θ]T.e^{\theta L_{z}}f_{0}=\left[\sqrt{\frac{5}{12}}\;\cos 4\theta,0,0,0,\sqrt{\frac{7}{12}},0,0,0,\sqrt{\frac{5}{12}}\;\sin 4\theta\right]^{T}.

The above allows us to formulate the set of all octahedral frames gg aligned to a given direction n^\hat{n} in terms of two constraints:

(1) f2=1,Wnf=u0=[0,0,0,712,0,0,0]T,\|f\|_{2}=1,\;\;W_{n}f=u_{0}=\left[0,0,0,\sqrt{\frac{7}{12}},0,0,0\right]^{T},

where WnW_{n} is the second through eighth rows of evnLe^{-v_{n}\cdot L}. The linear constraint rotates the frame from normal alignment to z^\hat{z} alignment, and the norm constraint ensures that the first and last components are of the appropriate form.

Lastly, we will make use of the projection operator π𝒱:9𝒱\pi_{\mathcal{V}}:\mathbb{R}^{9}\rightarrow\mathcal{V} onto the space of octahedral frames 𝒱\mathcal{V}, as defined in [Palmer et al., 2019, §5.5].

3.2. Vectorial Total Variation

We will later make use of a total variation energy (amongst others) to analyze the behavior of our cross fields on creased surfaces. Here, we introduce total variation and vectorial total variation definitions in n\mathbb{R}^{n} and provide intuition about their use. The extension to functions on a Riemannian manifold is straightforward, using the standard intrinsic gradient and divergence operators.

The total variation of a differentiable scalar function h:Ωh:\Omega\rightarrow\mathbb{R} is TV[h]=Ωh2𝑑ATV[h]=\int_{\Omega}\|\nabla h\|_{2}~dA where Ωn\Omega\subset\mathbb{R}^{n} [Ambrosio et al., 2000]. For non-differentiable hh, the relevant definition is:

TV[h]=supϕCc1,xϕ(x)21(Ωhϕ𝑑A),TV[h]=\sup_{\phi\in C^{1}_{c},\forall_{x}\|\phi(x)\|_{2}\leq 1}\left(\int_{\Omega}h\nabla\cdot\phi~dA\right),

where Cc1C^{1}_{c} denotes differentiable, compactly-supported vector fields. For smooth hh, equivalence to Ωh\int_{\Omega}\|\nabla h\| follows from integration by parts and Stokes’s theorem. In this case, the maximizing ϕ\phi is h/h\nicefrac{{-\nabla h}}{{\|\nabla h\|}}. If hh is the indicator function of a suitably regular (e.g., non-fractal) subset AΩA\subset\Omega, then TV[h]TV[h] is the perimeter of AA.

When h:Ωmh:\Omega\rightarrow\mathbb{R}^{m} is vector-valued rather than scalar-valued, there are many different definitions for the vectorial total variation VTV[h]VTV[h] [Sapiro, 1996]. We use one proposed by Di Zenzo [1986], which for differentiable hh is given by VTV[h]=ΩhF𝑑AVTV[h]=\int_{\Omega}\|\nabla h\|_{F}~dA, where F\|\cdot\|_{F} is the Frobenius norm. More generally, we can take

(2) VTV[h]=supϕCc1,xϕ(x)F1(i=1mΩhiϕi),VTV[h]=\sup_{\phi\in C^{1}_{c},\forall_{x}\|\phi(x)\|_{F}\leq 1}\left(\sum_{i=1}^{m}\int_{\Omega}h_{i}\nabla\cdot\phi_{i}\right),

where h=(h1,h2,,hm)h=(h_{1},h_{2},\ldots,h_{m}), and ϕ=(ϕ1,ϕ2,ϕm)\phi=(\phi_{1},\phi_{2},\ldots\phi_{m}) is a differentiable, compactly-supported mm-tuple of vector fields. This definition is not equivalent to a sum of mm independent scalar total variations: The constraint on ϕ\phi introduces nontrivial coupling between the dimensions. This definition of total vectorial variation is considered in the case where Ω\Omega is a surface in 3\mathbb{R}^{3} by Bresson and Chan [2008], but without specific analysis for discontinuous hh.

4. Spherical Harmonic Octahedral Frames as Cross Fields

We use normal-aligned octahedral fields to encode tangent cross fields on surfaces, with the goal of computing a smooth cross field on a surface aligned to sharp features. The SH representation will enable us to capture features even when they are purely extrinsic. To this end, our next task is to define a means of measuring smoothness by examining the gradient of a SH field along the surface.

4.1. Derivatives of SH Octahedral Frames

To calculate f2\|\nabla f\|^{2}, we first express it in an appropriate local coordinate system that simplifies the formulas in coordinates and better reveals the structure. Following the notation in §3.1, an octahedral field f(r):Ω𝒱9f(r):\Omega\rightarrow\mathcal{V}\subset\mathbb{R}^{9} can be parameterized relative to a point rr^{*} by v(r):Ω3v(r):\Omega\rightarrow\mathbb{R}^{3}, where v(r)v(r) is the axis-angle rotation from f(r)f(r^{*}) to f(r)f(r). This implies that v(r)=[0,0,0]v(r^{*})=[0,0,0]. Without loss of generality, we rotate the surface so that the normal of Ω\Omega at rr^{*} is z^\hat{z}. We can then compute the gradient f\nabla f at the point rr^{*} from the formula f(r)=ev(r)Lf(r)f(r)=e^{v(r)\cdot L}f(r^{*}):

(3) f(r)|r=[|||Lxf(r)Lyf(r)Lzf(r)|||][|||xvyvzv|||]r.\hskip-10.0pt\begin{aligned} \nabla f(r)|_{r^{*}}=\!\!\begin{bmatrix}|&|&|\\ L_{x}f(r^{*})&\!\!L_{y}f(r^{*})&\!\!L_{z}f(r^{*})\\ |&|&|\end{bmatrix}\begin{bmatrix}|&|&|\\ \nabla_{x}v&\!\!\nabla_{y}v&\!\!\nabla_{z}v\\ |&|&|\end{bmatrix}_{r^{*}}.\end{aligned}

As the field f(r)f(r) encodes an extrinsically embedded frame at each point, we take the gradient \nabla to be the component-wise derivative of the field’s nine scalar functions rather than a covariant or Lie derivative along the surface in order to capture the extrinsic geometry of the surface. We use [Rossmann, 2002, §1.2.5] and the fact that v(r)=[0,0,0]v(r^{*})=[0,0,0] to derive Equation (3).

By combining facts about the SH representation and standard results in differential geometry we show that the squared norm f(r)2\|\nabla f(r)\|^{2} at rr^{*} can then be expressed in the following more intuitive way:

Proposition 4.1.

Let f(r):Ω𝒱9f(r):\Omega\rightarrow\mathcal{V}\subset\mathbb{R}^{9} be a normal-aligned octahedral field over a smooth surface Ω\Omega. Then at every point rΩr^{*}\in\Omega, fF2=k12+k22+w\|\nabla f\|^{2}_{F}=k_{1}^{2}+k_{2}^{2}+w, where k1k_{1} and k2k_{2} are the principal curvatures and ww measures the intrinsic tangential twist of the octahedral field. Using mean and Gauss curvatures HH and KK, we can write fF2=2H2K+w\|\nabla f\|^{2}_{F}=2H^{2}-K+w.

We leave the full proof of this formula to supplementary materials. Proposition 4.1 gives a more intuitive form for Equation (3) and relates the spherical harmonic representation of an octahedral frame to properties of the frame it represents. Most notably, the Dirichlet energy of the SH representation can be effectively decoupled into extrinsic dependence of fF2\|\nabla f\|^{2}_{F} on the surface Ω\Omega and the intrinsic tangential twisting of the normal-aligned octahedral field f(r)f(r). The values of HH and KK simply contribute a fixed quantity depending on Ω\Omega rather than the field. Therefore, the influence of ff on fF2\|\nabla f\|^{2}_{F} is just in ww, the intrinsic twist of the cross field it represents. We stress that this behavior is quite different from the behavior of the component-wise derivative evaluated on vectors, as studied in [Huang and Ju, 2016], where their smoothness energy promotes alignment to extrinsic curvature directions.

4.2. LpL^{p} Smoothness Energy of SH Cross Fields

Suppose we wish to measure smoothness of a normal-aligned octahedral field in the SH representation. We define the following class of convex smoothness energies using the LpL^{p}-norm of fF\|\nabla f\|_{F} over the surface Ω\Omega for p1p\geq 1:

(4) Ep(Ω,f)=(ΩfFp𝑑A)1p.\displaystyle E_{p}(\Omega,f)=\left(\int_{\Omega}\|\nabla f\|^{p}_{F}~dA\right)^{\frac{1}{p}}.

We now analyze the behavior of the EpE_{p} energy for cross fields in several select cases.

4.2.1. Case p=2p=2: Dirichlet Energy

We begin with a common choice in geometry processing when smoothness is desirable: the Dirichlet energy E2E_{2}. Given Proposition 4.1, we can write the Dirichlet energy as Ω2H2K+w\int_{\Omega}2H^{2}-K+w. Since HH and KK are independent of the octahedral field ff, they have no influence over the ff that minimizes E2E_{2}. Therefore on smooth Ω\Omega, we recover intrinsically smooth cross fields.

Since the Dirichlet energy may diverge at singularities [Knöppel et al., 2013], this choice of energy has the theoretical drawback of diverging for all ff in the neighborhood of creases which break octahedral symmetry. In the discretized setting, however, the behavior of E2E_{2} is dependent on mesh resolution and empirically leads to strong feature alignment as demonstrated in §6. It also leads to an easily-solved optimization problem described in §5.2.

4.2.2. Case p=1p=1: Vectorial Total Variation

As noted in the previous section, the conventional means of measuring field smoothness fails to be well-defined for our field representation on creased surfaces. We show here that the E1E_{1} energy is not only finite across sharp edges and around singular points but also provides an intuitive measure of field quality that captures both smoothness and feature alignment. It is also known as the vectorial total variation.

Consider a function f:Ω9f:\Omega\rightarrow\mathbb{R}^{9} that is piecewise smooth on nn closed patches Ωj\Omega_{j} intersecting in a finite-length curve network Γ=k=1sγk\Gamma=\bigcup_{k=1}^{s}\gamma_{k}, where each γk\gamma_{k} is a C1C^{1} curve. Equivalently Γ=j=1nΩj\Gamma=\bigcup_{j=1}^{n}\partial\Omega_{j}, and the vectorial total variation can be decomposed into integrals over each patch and Γ\Gamma.

Proposition 4.2.

For compact Ω\Omega and ff as above, VTV[f]VTV[f] is finite and given by the following equation:

(5) VTV[f]=j=1nΩ̊jfF𝑑A+k=1sγkf+f2𝑑L,\displaystyle VTV[f]=\sum_{j=1}^{n}\int_{\mathring{\Omega}_{j}}\|\nabla f\|_{F}~dA+\sum_{k=1}^{s}\int_{\gamma_{k}}\|f^{+}-f^{-}\|_{2}~dL,

where f+f^{+} and ff^{-} refer to the limiting values of ff on either side of γk\gamma_{k}, and Ω̊j\mathring{\Omega}_{j} denotes the interior of Ωj\Omega_{j}.

The basic argument starts from Equation (2)\eqref{eq:vtv}, splits it into integrals over the patches, applies integration by parts, and utilizes partitions of unity to construct a maximizing sequence of ϕ\phi’s. The full argument is contained in supplementary materials §2. An analogous result, which applies to arbitrary functions on n\mathbb{R}^{n} with bounded variation, is contained in [Ambrosio et al., 2000], with the addition of a third term representing the Cantor part of ff. Since our ff is piecewise smooth, however, we can safely ignore the Cantor part. The second term is often referred to as the jump part in the total variation literature.

The formula (5) provides an intuitive description of the total variation of an octahedral field in the SH basis as a measure of intrinsic smoothness with extra jump terms. Letting ff represent a normal-aligned octahedral field we obtain:

(6) VTV[f]\displaystyle VTV[f] =j=1nΩ̊j2H2K+w𝑑A+k=1sγkf+f2𝑑L\displaystyle=\sum_{j=1}^{n}\int_{\mathring{\Omega}_{j}}\sqrt{2H^{2}-K+w}~dA+\sum_{k=1}^{s}\int_{\gamma_{k}}\left\|f^{+}-f^{-}\right\|_{2}~dL
Generalizing to Creased Surfaces

While the above result is derived for smooth surfaces Ω\Omega and discontinuous ff, we can further generalize the result to a surface Ω\Omega constructed from smooth open patches Ωj\Omega_{j} joined along a network of sharp creases Γ=k=1sγk\Gamma=\bigcup_{k=1}^{s}\gamma_{k}. As there is neither a consistent metric nor a consistent tangent space on Ω\Omega across Γ\Gamma, there is no well-defined choice of gradient. We therefore use equation (6) as the definition for E1E_{1} on such a creased surface. Since ff is a normal-aligned octahedral field, it is necessarily discontinuous across creases, resulting in contributions to the jump term.

The jump f+f2\|f^{+}-f^{-}\|_{2}, where f+f^{+} and ff^{-} represent octahedral frames aligned to different normal directions, is minimized if f+f^{+} and ff^{-} are both aligned to the axis of rotation from one normal to the other. We formalize this property by Proposition 4.3

Refer to caption fϕf_{\phi}^{-}n^\hat{n}^{-}n^+\hat{n}^{+}d^\hat{d}f0+f_{0}^{+}ϕ\phiΩ\Omega^{-}Ω+\Omega^{+}

Figure 4. Octahedral frames near crease
Proposition 4.3.

Let Ω+\Omega^{+} and Ω\Omega^{-} be smooth patches of a surface with normal directions n^+\hat{n}^{+} and n^\hat{n}^{-} that meet at a crease. Let d^\hat{d} denote the intersection of their tangent spaces at the crease. Let fθ+f_{\theta}^{+} and fϕf_{\phi}^{-} be the octahedral frames on either side of the crease aligned to n^+\hat{n}^{+} and n^\hat{n}^{-} respectively. θ\theta and ϕ\phi denote their deviation from alignment to d^\hat{d}. The cost fθ+fϕ2\|f_{\theta}^{+}-f_{\phi}^{-}\|_{2} is minimized by θ=ϕ=0\theta=\phi=0.

Proof of this proposition is left to supplementary materials §3.

The setup is depicted on the right, showing discontinuous normal directions n^+\hat{n}^{+} and n^\hat{n}^{-} as the left and right red arrows respectively. The crease direction d^\hat{d} is shown by the middle red arrow. We emphasize that this proposition implies (locally) crease alignment always minimizes the VTV. We extensively test and show in supplemental materials that this crease alignment tends to globally hold on surfaces with complicated geometry and topology as well.

4.2.3. General p2p\geq 2

By Equation 4, and Proposition 4.1, EpE_{p} incentivizes intrinsic smoothness for all pp on smooth domains. On creased domains, we have demonstrated (local) crease-alignment for the p=1p=1 case. For p2p\geq 2, the value of EpE_{p} diverges for a creased surface. However, we find empirically that minimizing EpE_{p} (by recovering solutions to Equation 7) on a discretized surface leads to stronger feature alignment as pp increases. This behavior may be explained by Proposition 4.3, which affects all edges regardless of pp. The pp simply exponentiates the energy across each edge before accumulating it into the total EpE_{p}. Local to a single edge, the energy-minimizing configuration is unaffected by pp. Based on our experiments, we further conjecture that the sequence of fields obtained by minimizing E2E_{2} on an increasingly dense discrete approximation of Ω\Omega converges to a feature-aligned cross field. This intrinsically smooth feature-alignment is empirically shown in Figure 8. We leave proof of this conjecture to future work.

4.2.4. Relation to Polycube Surfaces

We achieve an additional property for all values of pp through our use of SH octahedral frames. Consider the case of Ω\Omega being a cube: minimizers of EpE_{p} will have zero energy, despite the cube’s sharp corners, since the field’s octahedral symmetry allows it to simultaneously align to all three creases at each corner. Effectively a surface with many angle-π2\frac{\pi}{2} turns and cube-corners can have just as low of an energy as one with no creases at all. More generally, if Ω\Omega is a polycube surface, Ep(Ω,f)=0E_{p}(\Omega,f)=0 by choosing ff to be a facet aligned uniform frame field.

5. Optimizing for an Octahedral Frame Field

Our discussion above provides a new class of energies based on the SH representation of cross fields, which naturally promote both intrinsic smoothness and extrinsic crease alignment without the need for feature curve detection or reliance on potentially noisy local curvature estimates. For this reason, we propose solving the following variational problem to find a cross field ff^{*} over a surface:

(7) f\displaystyle f^{*} =argmin𝑓\displaystyle=\underset{f}{\arg\min} Ep(Ω,f)\displaystyle E_{p}(\Omega,f)
subject to Wn(x)f(x)=u0.\displaystyle W_{n(x)}f(x)=u_{0}.

Recall that the constraint encodes normal alignment of the frame field (see equation (1)). Some past algorithms have an extra f(x)2=1||f(x)||_{2}=1 constraint which results in uniform-scale isotropic octahedral fields over Ω\Omega. This constraint makes the problem nonconvex, and causes the functional to diverge in the neighborhood of field singularities, which are unavoidable on generic surfaces by the Poincaré-Hopf Theorem. Accordingly, a relaxation is naturally required; we drop the constraint f(x)2=1\|f(x)\|_{2}=1, yielding a convex problem with globally-optimal solution. Dropping the f(x)2=1\|f(x)\|_{2}=1 constraint allows the frame’s two tangential components to scale independently from its normal component, resulting in anisotropic octahedral fields. We obtain octahedral fields with uniform-magnitude normal-lobes, and varying scale in the magnitude of the tangential cross field. This relaxation is similar in spirit to the one which appears in [Knöppel et al., 2013] , and has similar benefits, including automatic placement of singularities, and bounded-energy minimizers in the smooth limit (which is necessary in order for the field to be insensitive to the underlying mesh).

5.1. Soft Normal Alignment

It is sometimes beneficial to relax the normal alignment constraint, e.g., in cases where the mesh contains sliver triangles with unstable normal directions. In these cases, a smoother cross field can be obtained by deviating slightly from exact normal alignment. This relaxation changes the optimization problem from Equation (7) into the following:

(8) f\displaystyle f^{*} =argmin𝑓\displaystyle=\underset{f}{\text{argmin}} Ep(Ω,f)\displaystyle E_{p}(\Omega,f)
subject to Wn(x)f(x)u02ϵ.\displaystyle\|W_{n(x)}f(x)-u_{0}\|_{2}\leq\epsilon.

This problem imposes a point-wise normal alignment constraint with tolerance ϵ\epsilon. When ϵ=0\epsilon=0, we recover the hard normal alignment formulation (7). On the opposite side of the spectrum, as ϵu02=712 0.76\epsilon\rightarrow\|u_{0}\|_{2}=\sqrt{\frac{7}{12}}\approx\;0.76, the solution to (8) approaches a constant octahedral field. This is the case where normal alignment has relaxed so far that the octahedral frames are effectively unconstrained.

[Uncaptioned image] Soft normal alignment: ϵ\epsilon

Maximum deviation degree

For values in between we perform the following experiment to obtain a rough correspondence between soft normal alignment parameter ϵ\epsilon and maximum angle deviation from normal alignment: For each value of ϵ\epsilon between 0 and .7.7 (at intervals of .05.05), we sample 100000100000 ϵ\epsilon-perturbations of a z^\hat{z}-aligned frame, extract the frame they represent, and compute its maximum angle deviation from the z^\hat{z}-axis. Results are shown in the inset.

We highlight that this parameter encodes a point-wise constraint uniformly applied over the mesh. As such its interpretation does not change with different meshes. Please see the supplemental materials for results on over 200 different meshes using a variety of values of ϵ\epsilon.

The benefit of soft normal alignment is demonstrated in Figure 5. Due to the influence of a sliver triangle in the buste mesh with unstable normal direction, the hard-normal-aligned cross field is forced to create a localized artifact. By using soft normal alignment, the sliver triangle’s unstable normal direction has less influence over the resulting cross field, therefore increasing the quality of the result. A similar benefit is demonstrated on the duck and armchair meshes shown in the supplementary materials.

Additionally we test soft normal alignment on a cube-mesh with artificial noise added in Figure 7. With hard normal alignment the cross fields exhibit undesirable alignment to noise which increases with pp. With soft-normal alignment, the cross fields show significantly decreased sensitivity to noise.

Refer to caption
(a) hard normal-aligned streamlines
Refer to caption
(b) hard normal-aligned crosses
Refer to caption
(c) mesh normal directions near sliver triangle (zoom ×\times 1)
Refer to caption
(d) soft normal-aligned streamlines
Refer to caption
(e) soft normal-aligned crosses
Refer to caption
(f) mesh normal directions near sliver triangle (zoom ×\times 2)
Figure 5. Soft normal alignment increases quality of the cross field and decreases the influence of mesh artifacts. The buste mesh is shown with p=p=\infty and varying normal alignment: ϵ=0\epsilon=0 for the top figure and ϵ=0.5\epsilon=0.5 on the bottom. (a) Hard normal aligned streamlines; (b) magnified crosses shows a small patch of diagonal crosses in an otherwise regular region; (c) magnified triangle normals visualized with sliver triangle 4611 shaded in blue; (d) soft normal aligned streamlines; (e) magnified crosses no longer shows diagonal artifacts; (f) extra-magnified triangle normals visualized with sliver triangle 4611 shaded in blue. While the normal direction of the region points diagonally up and right, the sliver triangle’s normal direction points almost completely to the right.

5.2. Discretization

Now we describe how to construct smooth cross-fields by numerically optimizing a discretization of EpE_{p}. We assume the surface Ω\Omega has been triangulated into a manifold mesh =(V,E,F)\mathcal{M}=\left(V,E,F\right). Let ntn_{t} be the normal direction of triangle tFt\in F. We represent a cross on MM as a normally-aligned octahedral frame ft𝒱9f_{t}\in\mathcal{V}\subset\mathbb{R}^{9} per triangle. We use the shorthand ff to denote the concatenation of all ftf_{t} into a single 9|F|×19|F|\times 1 vector. VV is a nv×3n_{v}\times 3 matrix of vertex positions, where nvn_{v} is the number of vertices. EE denotes the ne×2n_{e}\times 2 matrix of edges, where nen_{e} is the number of edges. The energy EpE_{p} can be discretized as

(9) Ep=(eEweft1ft22p)1pE_{p}=\left(\sum_{e\in E}w_{e}\|f_{t_{1}}-f_{t_{2}}\|_{2}^{p}\right)^{\frac{1}{p}}

where t1t_{1} and t2t_{2} are triangles adjacent to edge ee, and wew_{e} are weights corresponding to the dual Laplacian. We use we=eew_{e}=\frac{\|e\|}{\|e^{*}\|}, where e\|e\| is the length of edge ee and e\|e^{*}\| is the distance between barycenters of t1t_{1} and t2t_{2}.

For ϵ=0\epsilon=0, the normal alignment constraint is discretized by the linear constraint Wf=uWf=u, where WW is a sparse block-diagonal matrix with a block WntW_{n_{t}} for each triangle. It has dimensions 7|F|×9|F|7|F|\times 9|F|. The vector uu is a repetition of u0u_{0} for each triangle, resulting in a 7|F|×17|F|\times 1 vector. For ϵ>0\epsilon>0, the normal alignment constraint is discretized by a second-order cone constraint: Wntftu02ϵ\|W_{n_{t}}f_{t}-u_{0}\|_{2}\leq\epsilon per triangle.

For the case p=1p=1 and a completely flat surface Ω\Omega, our discretization agrees with the standard discretization of total variation in image processing [Rudin et al., 1992; Chambolle et al., 2010].

5.3. Meshes with Boundary

When the mesh contains boundaries, we do not enforce any boundary conditions; in PDE parlance, this choice corresponds to “natural boundary conditions.” While it is tempting to expect the natural boundary conditions for p=2p=2 to imply zero Neumann boundary conditions [Stein et al., 2018], the SH representation vector is complicated by being constrained to a spatially varying linear subspace. We simply allow the cross on the boundary to be that which minimizes total energy. If desired, one can enforce a constraint that the cross field on the boundary be aligned to the boundary through the method described in §5.4.

5.4. Manual Guidance

To support manual guidance of the octahedral frame field, we can prescribe alignment of the frame field to streamlines. Streamline constraints combined with normal alignment result in a fully-determined frame. Therefore, prescribing streamlines is equivalent to prescribing the value of ftf_{t} on a subset of triangles TpT_{p}. Denote the prescribed octahedral frame on triangle tt as FtF_{t}. We then add a new linear constraint that

(10) tTp,ft=Ft.\forall t\in T_{p},\;\;f_{t}=F_{t}.

This technique is demonstrated in Figure 6.

5.5. Non-Triviality Constraint

As a result of dropping the unit-norm constraint from Equation 7, we have no explicit guarantee that the tangential components of octahedral frames do not degenerate to zero. On a surface with a crease, however, the normal alignment constraint on one side of the crease imposes that the magnitude of the tangential component on the other side of the crease is close to one. As a result, we observe empirically that the vast majority of our octahedral frames do not degenerate.

In the case that octahedral frames do degenerate significantly, their norms can be too small to project robustly. We locate these by using the octahedral projection from [Palmer et al., 2019] to measure the distance from ftf_{t} to the octahedral variety 𝒱\mathcal{V} : d(ft)=π𝒱(ft)ft2d(f_{t})=\|\pi_{\mathcal{V}}(f_{t})-f_{t}\|_{2}, and thresholding by d(ft)>.665d(f_{t})>.665. If such frames are found, we run the optimization again while holding non-degenerate frames to their projected values. In our experiments, just one round of re-solving results in 99.8% non-degenerate frames.

Refer to caption
(a) before
Refer to caption
(b) after
Figure 6. Octahedral fields obtained by minimizing EE_{\infty} on the hand mesh before and after adding manual direction. The manually-added streamline is shown by the inset black arrow. This constraint removes a singularity from the original octahedral field.

5.6. Solving For an Octahedral Field

In its most general form, our problem formulation consists of minimizing a mixed-norm objective, with both linear and second-order cone constraints. This results in a convex problem that we solve with Mosek 9  [ApS, 2017]. The normal alignment constraint becomes [ϵ,(Wntftu0)T]8\left[\epsilon,(W_{n_{t}}f_{t}-u_{0})^{T}\right]\in\mathcal{L}^{8}, where 8\mathcal{L}^{8} is the 8-dimensional Lorentz cone. Likewise, the energy is formulated using a single pp-norm cone. Our code is written in Matlab with a mex interface to Mosek; it builds cross-platform. Since our problem is convex, any dependence on initialization would entirely be due to non-unique solutions, which we do not observe in practice. Furthermore, we use the interior point method, which does not accept manual initialization. In the specific case of ϵ=0,p=2\epsilon=0,p=2, solving this optimization is equivalent to solving a linear system.

6. Results

Refer to caption
(a) p=2,ϵ=0p=2,\epsilon=0
Refer to caption
(b) p=3,ϵ=0p=3,\epsilon=0
Refer to caption
(c) p=6,ϵ=0p=6,\epsilon=0
Refer to caption
(d) p=8,ϵ=0p=8,\epsilon=0
Refer to caption
(e) p=2,ϵ=.2p=2,\epsilon=.2
Refer to caption
(f) p=3,ϵ=.2p=3,\epsilon=.2
Refer to caption
(g) p=6,ϵ=.2p=6,\epsilon=.2
Refer to caption
(h) p=8,ϵ=.2p=8,\epsilon=.2
Refer to caption
(i) p=2,ϵ=.525p=2,\epsilon=.525
Refer to caption
(j) p=3,ϵ=.525p=3,\epsilon=.525
Refer to caption
(k) p=6,ϵ=.525p=6,\epsilon=.525
Refer to caption
(l) p=8,ϵ=.525p=8,\epsilon=.525
Refer to caption
(m) p=2,ϵ=.55p=2,\epsilon=.55
Refer to caption
(n) p=3,ϵ=.55p=3,\epsilon=.55
Refer to caption
(o) p=6,ϵ=.55p=6,\epsilon=.55
Refer to caption
(p) p=8,ϵ=.55p=8,\epsilon=.55
Figure 7. As ϵ\epsilon increases or as pp decreases, the cross fields become less sensitive to noise added to the cube-mesh.

p=2p=2

Refer to caption
Refer to caption
Refer to caption
Refer to caption

p=3p=3

Refer to caption
Refer to caption
Refer to caption
Refer to caption

Meshes

Refer to caption
(a) 100 Triangles
Refer to caption
(b) 400 Triangles
Refer to caption
(c) 2K Triangles
Refer to caption
(d) 4K Triangles
Figure 8. On this developable surface, our cross fields are intrinsically smooth in the limit of refinement, but exhibit some mesh sensitivity on coarse meshes, particularly for higher pp values. They are crease-aligned for all resolutions. Note that the extrinsic curvature of the cylindrical bend has no effect on the cross fields at higher resolutions.
Refer to caption
(a) Fandisk mesh
Refer to caption
(b) p=1p=1
Refer to caption
(c) p=2p=2
Refer to caption
(d) p=p=\infty
Figure 9. Cross fields generated by minimizing EpE_{p} for p=1,2,p=1,2,\infty on the fandisk mesh. The shallow crease of the fandisk mesh is marked in red. Our cross fields naturally align to the shallow crease with increasing strength for higher pp.

We begin with a comparison of the behavior of our energy for different values of pp. This experiment is depicted in Figure 9. We observe that our cross fields naturally align to features with increasing strength for higher pp. In the case p=1p=1, our cross field is discontinuous over all creases, but while it is provably incentivized to align, it sometimes deviates due to the influence of neighboring creases, e.g. on the top surface of the fandisk. For p=2p=2, our cross fields achieve close alignment to the upper half of the shallow crease, as well as alignment on the top face where the p=1p=1 case failed. Finally for p=p=\infty our fields align down the entirety of the shallow crease. While in theory, EpE_{p} for p2p\geq 2 diverges on creases, we observe that its discretization yields empirically strong crease alignment. This may be due to application of Proposition 4.3 over all edges of the mesh. We show our fields for different discretizations of the same geometry in Figure 10 and observe that in all cases, we achieve crease alignment.

Supplementary Materials

In our supplementary document we perform an empirical study to evaluate the performance of our method. We evaluate our method on a number of models drawn from the Thingi10k [Zhou and Jacobson, 2016] dataset, as well as a number of other commonly used benchmark models to demonstrate effective crease alignment on real-world models. We also compare our approach to several baseline methods ([Jakob et al., 2015; Brandt et al., 2018; Knöppel et al., 2013]), by generating fields on the models in the “Robust Field-Aligned Global Parametrization” dataset [Myles et al., 2014], taking care to sample the relevant parameter space for each formulation. While it is difficult to precisely quantify the quality of a vector field, we highlight a number of cases where our method recovers fields which more faithfully conform to mesh features than baseline methods on real-world models.

Our runtimes are shown for a set of meshes with 240 to 76K vertices and 480 to 152K faces in Figure 13. Runtimes naturally increase with mesh size and appear to grow linearly with number of triangles in our mesh test set. Memory costs are incurred to store a WntW_{n_{t}} per triangle, a single u0u_{0}, wew_{e} per edge, and ftf_{t} per triangle. Hence, storage is linear in size of the mesh. More detailed information regarding parameter choices and runtimes is provided in the supplementary materials. Table 1 shows a summary of our runtimes in comparison to that of other methods. Our runtimes are on the same scale as [Knöppel et al., 2013] and to the bases setup step in [Brandt et al., 2018].

Number of Bases Biharmonic Instant Globally Ours
triangles setup solve meshes optimal
3K 5 .005 .026 .85 2.8
12K 24 .005 .053 20.46 15.058
20K 44 .005 .080 21.913 25.895
69K 170 .006 .141 62.733 135.09
80K 181 .006 .222 71.15 112.3
Table 1. Runtimes in seconds for computing cross-fields using different methods on meshes with a varying number of triangles. Methods listed are those of Brandt et al. [2018], Jakob et al. [2015], Knöppel et al. [2013], and our own. Runtimes for fields from [Brandt et al., 2018] are split into time needed for the setup of 500 bases eigenfields and the field computation separately because of drastically differing timescales.
Comparison to Explicit Feature Curves.

Next, we compare our feature-aligned cross fields to those produced with the help of explicitly-computed feature curves. We obtain feature curves on the 1904-triangle Moai mesh from [Gehre et al., 2016, Fig. 9]. We compute a cross field with additional hard constraints as described in §5.4 to enforce alignment to the precomputed feature curves. We compare the resulting field with and without explicit feature-curve alignment in Figure  11. While the feature curves help guide the cross field, just a few artifacts in the computed features drastically influence the resulting cross field to have more singularities and be less smooth without clear benefit. The Moai is shown from an angle where these differences are most pronounced.

Effect of Mesh Resolution on Crease-Alignment vs Extrinsic Curvature.

In this experiment we test on a geometry where a sharp crease is mis-aligned to extrinsic curvature directions. We generate meshes of this geometry at varying resolution to see how crease-alignment interacts with extrinsic curvature. Results of this experiment are depicted in Figure 8. As mesh resolution increases our cross fields become crease-aligned and intrinsically smooth, agreeing with the theory. For very low mesh resolution, the cross fields are more sensitive to the underlying meshing pattern.

Comparison to 3D Octahedral Fields.

Due to similarity of frame representation, we compare our method to surface cross fields obtained by optimizing a volumetric octahedral field. Algorithms like those of [Huang et al., 2011; Ray et al., 2016] can generate surface cross fields by approximating the surface with the limiting behavior of a thin layer of tetrahedra or prism elements. However, prism elements are non-standard and both element types will be poorly conditioned without introducing further restrictions such as zero normal gradient to mimic a triangle mesh. We instead opt to compare with the Boundary Element Method (BEM) [Solomon et al., 2017] which acts directly on surface triangle meshes. We use the 2500 triangle fandisk mesh for this comparison. As observed earlier, our method has increasing feature alignment with increased values of pp. In comparison, Figure 12 shows that the BEM field fully ignores the shallow crease of the fandisk, running through it at a 4545^{\circ} offset. Moreover, despite the fact that the BEM only needs boundary data as input, its runtime is close to 50 times slower than ours.

Refer to caption
(a) 1.3k
Refer to caption
(b) 5.4k
Refer to caption
(c) 21.8k
Refer to caption
(d) 11.6k
Refer to caption
(e) Multires
Figure 10. Cross fields generated by minimizing E2E_{2} on different meshings of the three-cylinder-intersection with number of faces indicated. Cross field (d) is computed on the multi-resolution mesh (e). Notice that we obtain the same feature-aligned cross field each time.
Refer to caption
(a) Moai and explicit feature curves(red edges)
Refer to caption
(b) Explicit Feature Curve Alignment: p=2,ϵ=0p=2,\epsilon=0
Refer to caption
(c) Our method: p=2p=2, ϵ=0\epsilon=0
Figure 11. Comparison of our feature-aligned cross fields to those generated when adding additional explicit feature curve alignment constraints. Explicit feature curves were obtained from [Gehre et al., 2016, Fig. 9] Despite the extra cost of precomputing explicit feature curves, slight artifacts in the feature curves (most pronounced on the side) force the explicitly guided cross field to have lower quality.
Refer to caption
(a) Ours p=2p=2, ϵ=0\epsilon=0: 3.9s
Refer to caption
(b) Ours p=p=\infty, ϵ=0\epsilon=0: 3.5s
Refer to caption
(c) BEM: 161s
Figure 12. Cross field and runtime comparison of our method to a method optimizing volumetric octahedral frames [Solomon et al., 2017]. The fandisk used contains 2.5k triangles.
Challenging Test Cases

We compare feature alignment of our cross fields with that of existing methods on several meshes illustrative examples in Figure 14. As pointed out in the introduction, a key advantage of our technique is that it recovers crease aligned fields on models whose maximal curvature directions disagree with their creases. This occurs naturally when models are specified by the intersections of developable patches, a very common primitive in CAD tools. We introduce two benchmark models for testing crease alignment when creases disagree with intrinsic notions of curvature. The three-cylinder-intersection mesh is composed of 1212 quadrilateral patches where each patch is a subset of a cylinder and has maximal curvature directions making π4\frac{\pi}{4} angles with its boundary creases. The wavey-box example has the same creases as a standard cube, with the modification that each of its faces has a sine wave ripple running diagonally through it. These two cases are shown in Figure 2. The fandisk mesh is another example of a challenging case for feature-alignment due to its shallow crease with strong non-aligning neighboring creases which is representative of one way that such features arise in real-world models.

Our cross fields on these test cases are shown in Figure 14. We observe proper feature alignment in our fields and while other methods can sometimes be tuned per model to achieve the same feature alignment, there is no choice of parameters that worked on all test cases. In particular:

  • fields from [Jakob et al., 2015] are distracted by extrinsic curvature on the three-cylinder-intersection and entirely pave over the shallow crease of the fandisk. Their results on wavey-box, and wedge are successfully aligned to the creases.;

  • fields from [Brandt et al., 2018] are challenging to tune with λ\lambda representing alignment to a guiding extrinsic curvature field. We show their method for the biharmonic energy (m=2m=2) as a point of contrast to Dirichlet energy. We choose two values of λ\lambda, λ=.0001\lambda=-.0001 for slight extrinsic curvature alignment, and λ=.1\lambda=-.1 for stronger extrinsic curvature alignment. Their fields are unable to align to features of the three-cylinder-intersection in both cases, and specifically for λ=.1\lambda=-.1 the field strongly aligns to noise on the flat upper face of the fandisk mesh. Their fields are successfully crease-aligned for the wedge mesh;

  • we compare against both the anti-holomorphic and Dirichlet energies of [Knöppel et al., 2013] with the curvature alignment parameter λ\lambda set to 0.1-0.1. This results in good alignment on the three-cylinder-intersection, but noisy or unaligned fields for the remaining test cases.

In contrast, our method for p=2p=2 achieves feature alignment on all test cases without unnecessary discontinuities in the field over flat faces. We show additional results for over 200 different meshes with both smooth and creased geometries with varying values of pp and ϵ\epsilon in the supplementary materials. The fields are crease-aligned for all creased meshes and are otherwise intrinsically smooth. For comparison, we include fields from [Brandt et al., 2018] and [Knöppel et al., 2013] on a larger range of λ\lambda. We also include fields from [Brandt et al., 2018] for m=1m=1 and fields from [Jakob et al., 2015] in supplementary materials.

Refer to caption

Number of triangles

Time in seconds

Figure 13. Runtimes to compute cross fields over various mesh sizes.
(a) Ours p=2p=2
        
Refer to caption
(b) [Jakob et al., 2015]    
Refer to caption
(c) [Brandt et al., 2018] λ=.1\lambda=-.1 Biharmonic
Refer to caption
(d) [Brandt et al., 2018] λ=.0001\lambda=-.0001 Biharmonic
Refer to caption
(e) [Knöppel et al., 2013] λ=.1\lambda=-.1 A-holomorphic
Refer to caption
(f) [Knöppel et al., 2013] λ=.1\lambda=-.1 Dirichlet
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 14. Various cross field methods compared on several meshes with complex features and geometry. We test on the three-cylinder-intersection, wavey-box, wedge, and fandisk meshes and compare against the following works: [Jakob et al., 2015; Brandt et al., 2018; Knöppel et al., 2013] with various parameters. We use normal aligned octahedral fields generated by minimizing E2E_{2}. We achieve crease-alignment on all test cases where other methods succeed sporadically.
Quad Meshing

Feature alignment is especially important when using cross fields to guide high-fidelity quad meshing. We generate quad meshes using [Campen et al., 2015] to parameterize our cross fields. We compare against a standard quad meshing pipeline using cross fields from [Bommes et al., 2009] and [Campen et al., 2015] for parameterization. We also test against parameterization by [Campen et al., 2016], which introduces extra guidance to encourage extrinsic curvature alignment.

For the fandisk mesh prior methods generate quad meshes that are influenced by the shallow crease, but do not manage to capture it sharply (see Figure 15). We observe that by placing singularities near the shallow crease of the fandisk, our quad meshes manage to align much more sharply. The quad mesh generated by minimizing EE_{\infty} aligns even better than for E2E_{2}.

Refer to caption
(a) E2E_{2}
Refer to caption
(b) EE_{\infty}
Refer to caption
(c) QGP
Refer to caption
(d) Curvature filter
Figure 15. Quad meshes of the fandisk mesh generated using cross fields from E2E_{2}, EE_{\infty}, MIQ + QGP [Campen et al., 2015], and MIQ + Curvature filter [Campen et al., 2016] respectively. Our methods achieve sharp alignment to the shallow crease with increased depth for higher pp. Alternative methods are influenced by the crease only to a shallower extent.

We also compare quad meshes generated from our cross fields against the prior art on the anchor, spot, moomoo, and three-cylinder-intersection meshes. These results are shown in Figure 16. We observe generally better alignment in the quad meshes generated from our method. By placing singularities on the cylindrical region of the anchor, our quad meshing manages to align better to its creases. On the spot mesh we see a straighter connection between the ear and the head. For the three-cylinder-intersection, the quad mesh generated from our fields clearly align better. Since the moomoo is a relatively smooth mesh, we do not see particularly defining differences in quality.

Refer to caption
(a) Anchor Mesh with E2E_{2}
Refer to caption
(b) Anchor Mesh with [Bommes et al., 2009; Campen et al., 2015]
Refer to caption
(c) Spot Mesh with E2E_{2}
Refer to caption
(d) Spot Mesh with [Bommes et al., 2009; Campen et al., 2015]
Refer to caption
(e) Moomoo Mesh with E2E_{2}
Refer to caption
(f) Moomoo Mesh with [Bommes et al., 2009; Campen et al., 2015]
Refer to caption
(g) 3 Cylinder Intersection with E2E_{2}
Refer to caption
(h) 3 Cylinder Intersection with [Bommes et al., 2009; Campen et al., 2015]
Figure 16. Quad meshes of the anchor, spot, moomoo, and three-cylinder-intersection meshes. We compare quad meshes generated using cross fields from our E2E_{2} energy with quad meshes generated through [Campen et al., 2015] and [Bommes et al., 2009]. Our methods achieve sharper feature alignment on the anchor, spot (on the ear), and three-cylinder-intersection meshes.

7. Discussion and Conclusions

Feature alignment is a desirable property in many geometry processing applications. In the context of cross fields and remeshing, we consider features to be creases where the surface changes non-smoothly. Quality of feature detection and alignment can significantly impact quality of the remeshing and the usefulness of the resulting cross fields. While significant effort has been put into extrinsic alignment of cross fields to curvature directions, they are not always appropriate substitutes for crease alignment. By specifically targeting discontinuities of the surface we have created a new class of octahedral frame field energies parameterized by p1p\geq 1 for computing crease-aligned cross fields on surfaces. The resulting fields are intrinsically smooth over smooth surfaces, and can be used for crease-aligned quad meshing. Moreover, alignment is fully automatic and does not rely on explicit extraction of feature curves, itself an open problem and active area of research.

We find the behavior of EpE_{p} for p2p\geq 2 over creases of a discretization to be an interesting point for further exploration since all practical computations on surfaces are necessarily discrete and we observe strong feature alignment, despite the problem being ill-posed in the smooth setting. Theoretical analysis of anisotropic normally-aligned octahedral frame fields combined with Proposition 4.3 may be able to explain this behavior. Since all edges of a mesh are creases of a piecewise linear domain, the behavior of geometry processing algorithms on creased domains merits further study.

There are also further applications of soft-normal-aligned octahedral frame fields. While in this paper we fix ϵ\epsilon as a single parameter per mesh, it could also be defined as a scalar field representing “trust” in the quality of a mesh. It would be interesting to explore a spatially-varying ϵ\epsilon dependent on triangle quality or other metrics in the future. If we treat the mesh itself as variables, soft normal alignment enables a surface flow towards meshes with lower cross-field energy. Our analysis can be further extended to SH representations of nn-RoSy fields or even platonic solid symmetries [Shen et al., 2016]. We also conjecture that with mild assumptions the solution to our problem is unique, but a proof is out of scope for this work; we leave exploration of these ideas to future work.

Even without these extensions, our method provides a practical solution to a challenging problem. By using a new representation of cross fields we achieve crease-aligned cross fields on surfaces.

Acknowledgements.
The authors would like to thank Christopher Brandt for help obtaining comparison fields, Amir Vaxman for support with Directional and rendering, Michal Adamaszek for help debugging Mosek, and David Palmer for discussions and help with his code base. We thank Wenzel Jacob, Keenan Crane, and Qingnan Zhou for their open source code implementations. Finally, we thank Ryan Viertel for many valuable discussions and Panini Pals for the panini press. Paul Zhang acknowledges the generous support of the Department of Energy Computer Science Graduate Fellowship. Etienne Vouga acknowledges the generous support of Adobe, SideFX, and NSF IIS-1910274. David Bommes acknowledges the generous support of the Sponsor European Research Council (ERC) https://erc.europa.eu under the European Union’s Horizon 2020 research and innovation program (AlgoHex, grant agreement no. Grant #853343). Justin Solomon acknowledges the generous support of Sponsor Army Research Office https://www.arl.army.mil/who-we-are/aro/ grant Grant #W911NF-12-R-0011, Sponsor National Science Foundation https://www.nsf.gov grant Grant #IIS-1838071, Sponsor Air Force Office of Scientific Research https://www.wpafb.af.mil/afrl/afosr/ award Grant #FA9550-19-1-0319, and a gift from Adobe Systems. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of these organizations.

References

  • [1]
  • Ambrosio et al. [2000] Luigi Ambrosio, Nicola Fusco, and Diego Pallara. 2000. Functions of bounded variation and free discontinuity problems. Clarendon Press, Oxford ; New York.
  • ApS [2017] MOSEK ApS. 2017. The MOSEK optimization toolbox for MATLAB manual. Version 8.1. http://docs.mosek.com/8.1/toolbox/index.html
  • Bessmeltsev and Solomon [2019] Mikhail Bessmeltsev and Justin Solomon. 2019. Vectorization of line drawings via polyvector fields. ACM Transactions on Graphics (TOG) 38, 1 (2019), 9.
  • Bommes et al. [2013] David Bommes, Marcel Campen, Hans-Christian Ebke, Pierre Alliez, and Leif Kobbelt. 2013. Integer-Grid Maps for Reliable Quad Meshing. ACM Transactions on Graphics 32, 4 (July 2013). https://hal.inria.fr/hal-00862648
  • Bommes et al. [2009] David Bommes, Henrik Zimmer, and Leif Kobbelt. 2009. Mixed-integer quadrangulation. ACM Transactions on Graphics 28, 3 (July 2009), 1. DOI:http://dx.doi.org/10.1145/1531326.1531383 
  • Brandt et al. [2018] Christopher Brandt, Leonardo Scandolo, Elmar Eisemann, and Klaus Hildebrandt. 2018. Modeling n -Symmetry Vector Fields using Higher-Order Energies. ACM Transactions on Graphics 37, 2 (March 2018), 1–18. DOI:http://dx.doi.org/10.1145/3177750 
  • Bresson and Chan [2008] Xavier Bresson and Tony Chan. 2008. Fast dual minimization of the vectorial total variation norm and applications to color image processing. Inverse Problems and Imaging 2, 4 (Nov. 2008), 455–484. DOI:http://dx.doi.org/10.3934/ipi.2008.2.455 
  • Campen et al. [2015] Marcel Campen, David Bommes, and Leif Kobbelt. 2015. Quantized global parametrization. ACM Transactions on Graphics 34, 6 (Oct. 2015), 1–12. DOI:http://dx.doi.org/10.1145/2816795.2818140 
  • Campen et al. [2016] Marcel Campen, Moritz Ibing, Hans-Christian Ebke, Denis Zorin, and Leif Kobbelt. 2016. Scale-Invariant Directional Alignment of Surface Parametrizations. Computer Graphics Forum 35, 5 (Aug. 2016), 1–10. DOI:http://dx.doi.org/10.1111/cgf.12958 
  • Chambolle et al. [2010] Antonin Chambolle, Vicent Caselles, Matteo Novaga, Daniel Cremers, and Thomas Pock. 2010. An introduction to Total Variation for Image Analysis. 9 (2010). DOI:http://dx.doi.org/10.1515/9783110226157.263 
  • Chemin et al. [2018] Alexandre Chemin, François Henrotte, Jean-François Remacle, and Jean Van Schaftingen. 2018. Representing three-dimensional cross fields using 4th order tensors. In 2018. http://arxiv.org/abs/1808.03999 arXiv: 1808.03999.
  • Corman and Crane [2019] Etienne Corman and Keenan Crane. 2019. Symmetric Moving Frames. ACM Trans. Graph. 38, 4, Article Article 87 (July 2019), 16 pages. DOI:http://dx.doi.org/10.1145/3306346.3323029 
  • Crane et al. [2010] Keenan Crane, Mathieu Desbrun, and Peter Schröder. 2010. Trivial Connections on Discrete Surfaces. Computer Graphics Forum 29, 5 (Sept. 2010), 1525–1533. DOI:http://dx.doi.org/10.1111/j.1467-8659.2010.01761.x 
  • de Goes et al. [2015] Fernando de Goes, Mathieu Desbrun, and Yiying Tong. 2015. Vector Field Processing on Triangle Meshes. In SIGGRAPH Asia 2015 Courses (SA ’15). ACM, New York, NY, USA, Article 17, 48 pages. DOI:http://dx.doi.org/10.1145/2818143.2818167 
  • Di Zenzo [1986] Silvano Di Zenzo. 1986. A note on the gradient of a multi-image. Computer Vision, Graphics, and Image Processing 33, 1 (Jan. 1986), 116–125. DOI:http://dx.doi.org/10.1016/0734-189X(86)90223-9 
  • Gehre et al. [2016] Anne Gehre, Isaak Lim, and Leif Kobbelt. 2016. Adapting Feature Curve Networks to a Prescribed Scale. Computer Graphics Forum 35, 2 (May 2016), 319–330. DOI:http://dx.doi.org/10.1111/cgf.12834 
  • Huang et al. [2011] Jin Huang, Yiying Tong, Hongyu Wei, and Hujun Bao. 2011. Boundary aligned smooth 3D cross-frame field. In Proceedings of the 2011 SIGGRAPH Asia Conference on - SA ’11. ACM Press, Hong Kong, China, 1. DOI:http://dx.doi.org/10.1145/2024156.2024177 
  • Huang and Ju [2016] Zhiyang Huang and Tao Ju. 2016. Extrinsically smooth direction fields. Computers & Graphics 58 (Aug. 2016), 109–117. DOI:http://dx.doi.org/10.1016/j.cag.2016.05.015 
  • Iarussi et al. [2015] Emmanuel Iarussi, David Bommes, and Adrien Bousseau. 2015. BendFields: Regularized Curvature Fields from Rough Concept Sketches. ACM Transactions on Graphics 34, 3 (May 2015), 1–16. DOI:http://dx.doi.org/10.1145/2710026 
  • Jakob et al. [2015] Wenzel Jakob, Marco Tarini, Daniele Panozzo, and Olga Sorkine-Hornung. 2015. Instant field-aligned meshes. ACM Transactions on Graphics 34, 6 (Oct. 2015), 1–15. DOI:http://dx.doi.org/10.1145/2816795.2818078 
  • Knöppel et al. [2013] Felix Knöppel, Keenan Crane, Ulrich Pinkall, and Peter Schröder. 2013. Globally optimal direction fields. ACM Transactions on Graphics 32, 4 (July 2013), 1. DOI:http://dx.doi.org/10.1145/2461912.2462005 
  • Knöppel et al. [2015] Felix Knöppel, Keenan Crane, Ulrich Pinkall, and Peter Schröder. 2015. Stripe patterns on surfaces. ACM Transactions on Graphics 34, 4 (July 2015), 39:1–39:11. DOI:http://dx.doi.org/10.1145/2767000 
  • Liu et al. [2018] Heng Liu, Paul Zhang, Edward Chien, Justin Solomon, and David Bommes. 2018. Singularity-constrained octahedral fields for hexahedral meshing. ACM Transactions on Graphics 37, 4 (July 2018), 1–17. DOI:http://dx.doi.org/10.1145/3197517.3201344 
  • Myles et al. [2014] Ashish Myles, Nico Pietroni, and Denis Zorin. 2014. Robust Field-aligned Global Parametrization. ACM Trans. Graph. 33, 4, Article 135 (July 2014), 14 pages. DOI:http://dx.doi.org/10.1145/2601097.2601154 
  • Nieser et al. [2011] M. Nieser, U. Reitebuch, and K. Polthier. 2011. CubeCover- Parameterization of 3D Volumes. Computer Graphics Forum 30, 5 (Aug. 2011), 1397–1406. DOI:http://dx.doi.org/10.1111/j.1467-8659.2011.02014.x 
  • Palmer et al. [2019] David Palmer, David Bommes, and Justin Solomon. 2019. Algebraic Representations for Volumetric Frame Fields. arXiv:1908.05411 (2019).
  • Ray et al. [2016] Nicolas Ray, Dmitry Sokolov, and Bruno Lévy. 2016. Practical 3D frame field generation. ACM Transactions on Graphics 35, 6 (Nov. 2016), 1–9. DOI:http://dx.doi.org/10.1145/2980179.2982408 
  • Ray et al. [2008] Nicolas Ray, Bruno Vallet, Wan Chiu Li, and Bruno Lévy. 2008. N-symmetry Direction Field Design. ACM Trans. Graph. 27, 2, Article 10 (May 2008), 13 pages. DOI:http://dx.doi.org/10.1145/1356682.1356683 
  • Rossmann [2002] Wulf Rossmann. 2002. Lie groups: an introduction through linear groups. (2002).
  • Rudin et al. [1992] Leonid I. Rudin, Stanley Osher, and Emad Fatemi. 1992. Nonlinear total variation based noise removal algorithms. Physica D: Nonlinear Phenomena 60, 1-4 (Nov. 1992), 259–268. DOI:http://dx.doi.org/10.1016/0167-2789(92)90242-F 
  • Sapiro [1996] G. Sapiro. 1996. Vector-valued active contours. In Proceedings CVPR IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE, San Francisco, CA, USA, 680–685. DOI:http://dx.doi.org/10.1109/CVPR.1996.517146 
  • Shen et al. [2016] Zhongwei Shen, Xianzhong Fang, Xinguo Liu, Hujun Bao, and Jin Huang. 2016. Harmonic Functions for Rotational Symmetry Vector Fields. Computer Graphics Forum 35, 7 (Oct. 2016), 507–516. DOI:http://dx.doi.org/10.1111/cgf.13047 
  • Solomon et al. [2017] Justin Solomon, Amir Vaxman, and David Bommes. 2017. Boundary Element Octahedral Fields in Volumes. ACM Transactions on Graphics 36, 3 (May 2017), 1–16. DOI:http://dx.doi.org/10.1145/3065254 
  • Stein et al. [2018] Oded Stein, Eitan Grinspun, Max Wardetzky, and Alec Jacobson. 2018. Natural Boundary Conditions for Smoothing in Geometry Processing. ACM Trans. Graph. 37, 2, Article Article 23 (May 2018), 13 pages. DOI:http://dx.doi.org/10.1145/3186564 
  • Vaxman et al. [2016] Amir Vaxman, Marcel Campen, Olga Diamanti, Daniele Panozzo, David Bommes, Klaus Hildebrandt, and Mirela Ben-Chen. 2016. Directional Field Synthesis, Design, and Processing. (2016), 28.
  • Zhou and Jacobson [2016] Qingnan Zhou and Alec Jacobson. 2016. Thingi10K: A Dataset of 10,000 3D-Printing Models. arXiv preprint arXiv:1605.04797 (2016).