Somigliana Coordinates: an elasticity-derived approach for cage deformation

In this paper, we present a novel cage deformer based on elasticity-derived matrix-valued coordinates. In order to bypass the typical shearing artifacts and lack of volume control of existing cage deformers, we promote a more elastic behavior of the cage deformation by deriving our coordinates from the Somigliana identity, a boundary integral formulation based on the fundamental solution of linear elasticity. Given an initial cage and its deformed pose, the deformation of the cage interior is deduced from these Somigliana coordinates via a corotational scheme, resulting in a matrix-weighted combination of both vertex positions and face normals of the cage. Our deformer thus generalizes Green coordinates, while producing physically-plausible spatial deformations that are invariant under similarity transformations and with interactive bulging control. We demonstrate the efficiency and versatility of our method through a series of examples in 2D and 3D.


INTRODUCTION
Cage deformers are ubiquitously used to generate high-quality spatial deformations driven by the articulation of an enclosing łcagež mesh.The majority of cage deformers are based on precomputed or closed-form generalized barycentric coordinates that interpolate the cage vertices while reproducing affine transformations [Hormann and Sukumar 2017].However, these interpolatory coordinates tend to induce undesirable shearing artifacts.This motivated Lipman et al. [2008] to define the so-called Green coordinates using both cage vertices and normals as a means to favor quasi-conformal maps, thus reducing shearing and leading to better detail preservation.Unfortunately, the quasi-conformality of Green coordinates is notorious for causing significant and undesirable volume scaling, curbing their practical appeal.While subsequent work has partially alleviated these volume changes by combining Green coordinates with distortion minimization [Ben- Chen et al. 2009;Martin et al. 2009], it comes at the cost of iterative global solves, negating the attractive efficiency of cage deformers.
The usual lack of bulging and volume control in cage deformers also conflicts with the common desire to produce physically plausible deformation.For instance, many authors have employed quasi-static elastic simulations to provide more natural poses [McAdams et al. 2011;Smith et al. 2018].However, these approaches are computationally expensive since they require volume discretizations and nonconvex numerical optimizations.Model reduction techniques can accelerate elastic simulations by precomputing deformation modes [Barbič and James 2005] and multi-domain subspaces [Barbič and Zhao 2011] at the cost of increased memory footprint.The boundary element method (BEM) offers instead a surface-only representation to efficiently derive volume deformations of elastic solids [James andPai 1999, 2003], but its use of dense linear solves is incompatible with real-time deformation.Recently, the design of sculpting brushes providing elastic deformation with interactive volume control through regularized Kelvinlets [de Goes and James 2017] has quickly gained popularity [Adobe 2022;Blender 2022], but these deformations are only local and oblivious to boundaries.While this limitation can be alleviated by constraining multiple regularized Kelvinlets, it comes again at the cost of a dense linear solve.
In this work, we introduce new cage coordinates that produce spatial deformation with interactive bulging and volume control.Our method is based on a corotational extension to an integral form of the static solution to the linear elasticity equation over a closed domain.Since this integral formulation is often referred to as the Somigliana identity, we name our new cage coordinates Somigliana coordinates.Our approach leads to a novel set of matrix-valued coordinates that mimic the elasticity response to displacements of the boundary, while still reproducing global similarity transformations.We show that these matrices can be efficiently precomputed from vertices and faces of a cage mesh and rapidly evaluated at arbitrary space locations, thus making our technique free of any volumetric discretization, numerical solve, or large memory footprint.We also exploit local and global geometric estimates based on the rest and posed cages in order to deduce boundary tractions and provide interactive bulging control.As a result, our Somigliana coordinates complement existing elasticity techniques by generating physically-plausible deformations entirely driven by the cage pose.

RELATED WORK
Generating spatial deformations quickly and intuitively has received considerable attention over the past four decades.For conciseness, we now review prior methods that are closely related to ours.
Generalized Barycentric Coordinates.Ever since the work of [Meyer et al. 2002], there has been growing interest in constructing generalizations of Möbius' simplicial barycentric coordinates to polygons and polyhedra for graphics applications [Floater 2015;Hormann and Sukumar 2017].While many coordinates only apply to the restricted case of convex polytopes [Warren et al. 2007;Budninskiy et al. 2016], mean value coordinates are far more versatile since they can be computed in closed-form for cages of arbitrary shape [Floater 2003;Ju et al. 2005;Thiery et al. 2018].Alternative approaches have also been proposed to enforce positive coordinates, hence reducing artifacts near concavities [Joshi et al. 2007;Lipman et al. 2007;Hormann and Sukumar 2008]; but they require either large memory consumption or customized numerical schemes.While generalized barycentric coordinates are interpolatory and affine-invariant by definition, our approach favors non-interpolatory coordinates that offer instead elasticity-derived volume control.
Green coordinates.To remove the usual shearing artifacts of interpolatory methods, Lipman et al. [2008] introduced Green coordinates by combining contributions of both cage vertices and faces.This approach was later extended to quadrangulated cage meshes [Thiery and Boubekeur 2022].The resulting deformations are conformal in 2D and quasi-conformal in 3D and, thus, tend to present unreasonable volume scaling.Subsequent work [Ben-Chen et al. 2009;Martin et al. 2009] have mitigated these volume changes based on distortion optimizations at the cost of added computational complexity.In contrast, we incorporate volume control by deriving new coordinates based on the fundamental solutions of linear elasticity.
Complex Coordinates.As shown in [Weber et al. 2009], Green coordinates in 2D can be expressed as complex-valued coordinates assigned solely to vertex positions of a cage polygon.This complex representation led to a series of planar deformation techniques that account for boundary angle and pointwise constraints as well as bounded distortionÐsee [Weber 2017] and references therein.However, complex coordinates are limited to 2D and thus cannot express the bulging effects exhibited by elastic deformations in 3D.
Elastostatics.Our work draws inspiration from the quasi-static methods for linear elasticity.In [James andPai 1999, 2003] for instance, the boundary element method (BEM) was leveraged to solve the equation of linear elasticity by deducing boundary tractions from surface displacements while avoiding volumetric discretization.However, BEM-based schemes require dense linear solves and repeated matrix updates, hampering their use for real-time editing.A faster alternative is the use of regularized Kelvinlets [de Goes and James 2017], which are sculpting brushes offering local and naturallooking elastic deformation.More recently, regularized Kelvinlets were extended to elasto-dynamics [de Goes and James 2018], sharp falloffs [de Goes and James 2019], and anisotropic materials [Chen and Desbrun 2022].Unfortunately, these sculpting brushes ignore boundaries and, therefore, are poorly adapted to cage-based editing.
As we will show, our approach forms a bridge between prior methods by designing a cage deformer with vertex and face-based coordinates that inherently produce elasticity-derived deformation.

BACKGROUND
We begin the exposition of our contributions by reviewing the basics of linear elastostatics upon which our formulation is built Ð readers can refer to [Slaughter 2012] for more details about linear elasticity.Hereafter, we consider a domain Ω ⊂ R  ( = 2, 3) describing a homogeneous and isotropic elastic material bounded by a piecewisesmooth manifold Ω.By convention, we use  : Ω → R  to denote the outward unit normal field over the domain boundary Ω.

Elastostatics
Equilibrium in linear elasticity is determined by a displacement  : Ω → R  satisfying the Navier-Cauchy equation: where elastic shear modulus  > 0 indicates material stiffness, Poisson ratio  < 1 /2 dictates material compressibility, and  : Ω → R  is the external body load.Given a solution of Eq. (1), we can also quantify the force distribution at any point  ∈ Ω using the Cauchy stress tensor field  : Ω → R  × , which is expressed as A traction vector at a point  ∈ Ω is then obtained by evaluating the stress along any desired direction; in particular, the traction at a boundary point  ∈ Ω is defined via  () =  ()().

Fundamental Solutions
An important special case of Eq. ( 1) is when the domain is unbounded (i.e., Ω ≡ R  ) and is under a body load of the form  () =  ( − 0 ) centered at point  0 ∈ Ω for a given force vector  .The response of Eq. ( 1) to this point load is then  () = K (,  0 ) , where the kernel function K defines the fundamental solution of linear elasticity, also known as the Kelvinlet [Kelvin 1848].Denoting the relative position vector  =  − 0 and its norm  = ∥ ∥, the Kelvinlet solution is a matrix-valued function K : Ω×Ω → R  × expressed as: with coefficients  = 1/ (2  −1 ) and  = /4(1−) which concisely encapsulate the terms dependent on the material parameters  and  in dimension  = 2, 3.
We can also employ Eq. ( 2) to evaluate the traction associated with the Kelvinlet solution, thus defining the traction fundamental solution as a matrix-valued function T : Ω×Ω → R  × written as: Notice that the first terms in Eqs. ( 3) and ( 4) resemble, respectively, the fundamental solution of the Laplacian equation and its normal derivative, but they are now combined with extra terms that control volume compression.Moreover, Eq. ( 3) makes use of both material parameters  and , while Eq. ( 4) depends only on the Poisson ratio , since  gets canceled when multiplied by  or .

Somigliana identity
The fundamental solutions of linear elasticity given by Eqs. ( 3) and ( 4) play a central role in the evaluation of the elastostatic solution over bounded domains.Using the so-called Somigliana identity [Somigliana 1885;Cruse and Suwito 1993], we can express the solution  () of Eq. ( 1) at any point  ∈ Ω in integral form as It is worth pointing out that the first term of Eq. ( 5) is a boundary integral that involves both displacements and traction vectors, while the second term is a volume integral accounting for body loads.Note also that the boundary integral in Eq. ( 5) depends solely on the Poisson ratio , while the stiffness  is simply a global scaling that counteracts the body loads.

OUR CAGE DEFORMER
Equipped with the Somigliana identity, we can now delve into the formulation of our elasticity-derived cage deformer.

Cage Discretization
We discretize the domain Ω as a simplicial mesh (the łcagež) forming a closed triangulated manifold mesh in 3D (or a simple polygon in 2D) with  vertices and  faces (where  =  in 2D).Such a cage mesh can be created manually using typical polygonal modeling tools or automatically [Xian et al. 2012

Somigliana Coordinates
We begin our formulation by noticing that, when considering the interior of cage Ω as an elastic domain, the identity map  () =  is a trivial solution of Eq. (1) in the absence of body load, i.e., when  () = 0.As a result, we can employ the Somigliana identity from Eq. ( 5) to represent any point  inside the cage Ω as a linear combination of boundary points and normals, yielding: where the constant  = 2 [1 + /(1 − 2)] comes from the boundary traction  () given by Eq. ( 2) for  () =  in R  ( = 2, 3).By expanding Eq. ( 6) in terms of cage vertices {  } and normals {  }, we can rewrite the coordinates of any point  inside the cage as with matrix coefficients per cage vertex  and face  defined through Since these matrix functions are derived from the Somigliana identity in Eq. ( 6), we name them Somigliana coordinates.To illustrate their built-in elastic nature, Fig. 3 visualizes in 2D the vector fields (  ()  ,   ()  ⊥ ) and (  ()  ,  ()  ⊥ ) inside a polygonal cage for different Poisson ratios.Notice that these pairs of vector fields clearly exhibit anisotropic falloffs and form smoothly-varying frames oriented towards their respective cage elements, induced by their dependence on the fundamental solution of elastostatics.This should not come as a surprise since these matrix functions are in fact used in BEM to find the internal deformation once all boundary tractions have been computed through a dense linear system (see, e.g., [James andPai 1999, 2003]).
Moreover, by noting that any constant displacement field is a trivial solution of Eq. (1) when  () = 0, we have    () =  for any point  ∈ Ω, thus ensuring that the vertex-based matrices {  } form a partition of unity.With this property, Eq. ( 7) can be rewritten as Therefore, we can interpret the Somigliana coordinates of a rest cage Ω evaluated at any point  ∈ Ω as a balance between the tractions produced by the vectors   −  and the Kelvinlet solution induced by the cage's boundary tractions    .

Cage Deformer via Corotational Formulation
While the Somigliana coordinates in Eqs. ( 8) inherit the local elastic behavior we seek out, their tensorial nature makes them dependent on the global orientation and scaling of the undeformed cage and, consequently, they can not reproduce similarity transformations.
To address this issue, we propose to factor out the rotational component of the cage deformations by adapting the usual corotational formulation of elasticity to Somigliana coordinates.
In addition to the rest and posed cage Ω and Ω, assume for now that a rotation matrix   and a symmetric strain matrix   are given for each cage face  Ð we will detail different options to compute these matrices from the deformed cage later in ğ4.4.From the face rotations, we can deduce a rotation matrix   per cage vertex  by averaging its neighboring face rotations weighted by their areas.
The only condition we impose to the face rotation-strain matrices {  ,   } is that, if the posed cage is a similarity transformation of the rest cage (i.e., Ω =Ω+t with  being a rotation, t a translation, and  a scalar), then   =  ∀ and   =  ∀, i.e., all rotations match and all strains are the same uniform scaling.This condition will guarantee similarity invariance of our cage deformer.
We define the deformed position  of a rest point  ∈ Ω with Somigliana coordinates {  (),   ()} via a corotational extension of Eq. ( 9): where   is the imposed traction of the deformed cage face , leading to the following closed-form update rule: with  () =      ()   .Furthermore, we can expand the corotated traction   in terms of the matrices   and   from each cage face  (see, e.g., [Sifakis and Barbic 2012]), yielding the expression: The strain   associated with cage face  is meant to encode a stretch along the undeformed unit normal   as well as in-plane stretches along the undeformed face.Since tangential stretches contribute to the corotated traction only via the trace of   in Eq. ( 12), we can represent   without loss of generality as where   is the stretch along the rest normal and   is the average in-plane stretch.With this expression for   , Eq. ( 12) simplifies to where we factored out all the elastic material coefficients and strain stretches into a single scalar   for legibility.Observe that the traction vector is, up to a scaling factor, the rotated rest normal, which may be different than the normal of the posed cage depending on our choice of rotation   .This difference will allow a greater space of possible deformations as we will see in ğ4.4.Also notice that, because of our assumption on the cage rotations and strains in the case of a similarity transformation between rest and posed cages, the expression of our elasticity-derived deformer in Eq. ( 11) guarantees similarity invariance, an important property to have in order to ensure an intuitive behavior of the resulting deformation.

Setting Rotations and Stretches
Now that we have derived our cage deformation, we describe next how to compute, for every cage face , a rotation   as well as tangential and normal stretches (  ,   ) that define a strain matrix   in order to complete the construction of our cage deformer.The choice of these degrees of freedom is crucial to the look and feel of the resulting cage deformer.While one could explore various deformation effects by tweaking these values, we only discuss two representative variants (one local, one global) which offer complementary benefits.
Global variant.Arguably the simplest choice for face rotations is through a registration process [Umeyama 1991] that returns the optimal similarity transformation mapping the rest cage to the posed cage in the least-squares sense.From the resulting global rotation  and global scaling , we then set every cage face  with rotation   =  and tangential stretch   = .This approach is inspired by the type of surface tractions that BEM (e.g., [James and Pai 1999]) generates from displacements, which do not exhibit significant change in both orientation and magnitude under small to moderate deformations.Our use of a global registration can thus be seen as a rough approximation of the BEM deformation, but without any expensive linear solve.
Local variant.In contrast to the global approach, we can create more localized deformation by setting   as the rotation between the rest and deformed cage face .Similarly, a per-face tangential stretch can be derived in 3D by computing the two singular values of the linear map between the rest and posed cage face  and setting   to their average Ð in 2D, we simply assign   to the length ratio between the rest and posed edge .
Normal stretch.Once either the local or the global variant has been selected, we still need to choose the stretch   along the normal direction of each cage face .However, there is technically no information on how to set this value based simply on the shapes of the rest and posed cage unless we include application-specific requirements.For instance, Lipman et al. [2008] advocated for   =  so as to ensure (quasi-)conformal deformations.Since our goal is to resemble elastic deformations, we consider the normal stretch as a łknobž to offer bulging control for the cage deformer.More concretely, we draw inspiration from the observation that a swelling deformation of a surface patch broadens the range of its normal field, while a contraction narrows it.Therefore, we estimate the local bulging amount   of a cage face  by measuring the difference between two solid angles: the one spanned by the incident vertex normals on the deformed cage face and the one computed on the rest face, with vertex normals evaluated by averaging the area-weighted normals of the incident faces.We then set the normal stretch as   =  exp(   /(2  −1 )), where  is a global user parameter that controls the bulging scale while the denominator normalizes the solid angle difference.Note that this normal stretch maintains the Finally, we found useful to add a post-optimization of the traction scaling values   from Eq. ( 14) to avoid a possible łfloatingž effect of with without the deformation in case of large cage displacements or large bulging scales (see inset).Since linear elasticity expects a zero sum of internal forces, we alter boundary tractions by finding new traction scaling values  ′  so that the sum of each corotated cage traction   weighted by its respective cage face area   (or length in 2D) is zero.This correction, which again does not affect similarity invariance, is found via the following constrained least-square minimization: which is efficiently performed through the Schur complement by solving a small  × linear system.

Discussion
Our cage deformer has a number of unusual properties that deserve mentioning.First, it uses vertex and normal coordinates to generate non-interpolatory deformation, a property shared in 3D only with Green coordinates thus far [Lipman et al. 2008].Second, our coordinates are derived from an integral of the fundamental solution of elasticity over a bounded domain, unlike the Kelvinlets of de Goes and James [2017] which disregard all boundary terms.Third, the actual deformation induced by our cage deformer involves matrixvalued coefficients, thus leading to greater expressiveness.Finally, our contribution offers interactive volume and bulging control by simply adjusting the normal stretch, which is a unique feature.
It also bears discussing our two variants for setting rotation and stretches, since they have their own benefits and flaws.In our experiments (see for instance Figs. 4 and 10), the local approach appeared more łlivelyž creating results reminiscent of squash and stretch deformations due to its purely local nature.However, it may cause fold-overs in the cage interior more often, and its deformation is also more sensitive to the triangulation of the cage mesh.Conversely, the global approach partially dampens the deformation, thus offering more robust and physically-plausible results under large cage displacements.Although our two variants already offer a richer gamut of deformation and control compared to previous work, other alternatives could be easily devised; e.g., Fig. 4 shows how simply linearly blending rotations and stretches provides a middle ground between our two variants.Even bulging control could be handled via different estimates based on specific applications, e.g., we could measure the łswept volumež formed by a cage face between its rest and posed positions.Finally, we point out that our formulation offers volume control of the cage deformer in two complementary ways: the Poisson ratio  affects both the precomputation of the matrix-valued coordinates in Eqs. ( 8) and the corotated traction in Eq. ( 12) to imbue the deformer with global compressibility, while the bulging parameter  is used only at runtime in the normal stretch   to control local shape swelling.

RESULTS
In this section, we provide further details about our implementation, show shape editing examples generated by our cage deformer, and discuss these results compared to existing cage deformers.Our source code is available at https://gitlab.inria.fr/geomerix/public/somi-cage.
Implementation.Given a query point  inside the rest cage Ω, we evaluate its associated Somigliana coordinates by expressing Eqs. ( 8) as a sum of integrals over cage triangles.Although simple closedform formulas are available in 2D, it becomes far more difficult in 3D.We thus turn to quadrature rules to evaluate these integrals on each triangle, as detailed in Sec.A of the supplemental material.In our implementation, we simply subdivide each triangle into three quads and apply standard Gauss-Legendre quadratures on each of them (see inset).By default, we take 128 quadratures for each edge in 2D and 7500 for each triangle in 3D.In Fig. 6, we plot the partition of unity residual caused by approximating   (), confirming its rapid improvement as we increase quadrature count; we found in our tests that a residual below 10 −2 results in visually artifact-free deformations.We implemented our 3D version using CUDA on a Geforce RTX 3060 GPU to benefit from massive parallelism.While our use of a non-adaptive scheme is less efficient than more advanced quadratures, our precomputation timings are around 1.5 for the 39 FireHydrant mesh of Fig. 6, which is comparable to recent quadrature-based deformers such as [Thiery et al. 2018].Once the Somigliana coordinates are built, generating our cage deformation is real-time, taking only 24 for the same FireHydrant mesh for instance.
Bulging and volume control.The ease with which a model will experience volume change during a cage deformation is controlled by the Poisson ratio .  3) and the two matrix parts of Eq. ( 4); we then cheaply reassemble the matrix coordinates when  changes.To control the propensity for the cage deformation to bulge out locally, one can act instead on the bulging scale : Fig. 5 compares the intuitive effect of this value on a 2D and a 3D cage example.
Comparisons.For the unphysical case of infinite Poisson ratio ( = ±∞), our 2D Somigliana coordinates match exactly the Green coordinates of [Lipman et al. 2008] and the complex Cauchy-Green coordinates of [Weber et al. 2009] when no bulging factor ( = 0) is used Ð see Fig. 7 (top) for a visual confirmation and Sec.B of the supplemental material for a proof; but this is no longer true in 3D and our cage deformer behaves quite differently from all previous works.In Fig. 11, we provide additional comparisons of 3D cage deformations generated by Mean Value, Green, or Somigliana coordinates.Notice that, for physically realistic Poisson ratios 0 ≤ < 1 /2, our results differ significantly from other coordinates by exhibiting compensatory bulging with a magnitude dependent on  Ð for instance, see WireSphere or Botijo models.Fig. 10 shows 2D examples instead, where again the elastic behavior of our coordinates is clear in comparison to Mean Value or Green coordinates.For completeness, we also compare our method with the real-time deformer of James [2020] that tetrahedralizes the cage and computes an embedded Phong deformation.Since this approach is only  0 continuous across tetrahedra, it suffers from non-smooth artifacts which remain visible even if a finer cage is used, as seen in Fig. 8. Limitations.At this point, it should be explicitly stated that our Somigliana coordinates are not generating deformation satisfying elastostatics from Eq. (1).While small to moderate displacements of the cage vertices may capture deformations very much in line with elastostatics simulation by its very foundations (see Fig. 9), Somigliana coordinates are only derived from Eq. ( 1), very much like Green coordinates were derived from the Laplace equation.They are, in a sense, infused with the elasticity solutions, hence their useful bulging and volume behavior during cage editing.Additionally, our approach relies on quadrature evaluations as simple closed-form  expressions are currently not known in 3D, although this is hardly a limitation in practice Ð in fact, our use of quadratures prevents the few numerical singularities (e.g., division by zero) that the analytical formula from [Lipman et al. 2008] generates.When a large bulging factor  is used, our cage deformer may also exhibit a lack of  = 44 symmetry induced by its dependence on the mesh connectivity of the cage (see inset), which is a common limitation for prior work too as addressed in [Thiery et al. 2018;Thiery and Boubekeur 2022].One might explore approaches that are less sensitive to mesh connectivity, based for instance on the aforementioned łswept volumež enclosed between rest and deformed facets.Finally, our results may contain, like most existing cage deformers, fold-overs Ð especially for the local variant with large Poisson ratio.

CONCLUSION
In this paper, we introduced a novel cage deformer based on vertex and normal matrix-valued coordinates.Due to their derivation from an integral form of fundamental solutions to elastostatics, we showed that the resulting cage deformations capture the typical local bulging and volume changes expected from elasticity.As a result, our cage deformer significantly increases the space of plausible deformations that an artist can control via cage editing.
For future work, we can tackle a variety of desirable improvements or extensions.For instance, finding simple closed-form expressions for our 3D Somigliana coordinates or an adaptive strategy for quadratures based on near-or far-field evaluations are likely to improve computational efficiency.One could also extend our approach to quad or tri-quad meshes to offer more symmetric deformation in the spirit of [Thiery et al. 2018;Thiery and Boubekeur 2022].Finally, vertex and normal coordinates, be they scalar or matrix-valued, remain vastly unexplored, so we hope that our work will spark further exploration, based on other linear operators for instance.

SIGGRAPH ' 23 Fig. 1 .
Fig. 1.Somigliana coordinates.Given an initial cage (top inset) and its deformed pose, our novel cage deformer promotes a more elastic behavior of the cage deformation than previous works by leveraging an elasticityderived matrix-weighted combination of both vertex positions and face normals of the cage.A Poisson ratio  and bulging scale  can be adjusted to offer control over local and global volume change.

Fig. 2 .
Fig. 2. Extreme face lift.For a simple rest cage enclosing a face mesh (top left), the same posed cage can produce a diverse set of results depending on the user-selected combination of Poisson ratio  and bulging scale  of our cage deformer Ð here using the global variant.

𝐾Fig. 3 .
Fig. 3. Visualizing 2D kernels   &   .We visualize these two elastostatic kernels via the vector fields obtained by multiplying the edge-based matrix function   ( ) (resp., the vertex-based matrix function   ( )) by the normal   of its associated cage edge (resp., the normal   of its associated cage vertex) and its 90 • rotation, for two different Poisson ratios.Colors indicate magnitude, while directions of the vector fields are conveyed via particle tracing, exhibiting clear differences depending on compressibility.

Fig. 4 .
Fig. 4. Global vs. local variant.On a 2D Star mesh (top, with  = 0.38) and a 3D FireHydrant mesh (bottom, with  = 0.3), we compare the global vs. local choice of boundary conditions (rotations and stretches) when no bulging is requested ( = 0).One can easily create in-between deformation by simply averaging the boundary conditions.similarity invariance property by construction since one gets   = 0 and thus   =  if rest and posed cages are the same up to a similarity transformation.Fig. 5 compares the resulting bulging effects for a range of values of  in 2D and 3D.

Fig. 5 .
Fig. 5. Bulging control.By varying  , one changes the amount of bulging created by our cage deformer (here, using the global variant and  = 0).

Fig. 7 .
Fig. 6.Quadrature evaluation.On the FireHydrant mesh, for instance, the time complexity of computing Somigliana coordinates based on the rest cage is roughly linear in the number of quadrature points per cage face.Failure to satisfy partition of unity measures the numerical accuracy of our quadrature evaluation, which decreases quickly with the number of quadrature points, with no noticeable artifacts for errors below 10 −2 .input GC Ours Figs. 1 and 2 show how changing the Poisson ratio value affects deformation.Note that we prevent a recomputation of both   () and   () each time the user changes  by storing the    part of Eq. (

Fig. 8 .
Fig.8. ∞ smoothness.While a Phong deformer[James 2020] can also provide real-time deformation of a model with a coarse (left) or fine (right) cage, its  0 continuity across internal tetrahedra induces severe visual artifacts.Our cage deformer (here, using the local variant and  = 0) does not require an internal 3D tesselation and guarantees a smooth embedding.

Fig. 10 .
Fig. 10.2D comparisons.We compare Mean Value (MVC [Floater 2003]), Green (GC [Lipman et al. 2008]), and global & local Somigliana coordinates for a deformed hexagonal (top) and an L-shaped cage (bottom), for  = 2, and  = 0.1.The global variant shows a more muted deformation than the local one, but both exhibit an expected elastic deformation.