Ellipsoidal Density-Equalizing Map for Genus-0 Closed Surfaces

Zhiyuan Lyu Department of Mathematics, The Chinese University of Hong Kong ([email protected]).    Lok Ming Lui Department of Mathematics, The Chinese University of Hong Kong ([email protected]).    Gary P. T. Choi Department of Mathematics, The Chinese University of Hong Kong ([email protected]).
Abstract

Surface parameterization is a fundamental task in geometry processing and plays an important role in many science and engineering applications. In recent years, the density-equalizing map, a shape deformation technique based on the physical principle of density diffusion, has been utilized for the parameterization of simply connected and multiply connected open surfaces. More recently, a spherical density-equalizing mapping method has been developed for the parameterization of genus-0 closed surfaces. However, for genus-0 closed surfaces with extreme geometry, using a spherical domain for the parameterization may induce large geometric distortion. In this work, we develop a novel method for computing density-equalizing maps of genus-0 closed surfaces onto an ellipsoidal domain. This allows us to achieve ellipsoidal area-preserving parameterizations and ellipsoidal parameterizations with controlled area change. We further propose an energy minimization approach that combines density-equalizing maps and quasi-conformal maps, which allows us to produce ellipsoidal density-equalizing quasi-conformal maps for achieving a balance between density-equalization and quasi-conformality. Using our proposed methods, we can significantly improve the performance of surface remeshing for genus-0 closed surfaces. Experimental results on a large variety of genus-0 closed surfaces are presented to demonstrate the effectiveness of our proposed methods.

1 Introduction

Surface parameterization is the process of mapping a complicated surface onto a simpler domain. It is closely related to many tasks in geometry processing including surface registration, texture mapping, surface remeshing, and shape analysis. In recent decades, numerous efforts have been devoted to the development of efficient surface parameterization algorithms with different desired properties [1, 2, 3, 4] for various science and engineering applications.

As genus-0 closed surfaces are topologically equivalent to a sphere, most prior works have focused on the problem of parameterizing genus-0 closed surfaces onto the unit sphere. For conformal parameterization, a vast number of spherical conformal parameterization methods have been developed over the past few decades based on linearization [5], harmonic energy minimization [6], Ricci flow [7], conformal curvature flow [8], quasi-conformal theory [9], partial welding [10] and Dirichlet energy minimization [11]. For area-preserving parameterization, the theory and computation of optimal mass transportation (OMT) have been extensively studied [12, 13]. Based on OMT, some area-preserving parameterization methods for genus-0 closed surfaces have been developed [14, 15, 16, 17]. Besides the above-mentioned conformal and area-preserving methods, some other prior works have also developed spherical parameterization algorithms with different mapping criteria [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]. While there is a topological equivalence between genus-0 closed surfaces and the sphere, the geometric difference between them may be large. For instance, mapping a genus-0 closed surface with an elongated shape to a sphere may induce large geometric distortion. Therefore, a few recent studies have focused on ellipsoidal parameterizations [29, 30, 31], in which an ellipsoid is used as the parameter domain for parameterizing genus-0 closed surfaces.

Density-equalizing maps [32] are a class of mappings with shape deformation produced based on prescribed density distribution. More specifically, given a planar domain with a density distribution prescribed in it, a density-equalizing map will deform the domain with the high-density regions enlarged and the low-density regions shrunk. Over the past few decades, density-equalizing maps have been widely used in cartogram creation and data visualization [33]. Also, different variants and improved algorithms have been developed [34, 35, 36]. Choi and Rycroft [37] developed a novel method for computing surface density-equalizing maps and demonstrated its effectiveness in surface parameterization for simply connected open surfaces. Later, the method was extended for other mapping problems for simply connected open surfaces [38, 39, 40] and volumetric domains [41] with applications to medical visualization and shape modeling. Lyu et al. [42] developed a surface parameterization method for multiply connected open surfaces by combining density-equalizing maps and quasi-conformal maps. More recently, they have developed spherical density-equalizing mapping methods for genus-0 closed surfaces [43]. Using their methods, spherical area-preserving parameterizations and spherical parameterizations with controlled area change can be achieved. However, as mentioned above, mapping genus-0 closed surfaces with extreme geometry onto a spherical domain may induce large geometric distortion. For instance, the spherical area-preserving parameterization of an elongated surface may possess low area distortion but extremely high angular distortion, which is undesirable for many practical applications.

Motivated by the above works, here we develop a novel method for computing ellipsoidal density-equalizing maps for genus-0 closed surfaces in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. Specifically, given a genus-0 closed surface, we compute density-equalizing maps onto ellipsoidal domains with different prescribed radii based on a density distribution encoding the desired mapping effect (Fig. 1(a)). This allows us to easily achieve ellipsoidal area-preserving parameterizations and ellipsoidal parameterizations with controlled area change. We then further propose an algorithm for computing ellipsoidal density-equalizing quasi-conformal maps, which combines density-equalizing maps and quasi-conformal maps to achieve a balance between area and angle distortions. Moreover, throughout the algorithm, we can optimize the shape of the target ellipsoidal domain to further reduce overall geometric distortion (Fig. 1(b)). This provides us with an effective and automatic way of representing any genus-0 closed surface by an optimal ellipsoid. We apply our proposed methods for surface remeshing of genus-0 closed surfaces and demonstrate the improvement over prior approaches via various examples.

The organization of this paper is as follows. In Section 2, we introduce the mathematical background of our work. In Section 3, we describe our proposed methods for computing ellipsoidal density-equalizing maps (EDEM) and ellipsoidal density-equalizing quasi-conformal maps (EDEQ). In Section 4, we present experimental results of our proposed methods on various genus-0 closed surfaces. In Section 5, we describe the application of our proposed methods to genus-0 surface remeshing. Finally, in Section 6, we conclude this paper and discuss possible future works.

Refer to caption
Figure 1: An illustration of the proposed ellipsoidal density-equalizing mapping method (EDEM) and ellipsoidal density-equalizing quasi-conformal mapping method (EDEQ). (a) Given any input genus-0 closed surface, we can apply the proposed EDEM method to compute ellipsoidal density-equalizing maps to ellipsoidal domains with different prescribed elliptic radii. (b) Given any input genus-0 closed surface (top left), we can start with an initial spherical parameterization (top right) and then apply the proposed EDEQ method to simultaneously optimize the elliptic radii of the domain and the mapping onto it, thereby achieving an ellipsoidal density-equalizing quasi-conformal map with minimal geometric distortions (bottom).

2 Mathematical background

Our proposed methods are primarily based on the theory of density-equalizing maps and quasi-conformal geometry. The relevant concepts are introduced in this section.

2.1 Density-equalizing maps

Gastner and Newmann [32] proposed a method for computing the density-equalizing maps for 2D planar domains based on the principle of density diffusion. Given a positive density function ρ𝜌\rhoitalic_ρ defined on the planar domain, the method produces shape deformation following the density gradient. More specifically, note that the advection equation is given by

ρt=𝐣,𝜌𝑡𝐣\frac{\partial\rho}{\partial t}=-\nabla\cdot\mathbf{j},divide start_ARG ∂ italic_ρ end_ARG start_ARG ∂ italic_t end_ARG = - ∇ ⋅ bold_j , (1)

where 𝐣=ρ𝐣𝜌\mathbf{j}=-\nabla\rhobold_j = - ∇ italic_ρ is the density flux by Fick’s law. This gives the diffusion equation

ρt=Δρ.𝜌𝑡Δ𝜌\frac{\partial\rho}{\partial t}=\Delta\rho.divide start_ARG ∂ italic_ρ end_ARG start_ARG ∂ italic_t end_ARG = roman_Δ italic_ρ . (2)

Now, since the flux 𝐣𝐣\mathbf{j}bold_j can be expressed as 𝐣=ρ𝐯𝐣𝜌𝐯\mathbf{j}=\rho\mathbf{v}bold_j = italic_ρ bold_v, where 𝐯𝐯\mathbf{v}bold_v is the velocity field, we have

𝐯=𝐣ρ=ρρ.𝐯𝐣𝜌𝜌𝜌\mathbf{v}=\frac{\mathbf{j}}{\rho}=-\frac{\nabla\rho}{\rho}.bold_v = divide start_ARG bold_j end_ARG start_ARG italic_ρ end_ARG = - divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG . (3)

Therefore, the position of any tracer particle 𝐫𝐫\mathbf{r}bold_r at time t𝑡titalic_t can be traced by:

𝐫(t)=𝐫(0)+0t𝐯(𝐫,τ)dτ.𝐫𝑡𝐫0subscriptsuperscript𝑡0𝐯𝐫𝜏differential-d𝜏\mathbf{r}(t)=\mathbf{r}(0)+\int^{t}_{0}\mathbf{v}(\mathbf{r},\tau)\mathrm{d% \tau}.bold_r ( italic_t ) = bold_r ( 0 ) + ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_v ( bold_r , italic_τ ) roman_d italic_τ . (4)

where 𝐫(0)𝐫0\mathbf{r}(0)bold_r ( 0 ) is the initial position. Taking the time t𝑡t\to\inftyitalic_t → ∞, the density ρ𝜌\rhoitalic_ρ will be fully equalized on the entire domain, and the resulting shape deformation is a density-equalizing map. In particular, as the shape deformation is induced by the density diffusion process, it is easy to see that high-density regions will be enlarged throughout the process and low-density regions will be shrunk (see Fig. 2 for an illustration).

Refer to caption
Figure 2: An illustration of density-equalizing maps. The density flow enlarges the regions with high density and shrinks the regions with low density.

The above density-equalizing mapping method has been widely applied to cartogram creation and sociological data visualization. Specifically, the input density ρ𝜌\rhoitalic_ρ is commonly defined as some prescribed quantity (known as the “population”) per unit area, where the “population” can either be the actual population of a certain region on the geographical map, the average income of a region, or any other sociological data to be visualized.

In recent years, the density-equalizing mapping method has been further introduced to the field of surface parameterization. In particular, Choi et al. [37, 38] proposed methods for computing the density-equalizing maps for simply connected open surfaces in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. Lyu et al. [42] developed parameterization methods for multiply connected open surfaces based on density-equalizing maps. More recently, Lyu et al. [43] developed a method for computing spherical density-equalizing maps for genus-0 closed surfaces.

2.2 Quasi-conformal theory

It is well-known that conformal maps [44] are angle-preserving. Intuitively, they map infinitesimal circles to infinitesimal circles. Quasi-conformal maps [45, 46] are a generalization of conformal maps taking infinitesimal circles to infinitesimal ellipses with bounded eccentricity. Mathematically, a quasi-conformal map f:¯¯:𝑓¯¯f:\overline{\mathbb{C}}\rightarrow\overline{\mathbb{C}}italic_f : over¯ start_ARG blackboard_C end_ARG → over¯ start_ARG blackboard_C end_ARG satisfies the Beltrami equation:

fz¯=μ(z)fz𝑓¯𝑧𝜇𝑧𝑓𝑧\frac{\partial f}{\partial\bar{z}}=\mu(z)\frac{\partial f}{\partial z}divide start_ARG ∂ italic_f end_ARG start_ARG ∂ over¯ start_ARG italic_z end_ARG end_ARG = italic_μ ( italic_z ) divide start_ARG ∂ italic_f end_ARG start_ARG ∂ italic_z end_ARG (5)

for some complex-valued function μ𝜇\muitalic_μ satisfying μ<1subscriptnorm𝜇1\|\mu\|_{\infty}<1∥ italic_μ ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT < 1. Here, μ𝜇\muitalic_μ is called the Beltrami coefficient, which encodes important information about the conformal distortion of the map f𝑓fitalic_f. Specifically, f𝑓fitalic_f is a conformal map if and only if μ=0𝜇0\mu=0italic_μ = 0, as Eq. (5) becomes the Cauchy–Riemann equation. Intuitively, around a point z0subscript𝑧0z_{0}\in\mathbb{C}italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ blackboard_C, the first order approximation of f𝑓fitalic_f can be expressed as:

f(z)f(z0)+fz(z0)(zz0)+fz¯(z0)(zz0)¯=f(z0)+fz(z0)(zz0+μ(z0)(zz0)¯).𝑓𝑧𝑓subscript𝑧0subscript𝑓𝑧subscript𝑧0𝑧subscript𝑧0subscript𝑓¯𝑧subscript𝑧0¯𝑧subscript𝑧0𝑓subscript𝑧0subscript𝑓𝑧subscript𝑧0𝑧subscript𝑧0𝜇subscript𝑧0¯𝑧subscript𝑧0f(z)\approx f(z_{0})+f_{z}(z_{0})(z-z_{0})+f_{\bar{z}}(z_{0})\overline{(z-z_{0% })}=f(z_{0})+f_{z}(z_{0})(z-z_{0}+\mu(z_{0})\overline{(z-z_{0})}).italic_f ( italic_z ) ≈ italic_f ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ( italic_z - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + italic_f start_POSTSUBSCRIPT over¯ start_ARG italic_z end_ARG end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) over¯ start_ARG ( italic_z - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) end_ARG = italic_f ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ( italic_z - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_μ ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) over¯ start_ARG ( italic_z - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) end_ARG ) . (6)

The above approximation suggests that f𝑓fitalic_f maps an infinitesimal circle centered at z0subscript𝑧0z_{0}italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to an infinitesimal ellipse centered at f(z0)𝑓subscript𝑧0f(z_{0})italic_f ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ). Additionally, we can determine the angles and scaling factors of the maximal magnification and maximal shrinkage using μ𝜇\muitalic_μ (see Fig. 3). More specifically, the angle of maximal magnification is given by arg(μ(z0))/2arg𝜇subscript𝑧02\operatorname{arg}(\mu(z_{0}))/2roman_arg ( italic_μ ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ) / 2, with the magnifying factor |fz(z0)|(1+|μ(z0)|)subscript𝑓𝑧subscript𝑧01𝜇subscript𝑧0|f_{z}(z_{0})|(1+|\mu(z_{0})|)| italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | ( 1 + | italic_μ ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | ). Also, the angle of maximal shrinkage is given by (arg(μ(z0))+π)/2arg𝜇subscript𝑧0𝜋2(\operatorname{arg}(\mu(z_{0}))+\pi)/2( roman_arg ( italic_μ ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ) + italic_π ) / 2, with the shrinking factor |fz(z0)(|1|μ(z0)|)|f_{z}(z_{0})(|1-|\mu(z_{0})|)| italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ( | 1 - | italic_μ ( italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | ). The maximal dilation of f𝑓fitalic_f is K(f)=1+μ1μ𝐾𝑓1subscriptnorm𝜇1subscriptnorm𝜇K(f)=\frac{1+\|\mu\|_{\infty}}{1-\|\mu\|_{\infty}}italic_K ( italic_f ) = divide start_ARG 1 + ∥ italic_μ ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT end_ARG start_ARG 1 - ∥ italic_μ ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT end_ARG.

Besides encoding important geometric information about the associated quasi-conformal map, the Beltrami coefficient is also related to the bijectivity of the mapping [45, 46]:

𝐓𝐡𝐞𝐨𝐫𝐞𝐦𝐓𝐡𝐞𝐨𝐫𝐞𝐦\mathbf{Theorem}bold_Theorem 2.1.

If f𝑓fitalic_f is a C1superscript𝐶1C^{1}italic_C start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT mapping satisfying μf<1subscriptnormsubscript𝜇𝑓1\|\mu_{f}\|_{\infty}<1∥ italic_μ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT < 1, then f𝑓fitalic_f is bijective.

Refer to caption
Figure 3: An illustration of quasi-conformal maps. The Beltrami coefficient determines the conformality distortions

Moreover, the Beltrami coefficient of a composition of two quasi-conformal maps can be expressed in the following way. Let f,g:¯¯:𝑓𝑔¯¯f,g:\overline{\mathbb{C}}\rightarrow\overline{\mathbb{C}}italic_f , italic_g : over¯ start_ARG blackboard_C end_ARG → over¯ start_ARG blackboard_C end_ARG be two quasi-conformal maps with Beltrami coefficient μfsubscript𝜇𝑓\mu_{f}italic_μ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT and μgsubscript𝜇𝑔\mu_{g}italic_μ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT, respectively. The Beltrami coefficient of the composition map gf𝑔𝑓g\circ fitalic_g ∘ italic_f is given by

μgf=μf+(μgf)τ1+μf¯(μgf)τ,subscript𝜇𝑔𝑓subscript𝜇𝑓subscript𝜇𝑔𝑓𝜏1¯subscript𝜇𝑓subscript𝜇𝑔𝑓𝜏\mu_{g\circ f}=\dfrac{\mu_{f}+(\mu_{g}\circ f)\tau}{1+\overline{\mu_{f}}(\mu_{% g}\circ f)\tau},italic_μ start_POSTSUBSCRIPT italic_g ∘ italic_f end_POSTSUBSCRIPT = divide start_ARG italic_μ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT + ( italic_μ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ∘ italic_f ) italic_τ end_ARG start_ARG 1 + over¯ start_ARG italic_μ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT end_ARG ( italic_μ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ∘ italic_f ) italic_τ end_ARG , (7)

where τ=fz¯/fz𝜏¯subscript𝑓𝑧subscript𝑓𝑧\tau=\overline{f_{z}}/f_{z}italic_τ = over¯ start_ARG italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_ARG / italic_f start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT. In particular, if g𝑔gitalic_g is a conformal map, then μgf=μfsubscript𝜇𝑔𝑓subscript𝜇𝑓\mu_{g\circ f}=\mu_{f}italic_μ start_POSTSUBSCRIPT italic_g ∘ italic_f end_POSTSUBSCRIPT = italic_μ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. In other words, composing a conformal map with a given quasi-conformal map will not change its Beltrami coefficient.

Lui et al. [47] proposed an algorithm called Linear Beltrami Solver (LBS) for efficiently reconstructing a quasi-conformal mapping based on a given Beltrami coefficient μ𝜇\muitalic_μ. Specifically, for any given μ=ρ+iτ𝜇𝜌𝑖𝜏\mu=\rho+i\tauitalic_μ = italic_ρ + italic_i italic_τ, the corresponding quasi-conformal map f=u+iv𝑓𝑢𝑖𝑣f=u+ivitalic_f = italic_u + italic_i italic_v can be computed by solving the following equations:

{(Au)=0(Av)=0cases𝐴𝑢0𝐴𝑣0\left\{\begin{array}[]{l}\nabla\cdot(A\nabla u)=0\\ \nabla\cdot(A\nabla v)=0\end{array}\right.{ start_ARRAY start_ROW start_CELL ∇ ⋅ ( italic_A ∇ italic_u ) = 0 end_CELL end_ROW start_ROW start_CELL ∇ ⋅ ( italic_A ∇ italic_v ) = 0 end_CELL end_ROW end_ARRAY (8)

where A=(α1α2α2α3)𝐴subscript𝛼1subscript𝛼2subscript𝛼2subscript𝛼3A=\left(\begin{array}[]{cc}\alpha_{1}&\alpha_{2}\\ \alpha_{2}&\alpha_{3}\end{array}\right)italic_A = ( start_ARRAY start_ROW start_CELL italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL start_CELL italic_α start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ) with

α1=(ρ1)2+τ21ρ2τ2α2=2τ1ρ2τ2,α3=1+2ρ+ρ2+τ21ρ2τ2.formulae-sequencesubscript𝛼1superscript𝜌12superscript𝜏21superscript𝜌2superscript𝜏2formulae-sequencesubscript𝛼22𝜏1superscript𝜌2superscript𝜏2subscript𝛼312𝜌superscript𝜌2superscript𝜏21superscript𝜌2superscript𝜏2\alpha_{1}=\frac{(\rho-1)^{2}+\tau^{2}}{1-\rho^{2}-\tau^{2}}\ \ \alpha_{2}=-% \frac{2\tau}{1-\rho^{2}-\tau^{2}},\ \ \alpha_{3}=\frac{1+2\rho+\rho^{2}+\tau^{% 2}}{1-\rho^{2}-\tau^{2}}.italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = divide start_ARG ( italic_ρ - 1 ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 1 - italic_ρ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = - divide start_ARG 2 italic_τ end_ARG start_ARG 1 - italic_ρ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG , italic_α start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = divide start_ARG 1 + 2 italic_ρ + italic_ρ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 1 - italic_ρ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG . (9)

In the discrete case, Eq. (8) becomes two sparse symmetric positive definite linear systems and can be easily solved numerically. In the following, we denote the above method for reconstructing a quasi-conformal map f𝑓fitalic_f from a Beltrami coefficient μ𝜇\muitalic_μ by f=LBS(μ)𝑓LBS𝜇f=\textbf{LBS}(\mu)italic_f = LBS ( italic_μ ).

3 Proposed methods

In this section, we first propose a novel algorithm for computing ellipsoidal density-equalizing maps (abbreviated as EDEM) of genus-0 closed surfaces onto a prescribed ellipsoid. Next, we propose another algorithm for computing ellipsoidal density-equalizing quasi-conformal maps (abbreviated as EDEQ), which allows us to simultaneously optimize the shape of the ellipsoidal domain and the mapping onto it to achieve minimal geometric distortions.

3.1 Ellipsoidal density-equalizing map (EDEM)

Consider a given genus-0 closed surface \mathcal{M}caligraphic_M in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT discretized as a triangle mesh (𝒱,,)𝒱\left(\mathcal{V},\mathcal{E},\mathcal{F}\right)( caligraphic_V , caligraphic_E , caligraphic_F ), where 𝒱𝒱\mathcal{V}caligraphic_V is the set of vertices, \mathcal{E}caligraphic_E is the set of edges, and \mathcal{F}caligraphic_F is the set of triangle faces. Our goal is to compute a bijective ellipsoidal density-equalizing map f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\rightarrow\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, where a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT is a prescribed ellipsoid with elliptic radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c:

a,b,c={(x,y,z)3:x2a2+y2b2+z2c2=1}.subscript𝑎𝑏𝑐conditional-set𝑥𝑦𝑧superscript3superscript𝑥2superscript𝑎2superscript𝑦2superscript𝑏2superscript𝑧2superscript𝑐21\mathcal{E}_{a,b,c}=\left\{(x,y,z)\in\mathbb{R}^{3}:\ \frac{x^{2}}{a^{2}}+% \frac{y^{2}}{b^{2}}+\frac{z^{2}}{c^{2}}=1\right\}.caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT = { ( italic_x , italic_y , italic_z ) ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT : divide start_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_z start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG = 1 } . (10)

Here, the density ρ𝜌\rhoitalic_ρ involved in the density-equalizing mapping method will be defined by some prescribed positive quantity (denoted as the “population”) per unit area. By changing the “population”, we can easily control the shape deformation and achieve different desired parameterization results.

3.1.1 Initial ellipsoidal parameterization

First, we compute an initial ellipsoidal conformal parameterization f0:a,b,c:subscript𝑓0subscript𝑎𝑏𝑐f_{0}:\mathcal{M}\rightarrow\mathcal{E}_{a,b,c}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.

To accomplish this, we apply the Fast Ellipsoidal Conformal Mapping (FECM) method [30], which is an efficient algorithm for computing an ellipsoidal conformal parameterization by leveraging quasi-conformal theory. Initially, the input genus-0 closed surface \mathcal{M}caligraphic_M is conformally mapped to the unit sphere 𝕊2superscript𝕊2\mathbb{S}^{2}blackboard_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Then, the FECM method maps the sphere onto the complex plane using the stereographic projection, followed by a Möbius transformation step that maps two desired polar points of \mathcal{M}caligraphic_M to 00 and \infty, respectively. However, it is important to note that the stereographic projection may lead to an uneven distribution of points. To address this issue, the FECM method incorporates an additional rescaling step to enhance the distribution of points.

Next, the FECM method looks for an inverse projection that maps the planar domain to the target ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT conformally. It is worth noting that while one can extend the ordinally stereographic projection and its inverse to the ellipsoidal case, the inverse ellipsoidal stereographic projection is not inherently conformal. Therefore, by utilizing the idea of quasi-conformal composition, the FECM method identifies a suitable additional quasi-conformal map on the plane and composes it with the inverse ellipsoidal stereographic projection to form a conformal map from the plane to the ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.

Finally, by combining all of the above-mentioned mappings, the FECM method produces an ellipsoidal conformal parameterization f0:a,b,c:subscript𝑓0subscript𝑎𝑏𝑐f_{0}:\mathcal{M}\rightarrow\mathcal{E}_{a,b,c}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT. Readers are referred to [30] for more details.

3.1.2 Density-equalizing map on ellipsoid

After obtaining an initial ellipsoidal parameterization, we handle the subsequent shape deformation problem on the ellipsoidal domain a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.

We define the initial density ρ𝜌\rhoitalic_ρ as the “population” per unit area, where the “population” is some prescribed positive quantity defined everywhere on the ellipsoid. In the following, we propose an iterative scheme for computing ellipsoidal density-equalizing maps on a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, with the bijectivity of the mappings enforced. As the density diffusion process is time-dependent, here we denote the position of a vertex 𝐫𝐫\mathbf{r}bold_r on a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT at time t𝑡titalic_t as 𝐫(t)𝐫𝑡\mathbf{r}(t)bold_r ( italic_t ). The initial position of 𝐫𝐫\mathbf{r}bold_r is represented as 𝐫(0)𝐫0\mathbf{r}(0)bold_r ( 0 ).

Analogous to the original density-equalizing mapping formulation [32], the diffusion equation of ρ𝜌\rhoitalic_ρ on the ellipsoid is given by:

ρ(𝐫(t),t)t=Δρ(𝐫(t),t),𝜌𝐫𝑡𝑡𝑡Δ𝜌𝐫𝑡𝑡\frac{\partial\rho(\mathbf{r}(t),t)}{\partial t}=\Delta\rho(\mathbf{r}(t),t),divide start_ARG ∂ italic_ρ ( bold_r ( italic_t ) , italic_t ) end_ARG start_ARG ∂ italic_t end_ARG = roman_Δ italic_ρ ( bold_r ( italic_t ) , italic_t ) , (11)

where ΔΔ\Deltaroman_Δ is the Laplace–Beltrami operator. The velocity field induced by the density gradient on the ellipsoid is given by

v(𝐫(t),t)=ρ(𝐫(t),t)ρ(𝐫(t),t).v𝐫𝑡𝑡𝜌𝐫𝑡𝑡𝜌𝐫𝑡𝑡\mathrm{v}(\mathbf{r}(t),t)=-\frac{\nabla\rho(\mathbf{r}(t),t)}{\rho(\mathbf{r% }(t),t)}.roman_v ( bold_r ( italic_t ) , italic_t ) = - divide start_ARG ∇ italic_ρ ( bold_r ( italic_t ) , italic_t ) end_ARG start_ARG italic_ρ ( bold_r ( italic_t ) , italic_t ) end_ARG . (12)

Then, the position of any vertex on the ellipsoid can be computed using the following equation:

𝐫(t)=𝐫(0)+0tv(𝐫(τ),τ)𝑑τ.𝐫𝑡𝐫0subscriptsuperscript𝑡0𝑣𝐫𝜏𝜏differential-d𝜏\mathbf{r}(t)=\mathbf{r}(0)+\int^{t}_{0}v(\mathbf{r}(\tau),\tau)d\tau.bold_r ( italic_t ) = bold_r ( 0 ) + ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_v ( bold_r ( italic_τ ) , italic_τ ) italic_d italic_τ . (13)

As time progresses towards infinity (t𝑡t\rightarrow\inftyitalic_t → ∞), the density is equalized and we obtain the desired ellipsoidal density-equalizing map.

Note that in the discrete case, the initial density ρ𝜌\rhoitalic_ρ needs to be discretized on the ellipsoidal triangle mesh. Here, we first define the initial density ρ0(T)=PopulationArea(T)subscriptsuperscript𝜌0𝑇PopulationArea𝑇\rho^{0}_{\mathcal{F}}(T)=\frac{\text{Population}}{\text{Area}(T)}italic_ρ start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) = divide start_ARG Population end_ARG start_ARG Area ( italic_T ) end_ARG on every triangular face T𝑇Titalic_T on the ellipsoid. The subsequent iterative process involves updating the positions of all vertices {ri(tn)}isubscriptsubscriptr𝑖subscript𝑡𝑛𝑖\left\{\mathrm{r}_{i}(t_{n})\right\}_{i}{ roman_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) } start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, where i=1,2,,|𝒱|𝑖12𝒱i=1,2,\dots,|\mathcal{V}|italic_i = 1 , 2 , … , | caligraphic_V | and at different time points tnsubscript𝑡𝑛t_{n}italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, where n=1,2,𝑛12n=1,2,\dotsitalic_n = 1 , 2 , … with the time step size δt=tn+1tn𝛿𝑡subscript𝑡𝑛1subscript𝑡𝑛\delta t=t_{n+1}-t_{n}italic_δ italic_t = italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT - italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. In addition to the face density ρnsubscriptsuperscript𝜌𝑛\rho^{n}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT, we also denote the vertex density as ρ𝒱nsubscriptsuperscript𝜌𝑛𝒱\rho^{n}_{\mathcal{V}}italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT. Note that ρ𝒱nsubscriptsuperscript𝜌𝑛𝒱\rho^{n}_{\mathcal{V}}italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT can be obtained from ρnsubscriptsuperscript𝜌𝑛\rho^{n}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT by a simple formula [37]:

ρ𝒱n=Mρn,subscriptsuperscript𝜌𝑛𝒱𝑀subscriptsuperscript𝜌𝑛\rho^{n}_{\mathcal{V}}=M\rho^{n}_{\mathcal{F}},italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT = italic_M italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT , (14)

where M𝑀Mitalic_M is a |𝒱|×||𝒱|\mathcal{V}|\times|\mathcal{F}|| caligraphic_V | × | caligraphic_F | face-to-vertex conversion matrix such that:

Mij={Area(Tj)TN(𝐫i)Area(T) if Tj is incident to 𝐫i,0 otherwise.subscript𝑀𝑖𝑗casesAreasubscript𝑇𝑗subscript𝑇superscript𝑁subscript𝐫𝑖Area𝑇 if Tj is incident to 𝐫i0 otherwise.\displaystyle M_{ij}=\left\{\begin{array}[]{ll}\frac{\text{Area}(T_{j})}{\sum_% {T\in N^{\mathcal{F}}(\mathbf{r}_{i})}\text{Area}(T)}&\text{ if $T_{j}$ is % incident to $\mathbf{r}_{i}$},\\ 0&\text{ otherwise.}\end{array}\right.italic_M start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = { start_ARRAY start_ROW start_CELL divide start_ARG Area ( italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_T ∈ italic_N start_POSTSUPERSCRIPT caligraphic_F end_POSTSUPERSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT Area ( italic_T ) end_ARG end_CELL start_CELL if italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is incident to bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL otherwise. end_CELL end_ROW end_ARRAY (15)

Here, N(𝐫i)superscript𝑁subscript𝐫𝑖N^{\mathcal{F}}(\mathbf{r}_{i})italic_N start_POSTSUPERSCRIPT caligraphic_F end_POSTSUPERSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is the 1-ring neighborhood of the vertex 𝐫isubscript𝐫𝑖\mathbf{r}_{i}bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

Now, to solve Eq. (11) in the discrete case, note that the Laplace-Beltrami operator ΔnsubscriptΔ𝑛\Delta_{n}roman_Δ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT at the n𝑛nitalic_n-th iteration can be discretized as:

Δn=An1Ln.subscriptΔ𝑛subscriptsuperscript𝐴1𝑛subscript𝐿𝑛\Delta_{n}=-A^{-1}_{n}L_{n}.roman_Δ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = - italic_A start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT . (16)

Here, Ansubscript𝐴𝑛A_{n}italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is a diagonal matrix (known as the lumped mass matrix) of size |𝒱|×|𝒱|𝒱𝒱|\mathcal{V}|\times|\mathcal{V}|| caligraphic_V | × | caligraphic_V | given by:

(An)ii=13[𝐫i,𝐫j,𝐫k]N(𝐫i)Area([𝐫i(tn),𝐫j(tn),𝐫k(tn)]),subscriptsubscript𝐴𝑛𝑖𝑖13subscriptsubscript𝐫𝑖subscript𝐫𝑗subscript𝐫𝑘superscript𝑁subscript𝐫𝑖Areasubscript𝐫𝑖subscript𝑡𝑛subscript𝐫𝑗subscript𝑡𝑛subscript𝐫𝑘subscript𝑡𝑛(A_{n})_{ii}=\frac{1}{3}\sum_{[\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}]% \in N^{\mathcal{F}}(\mathbf{r}_{i})}\text{Area}\left([\mathbf{r}_{i}(t_{n}),% \mathbf{r}_{j}(t_{n}),\mathbf{r}_{k}(t_{n})]\right),( italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_i italic_i end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG 3 end_ARG ∑ start_POSTSUBSCRIPT [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] ∈ italic_N start_POSTSUPERSCRIPT caligraphic_F end_POSTSUPERSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT Area ( [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ] ) , (17)

where [𝐫i,𝐫j,𝐫k]subscript𝐫𝑖subscript𝐫𝑗subscript𝐫𝑘[\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}][ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] is a triangle in N(𝐫i)superscript𝑁subscript𝐫𝑖N^{\mathcal{F}}(\mathbf{r}_{i})italic_N start_POSTSUPERSCRIPT caligraphic_F end_POSTSUPERSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). It is worth noting that every element of the lumped mass matrix Ansubscript𝐴𝑛A_{n}italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the area sum of the 1-ring neighborhood of the corresponding vertex at t=tn𝑡subscript𝑡𝑛t=t_{n}italic_t = italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. The matrix Lnsubscript𝐿𝑛L_{n}italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is a |𝒱|×|𝒱|𝒱𝒱|\mathcal{V}|\times|\mathcal{V}|| caligraphic_V | × | caligraphic_V | symmetric sparse matrix with cotangent weights [48]:

(Ln)ij={12(cotαij+cotβij) if [𝐫i,𝐫j],ki(Ln)ik if j=i,0 otherwise,subscriptsubscript𝐿𝑛𝑖𝑗cases12subscript𝛼𝑖𝑗subscript𝛽𝑖𝑗 if subscript𝐫𝑖subscript𝐫𝑗subscript𝑘𝑖subscriptsubscript𝐿𝑛𝑖𝑘 if 𝑗𝑖0 otherwise,\displaystyle(L_{n})_{ij}=\left\{\begin{array}[]{ll}-\frac{1}{2}(\cot\alpha_{% ij}+\cot\beta_{ij})&\text{ if }[\mathbf{r}_{i},\mathbf{r}_{j}]\in\mathcal{E},% \\ -\sum_{k\neq i}(L_{n})_{ik}&\text{ if }j=i,\\ 0&\text{ otherwise,}\end{array}\right.( italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = { start_ARRAY start_ROW start_CELL - divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( roman_cot italic_α start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT + roman_cot italic_β start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ) end_CELL start_CELL if [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ] ∈ caligraphic_E , end_CELL end_ROW start_ROW start_CELL - ∑ start_POSTSUBSCRIPT italic_k ≠ italic_i end_POSTSUBSCRIPT ( italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_i italic_k end_POSTSUBSCRIPT end_CELL start_CELL if italic_j = italic_i , end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL otherwise, end_CELL end_ROW end_ARRAY (18)

where αijsubscript𝛼𝑖𝑗\alpha_{ij}italic_α start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and βijsubscript𝛽𝑖𝑗\beta_{ij}italic_β start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are the two angles opposite to the edge [𝐫i,𝐫j]subscript𝐫𝑖subscript𝐫𝑗[\mathbf{r}_{i},\mathbf{r}_{j}][ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ]. Now, Eq. (11) can be solved using the semi-discrete backward Euler method:

ρ𝒱n+1ρ𝒱nδt=Δnρ𝒱n+1,subscriptsuperscript𝜌𝑛1𝒱subscriptsuperscript𝜌𝑛𝒱𝛿𝑡subscriptΔ𝑛subscriptsuperscript𝜌𝑛1𝒱\frac{\rho^{n+1}_{\mathcal{V}}-\rho^{n}_{\mathcal{V}}}{\delta t}=\Delta_{n}% \rho^{n+1}_{\mathcal{V}},divide start_ARG italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT - italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT end_ARG start_ARG italic_δ italic_t end_ARG = roman_Δ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT , (19)

from which we have

ρ𝒱n+1=(An+δtLn)1(Anρ𝒱n).subscriptsuperscript𝜌𝑛1𝒱superscriptsubscript𝐴𝑛𝛿𝑡subscript𝐿𝑛1subscript𝐴𝑛subscriptsuperscript𝜌𝑛𝒱\rho^{n+1}_{\mathcal{V}}=(A_{n}+\delta tL_{n})^{-1}(A_{n}\rho^{n}_{\mathcal{V}% }).italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT = ( italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_δ italic_t italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ) . (20)

After solving Eq. (11), the velocity field can be updated using Eq. (12). More specifically, we first compute the discretized density gradient on the triangle mesh. For any triangle element T=[𝐫i,𝐫j,𝐫k]𝑇subscript𝐫𝑖subscript𝐫𝑗subscript𝐫𝑘T=[\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}]\in\mathcal{F}italic_T = [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] ∈ caligraphic_F, using the Whitney 0-forms, ρ𝒱n+1subscriptsuperscript𝜌𝑛1𝒱\rho^{n+1}_{\mathcal{V}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT can be interpolated at any point x𝑥xitalic_x on the triangle T𝑇Titalic_T by:

ρ𝒱n+1(x)=ρ𝒱n+1(𝐫i)ΨiW(x)+ρ𝒱n+1(𝐫j)ΨjW(x)+ρ𝒱n+1(𝐫k)ΨkW(x),subscriptsuperscript𝜌𝑛1𝒱𝑥subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑖subscriptsuperscriptΨ𝑊𝑖𝑥subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑗subscriptsuperscriptΨ𝑊𝑗𝑥subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑘subscriptsuperscriptΨ𝑊𝑘𝑥\rho^{n+1}_{\mathcal{V}}(x)=\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})\Psi^{W}_{% i}(x)+\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{j})\Psi^{W}_{j}(x)+\rho^{n+1}_{% \mathcal{V}}(\mathbf{r}_{k})\Psi^{W}_{k}(x),italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( italic_x ) = italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) + italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_x ) + italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_x ) , (21)

where ΨiW(x)subscriptsuperscriptΨ𝑊𝑖𝑥\Psi^{W}_{i}(x)roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ), ΨjW(x)subscriptsuperscriptΨ𝑊𝑗𝑥\Psi^{W}_{j}(x)roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_x ), ΨkW(x)subscriptsuperscriptΨ𝑊𝑘𝑥\Psi^{W}_{k}(x)roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_x ) are hat functions and ρ𝒱n+1(𝐫i)subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑖\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), ρ𝒱n+1(𝐫j)subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑗\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{j})italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ), ρ𝒱n+1(𝐫k)subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑘\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{k})italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) are the vertex densities at 𝐫i,𝐫j,𝐫ksubscript𝐫𝑖subscript𝐫𝑗subscript𝐫𝑘\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. By the property ΨiW=N×eij2Area(T)subscriptsuperscriptΨ𝑊𝑖𝑁subscript𝑒𝑖𝑗2Area𝑇\nabla\Psi^{W}_{i}=\frac{N\times e_{ij}}{2\text{Area}(T)}∇ roman_Ψ start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = divide start_ARG italic_N × italic_e start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_ARG start_ARG 2 Area ( italic_T ) end_ARG (see Ref. [37]), the density gradient ρn+1(T)subscriptsuperscript𝜌𝑛1𝑇\nabla\rho^{n+1}_{\mathcal{F}}(T)∇ italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) on the triangle T𝑇Titalic_T is given by:

ρn+1(T)=𝐧(T)×(ρ𝒱n+1(𝐫i)ejk+ρ𝒱n+1(𝐫j)eki+ρ𝒱n+1(𝐫k)eij)2Area(T),subscriptsuperscript𝜌𝑛1𝑇subscript𝐧𝑇subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑖subscript𝑒𝑗𝑘subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑗subscript𝑒𝑘𝑖subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑘subscript𝑒𝑖𝑗2Area𝑇\nabla\rho^{n+1}_{\mathcal{F}}(T)=\frac{\mathbf{n}_{\mathcal{F}}(T)\times\left% (\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})e_{jk}+\rho^{n+1}_{\mathcal{V}}(% \mathbf{r}_{j})e_{ki}+\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{k})e_{ij}\right)}{2% \text{Area}(T)},∇ italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) = divide start_ARG bold_n start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) × ( italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_e start_POSTSUBSCRIPT italic_j italic_k end_POSTSUBSCRIPT + italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) italic_e start_POSTSUBSCRIPT italic_k italic_i end_POSTSUBSCRIPT + italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) italic_e start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ) end_ARG start_ARG 2 Area ( italic_T ) end_ARG , (22)

where eijsubscript𝑒𝑖𝑗e_{ij}italic_e start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT, ejksubscript𝑒𝑗𝑘e_{jk}italic_e start_POSTSUBSCRIPT italic_j italic_k end_POSTSUBSCRIPT, ekisubscript𝑒𝑘𝑖e_{ki}italic_e start_POSTSUBSCRIPT italic_k italic_i end_POSTSUBSCRIPT are the three directed edges [𝐫i(tn),𝐫j(tn)]subscript𝐫𝑖subscript𝑡𝑛subscript𝐫𝑗subscript𝑡𝑛[\mathbf{r}_{i}(t_{n}),\mathbf{r}_{j}(t_{n})][ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ], [𝐫j(tn),𝐫k(tn)]subscript𝐫𝑗subscript𝑡𝑛subscript𝐫𝑘subscript𝑡𝑛[\mathbf{r}_{j}(t_{n}),\mathbf{r}_{k}(t_{n})][ bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ], [𝐫k(tn),𝐫i(tn)]subscript𝐫𝑘subscript𝑡𝑛subscript𝐫𝑖subscript𝑡𝑛[\mathbf{r}_{k}(t_{n}),\mathbf{r}_{i}(t_{n})][ bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ], and 𝐧(T)subscript𝐧𝑇\mathbf{n}_{\mathcal{F}}(T)bold_n start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) is the outward unit normal vector of the triangle face T𝑇Titalic_T. Then, using Eq. (23), we can obtain ρ𝒱n+1subscriptsuperscript𝜌𝑛1𝒱\nabla\rho^{n+1}_{\mathcal{V}}∇ italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT on every vertex by:

ρ𝒱n=Mρn.subscriptsuperscript𝜌𝑛𝒱𝑀subscriptsuperscript𝜌𝑛\nabla\rho^{n}_{\mathcal{V}}=M\nabla\rho^{n}_{\mathcal{F}}.∇ italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT = italic_M ∇ italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT . (23)

Therefore, the velocity field is given by:

v𝒱n+1(𝐫i)=ρ𝒱n+1(𝐫i)ρ𝒱n+1(𝐫i).subscriptsuperscriptv𝑛1𝒱subscript𝐫𝑖subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑖subscriptsuperscript𝜌𝑛1𝒱subscript𝐫𝑖\mathrm{v}^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})=-\frac{\nabla\rho^{n+1}_{% \mathcal{V}}(\mathbf{r}_{i})}{\rho^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})}.roman_v start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = - divide start_ARG ∇ italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG start_ARG italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG . (24)

However, it is noteworthy that in the discrete case, the velocity in Eq. (24) may not be located in the tangent space. To resolve this issue, we add a projection step to project the velocity onto the admissible space. Since the equation of the ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT is

x2a2+y2b2+z2c2=1,superscript𝑥2superscript𝑎2superscript𝑦2superscript𝑏2superscript𝑧2superscript𝑐21\frac{x^{2}}{a^{2}}+\frac{y^{2}}{b^{2}}+\frac{z^{2}}{c^{2}}=1,divide start_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_z start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG = 1 , (25)

it is easy to see that the outward unit normal vector of a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT is

𝐧𝒱(𝐫(t))=(2xa2,2yb2,2zc2)((2xa2)2+(2yb2)2+(2zc2)2)12=(xa2,yb2,zc2)((xa2)2+(yb2)2+(zc2)2)12.subscript𝐧𝒱𝐫𝑡2𝑥superscript𝑎22𝑦superscript𝑏22𝑧superscript𝑐2superscriptsuperscript2𝑥superscript𝑎22superscript2𝑦superscript𝑏22superscript2𝑧superscript𝑐2212𝑥superscript𝑎2𝑦superscript𝑏2𝑧superscript𝑐2superscriptsuperscript𝑥superscript𝑎22superscript𝑦superscript𝑏22superscript𝑧superscript𝑐2212\mathbf{n}_{\mathcal{V}}\left(\mathbf{r}(t)\right)=\frac{\left(\frac{2x}{a^{2}% },\frac{2y}{b^{2}},\frac{2z}{c^{2}}\right)}{\left(\left(\frac{2x}{a^{2}}\right% )^{2}+\left(\frac{2y}{b^{2}}\right)^{2}+\left(\frac{2z}{c^{2}}\right)^{2}% \right)^{\frac{1}{2}}}=\frac{\left(\frac{x}{a^{2}},\frac{y}{b^{2}},\frac{z}{c^% {2}}\right)}{\left(\left(\frac{x}{a^{2}}\right)^{2}+\left(\frac{y}{b^{2}}% \right)^{2}+\left(\frac{z}{c^{2}}\right)^{2}\right)^{\frac{1}{2}}}.bold_n start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r ( italic_t ) ) = divide start_ARG ( divide start_ARG 2 italic_x end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG , divide start_ARG 2 italic_y end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG , divide start_ARG 2 italic_z end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) end_ARG start_ARG ( ( divide start_ARG 2 italic_x end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG 2 italic_y end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG 2 italic_z end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT end_ARG = divide start_ARG ( divide start_ARG italic_x end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG , divide start_ARG italic_y end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG , divide start_ARG italic_z end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) end_ARG start_ARG ( ( divide start_ARG italic_x end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG italic_y end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG italic_z end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT end_ARG . (26)

Therefore, the projected velocity field v~𝒱n+1subscriptsuperscript~v𝑛1𝒱\widetilde{\mathrm{v}}^{n+1}_{\mathcal{V}}over~ start_ARG roman_v end_ARG start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT can be obtained by

v~𝒱n+1(𝐫i)=v𝒱n+1(𝐫i)(v𝒱n+1(𝐫i)𝐧𝒱(𝐫i))𝐧𝒱(𝐫i),subscriptsuperscript~v𝑛1𝒱subscript𝐫𝑖subscriptsuperscriptv𝑛1𝒱subscript𝐫𝑖subscriptsuperscriptv𝑛1𝒱subscript𝐫𝑖subscript𝐧𝒱subscript𝐫𝑖subscript𝐧𝒱subscript𝐫𝑖\widetilde{\mathrm{v}}^{n+1}_{\mathcal{V}}(\mathbf{r}_{i})=\mathrm{v}^{n+1}_{% \mathcal{V}}(\mathbf{r}_{i})-\left(\mathrm{v}^{n+1}_{\mathcal{V}}(\mathbf{r}_{% i})\cdot\mathbf{n}_{\mathcal{V}}(\mathbf{r}_{i})\right)\mathbf{n}_{\mathcal{V}% }(\mathbf{r}_{i}),over~ start_ARG roman_v end_ARG start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = roman_v start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) - ( roman_v start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ⋅ bold_n start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) bold_n start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , (27)

where 𝐧𝒱(𝐫i)subscript𝐧𝒱subscript𝐫𝑖\mathbf{n}_{\mathcal{V}}(\mathbf{r}_{i})bold_n start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is the outward unit normal vector at the vertex 𝐫isubscript𝐫𝑖\mathbf{r}_{i}bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. We can then update the vertex positions based on Eq. (13):

𝐫i(tn+1)=𝐫i(tn)δtv~𝒱n+1(𝐫i).subscript𝐫𝑖subscript𝑡𝑛1subscript𝐫𝑖subscript𝑡𝑛𝛿𝑡subscriptsuperscript~v𝑛1𝒱subscript𝐫𝑖\mathbf{r}_{i}(t_{n+1})=\mathbf{r}_{i}(t_{n})-\delta t\ \widetilde{\mathrm{v}}% ^{n+1}_{\mathcal{V}}(\mathbf{r}_{i}).bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) = bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) - italic_δ italic_t over~ start_ARG roman_v end_ARG start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ( bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) . (28)

Note that there may still be small numerical errors that cause the vertices to move outside the ellipsoidal surface. To ensure that all vertices remain on the ellipsoid exactly, we further divide the coordinates of each vertex 𝐫i(tn+1)subscript𝐫𝑖subscript𝑡𝑛1\mathbf{r}_{i}(t_{n+1})bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) by x2a2+y2b2+z2c2superscript𝑥2superscript𝑎2superscript𝑦2superscript𝑏2superscript𝑧2superscript𝑐2\sqrt{\frac{x^{2}}{a^{2}}+\frac{y^{2}}{b^{2}}+\frac{z^{2}}{c^{2}}}square-root start_ARG divide start_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + divide start_ARG italic_z start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG end_ARG, where 𝐫i(tn+1)=(x,y,z)subscript𝐫𝑖subscript𝑡𝑛1𝑥𝑦𝑧\mathbf{r}_{i}(t_{n+1})=(x,y,z)bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) = ( italic_x , italic_y , italic_z ). This ensures that all updated vertices satisfy the parametric equation in Eq. (10) and hence lie on the ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.

3.1.3 Ensuring the bijectivity of the ellipsoidal mapping throughout the iterative process

As mentioned in [42, 43], conventional density-equalizing mapping methods do not provide any guarantee of bijectivity throughout the diffusion process. Specifically, mesh overlaps may occur under the mapping update in Eq. (28) if the density gradient or the time step size is too large. To resolve this issue, we follow the idea in [43] and propose a correction scheme that ensures the bijectivity of the ellipsoidal mapping at each iteration.

We first introduce a rescaling transformation h:a,b,c𝕊2:subscript𝑎𝑏𝑐superscript𝕊2h:\mathcal{E}_{a,b,c}\to\mathbb{S}^{2}italic_h : caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT → blackboard_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT defined by:

h(x,y,z)=(xa,yb,zc),𝑥𝑦𝑧𝑥𝑎𝑦𝑏𝑧𝑐h\left(x,y,z\right)=\left(\frac{x}{a},\frac{y}{b},\frac{z}{c}\right),italic_h ( italic_x , italic_y , italic_z ) = ( divide start_ARG italic_x end_ARG start_ARG italic_a end_ARG , divide start_ARG italic_y end_ARG start_ARG italic_b end_ARG , divide start_ARG italic_z end_ARG start_ARG italic_c end_ARG ) , (29)

where a𝑎aitalic_a, b𝑏bitalic_b, and c𝑐citalic_c are the radii of the ellipsoid. Using the rescaling transformation hhitalic_h, the initial ellipsoidal map 𝐫(0)𝐫0\mathbf{r}(0)bold_r ( 0 ) and the ellipsoidal map 𝐫(tn)𝐫subscript𝑡𝑛\mathbf{r}(t_{n})bold_r ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) after the n𝑛nitalic_n-th iterative update can be mapped onto two unit spheres 𝒮0:=h(𝐫(0))assignsuperscript𝒮0𝐫0\mathcal{S}^{0}:=h(\mathbf{r}(0))caligraphic_S start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT := italic_h ( bold_r ( 0 ) ) and 𝒮n:=h(𝐫(tn))assignsuperscript𝒮𝑛𝐫subscript𝑡𝑛\mathcal{S}^{n}:=h(\mathbf{r}(t_{n}))caligraphic_S start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT := italic_h ( bold_r ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ), respectively. It is easy to see that hhitalic_h is a bijection and hence will not have any effect on the presence or absence of local mesh fold-overs in the ellipsoids.

Now, we can apply the spherical overlap correction scheme proposed by the SDEM work [43], which is designed for enforcing the bijectivity of a spherical mapping. Specifically, the scheme involves projecting the two spheres 𝒮0superscript𝒮0\mathcal{S}^{0}caligraphic_S start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and 𝒮nsuperscript𝒮𝑛\mathcal{S}^{n}caligraphic_S start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT onto the extended complex plane via the north-pole stereographic projection and the south-pole stereographic projection and correcting the local mesh fold-overs on the plane using the LBS method [47]. Readers are referred to [43] for the detailed description of the spherical overlap correction scheme. We denote the process of the spherical overlap correction scheme as a map g~n:𝒮n𝕊2:subscript~𝑔𝑛superscript𝒮𝑛superscript𝕊2\tilde{g}_{n}:\mathcal{S}^{n}\to\mathbb{S}^{2}over~ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT : caligraphic_S start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT → blackboard_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, where the mapping result g~n(𝒮n)subscript~𝑔𝑛superscript𝒮𝑛\tilde{g}_{n}(\mathcal{S}^{n})over~ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( caligraphic_S start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ) is folding-free.

Finally, we apply the inverse rescaling transformation h1superscript1h^{-1}italic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT to rescale the spherical mapping result to the ellipsoid. Again, it is easy to see that h1superscript1h^{-1}italic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT is a bijection and will not have any effect on the presence or absence of mesh fold-overs. Therefore, the composition h1g~nhsuperscript1subscript~𝑔𝑛h^{-1}\circ\tilde{g}_{n}\circ hitalic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∘ over~ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∘ italic_h is a mapping from a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT to a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT that can correct any local mesh fold-overs in 𝐫(tn)𝐫subscript𝑡𝑛\mathbf{r}(t_{n})bold_r ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ). This completes the ellipsoidal overlap correction scheme.

3.1.4 Re-coupling the deformation and density

Recall that the proposed ellipsoidal density-equalizing mapping scheme creates shape deformations on a prescribed ellipsoid based on density diffusion. Specifically, the velocity field at each iteration is determined by the density and its gradient at the mesh vertices. As the computational procedure involves multiple discretization schemes, numerical errors may accumulate throughout the iterations. Also, the above-mentioned overlap correction scheme may alter the vertex positions when correcting the local mesh fold-overs, thereby leading to a discrepancy between the vertex positions and the actual density flow. To address this issue, we follow the idea in [43] and introduce an extra step to re-couple the density and deformation at the end of every iteration.

More specifically, at the end of the n𝑛nitalic_n-th iteration, we do not directly use the density obtained by solving the diffusion equation in Eq. (20) to continue the next iteration. Instead, we re-define the density ρn+1(T)subscriptsuperscript𝜌𝑛1𝑇\rho^{n+1}_{\mathcal{F}}(T)italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) on the triangle element T=[𝐫i,𝐫j,𝐫k]𝑇subscript𝐫𝑖subscript𝐫𝑗subscript𝐫𝑘T=[\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}]italic_T = [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] using the updated vertex positions 𝐫(tn+1)𝐫subscript𝑡𝑛1\mathbf{r}(t_{n+1})bold_r ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) on the ellipsoid:

ρn+1(T)=PopulationArea[𝐫i(tn+1),𝐫j(tn+1),𝐫k(tn+1)].subscriptsuperscript𝜌𝑛1𝑇PopulationAreasubscript𝐫𝑖subscript𝑡𝑛1subscript𝐫𝑗subscript𝑡𝑛1subscript𝐫𝑘subscript𝑡𝑛1\rho^{n+1}_{\mathcal{F}}(T)=\frac{\text{Population}}{\text{Area}[\mathbf{r}_{i% }(t_{n+1}),\mathbf{r}_{j}(t_{n+1}),\mathbf{r}_{k}(t_{n+1})]}.italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT ( italic_T ) = divide start_ARG Population end_ARG start_ARG Area [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT ) ] end_ARG . (30)

Once the updated density ρn+1subscriptsuperscript𝜌𝑛1\rho^{n+1}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT is obtained, we calculate ρ𝒱n+1subscriptsuperscript𝜌𝑛1𝒱\rho^{n+1}_{\mathcal{V}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT using Eq. (14) and proceed with the next iteration. Altogether, this additional re-coupling step allows us to reduce the accumulation of numerical errors as well as the discrepancy between the shape deformation and the density.

3.1.5 Summary

By integrating the initial ellipsoidal conformal parameterization (Section 3.1.1) and the diffusion iteration scheme (Section 3.1.2) with the overlap correction scheme (Section 3.1.3) and the re-coupling scheme (Section 3.1.4), we have the proposed EDEM algorithm for computing bijective ellipsoidal density-equalizing maps for genus-0 closed surfaces. The proposed algorithm is summarized in Algorithm 1. In practice, we set the step size δt=0.1𝛿𝑡0.1\delta t=0.1italic_δ italic_t = 0.1, the stopping parameter ϵ=103italic-ϵsuperscript103\epsilon=10^{-3}italic_ϵ = 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT, and the maximum number of iterations allowed nmax=300subscript𝑛300n_{\max}=300italic_n start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT = 300.

Input: A genus-0 closed surface \mathcal{M}caligraphic_M, a prescribed population, the elliptic radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c, the step size δt𝛿𝑡\delta titalic_δ italic_t, the stopping parameter ϵitalic-ϵ\epsilonitalic_ϵ, and the maximum number of iterations allowed nmaxsubscript𝑛n_{\max}italic_n start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT.
Output: An ellipsoidal density-equalizing map f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\to\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.
1
2Compute an initial ellipsoidal conformal parameterization f0:a,b,c:subscript𝑓0subscript𝑎𝑏𝑐f_{0}:\mathcal{M}\to\mathcal{E}_{a,b,c}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT [30];
3
4Compute the initial density ρ0subscriptsuperscript𝜌0\rho^{0}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT on f0()subscript𝑓0f_{0}(\mathcal{M})italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( caligraphic_M ) based on the prescribed population;
5
6Set n=0𝑛0n=0italic_n = 0;
7
8repeat
9      
10      Compute Ansubscript𝐴𝑛A_{n}italic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and Lnsubscript𝐿𝑛L_{n}italic_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT on a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT by Eq. (17) and Eq. (18);
11      
12      Obtain ρ𝒱n+1subscriptsuperscript𝜌𝑛1𝒱\rho^{n+1}_{\mathcal{V}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT by solving the diffusion equation Eq. (11);
13      
14      Compute the velocity field 𝐯𝒱n+1subscriptsuperscript𝐯𝑛1𝒱{\mathbf{v}}^{n+1}_{\mathcal{V}}bold_v start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT at every vertex by Eq. (24);
15      
16      Compute the projected velocity field 𝐯~𝒱n+1subscriptsuperscript~𝐯𝑛1𝒱\widetilde{\mathbf{v}}^{n+1}_{\mathcal{V}}over~ start_ARG bold_v end_ARG start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT onto the ellipsoid using Eq. (27);
17      
18      Update the position of all vertices using Eq. (28) and enforce the vertices to remain on a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT;
19      
20      Apply the overlap correction scheme in Section 3.1.3;
21      
22      Apply the re-coupling scheme in Section 3.1.4 to update ρn+1subscriptsuperscript𝜌𝑛1\rho^{n+1}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT;
23      
24      Update n=n+1𝑛𝑛1n=n+1italic_n = italic_n + 1;
25      
26until sd(ρ𝒱n)mean(ρ𝒱n)<ϵsdsubscriptsuperscript𝜌𝑛𝒱meansubscriptsuperscript𝜌𝑛𝒱italic-ϵ\frac{\text{sd}\left(\rho^{n}_{\mathcal{V}}\right)}{\text{mean}\left(\rho^{n}_% {\mathcal{V}}\right)}<\epsilondivide start_ARG sd ( italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ) end_ARG start_ARG mean ( italic_ρ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_V end_POSTSUBSCRIPT ) end_ARG < italic_ϵ  or  nnmax𝑛subscript𝑛n\geq n_{\max}italic_n ≥ italic_n start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT;
27The resulting bijective ellipsoidal density-equalizing map is f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\rightarrow\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT ;
Algorithm 1 Ellipsoidal density-equalizing map (EDEM)

3.2 Ellipsoidal density-equalizing quasi-conformal map (EDEQ)

While our EDEM algorithm can produce shape deformations and achieve prescribed area changes on the given ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, other geometric distortions such as conformal distortions may be uncontrolled. Also, note that the EDEM method can be applied to ellipsoids with any prescribed elliptic radii. It is therefore natural to ask whether one can further reduce the overall geometric distortions by optimizing both the shape of the ellipsoid and the associated ellipsoidal mappings.

As described in the DEQ method [42], the density-equalizing process can be considered as an energy minimization problem involving the prescribed density. Analogously, as our EDEM method aims to create a shape deformation following the density diffusion process on the ellipsoid, the density-equalizing effect of a map f𝑓fitalic_f can be assessed using the following energy:

EEDEM(f)=ρρ2,subscript𝐸EDEM𝑓superscriptnorm𝜌𝜌2E_{\text{EDEM}}(f)=\int\left\|\frac{\nabla\rho}{\rho}\right\|^{2},italic_E start_POSTSUBSCRIPT EDEM end_POSTSUBSCRIPT ( italic_f ) = ∫ ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (31)

where ρ𝜌\rhoitalic_ρ is the density associated with the map f𝑓fitalic_f. Also, note that by quasi-conformal theory, the conformal distortion of a map f𝑓fitalic_f can be represented using the norm of its Beltrami coefficient μnorm𝜇\|\mu\|∥ italic_μ ∥, where a smaller μnorm𝜇\|\mu\|∥ italic_μ ∥ implies a smaller eccentricity of the local ellipses and hence a smaller angle distortion. Therefore, we can assess the conformal distortion of a mapping by considering the following energy:

EBC(f)=|μ|2.subscript𝐸BC𝑓superscript𝜇2E_{\text{BC}}(f)=\int|\mu|^{2}.italic_E start_POSTSUBSCRIPT BC end_POSTSUBSCRIPT ( italic_f ) = ∫ | italic_μ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT . (32)

In this section, our goal is to develop an ellipsoidal density-equalizing quasi-conformal mapping algorithm, which we abbreviate as EDEQ, to reduce both of the above energies EEDEMsubscript𝐸EDEME_{\text{EDEM}}italic_E start_POSTSUBSCRIPT EDEM end_POSTSUBSCRIPT and EBCsubscript𝐸BCE_{\text{BC}}italic_E start_POSTSUBSCRIPT BC end_POSTSUBSCRIPT. Now, it is noteworthy that the shape of the ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, characterized by the elliptic radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c, can effectively provide us with extra degrees of freedom in reducing the energies. Therefore, we consider minimizing the following combined energy E𝐸Eitalic_E with the radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c and the map f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\to\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT being the variables:

E(a,b,c,f)=EEDEM+αEBC=ρρ2+α|μ|2,𝐸𝑎𝑏𝑐𝑓subscript𝐸EDEM𝛼subscript𝐸BCsuperscriptnorm𝜌𝜌2𝛼superscript𝜇2E(a,b,c,f)=E_{\text{EDEM}}+\alpha E_{\text{BC}}=\int\left\|\frac{\nabla\rho}{% \rho}\right\|^{2}+\alpha\int|\mu|^{2},italic_E ( italic_a , italic_b , italic_c , italic_f ) = italic_E start_POSTSUBSCRIPT EDEM end_POSTSUBSCRIPT + italic_α italic_E start_POSTSUBSCRIPT BC end_POSTSUBSCRIPT = ∫ ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α ∫ | italic_μ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (33)

where α𝛼\alphaitalic_α is a nonnegative weighting parameter for balancing the density-equalizing error and the conformal distortion. The existence of the minimizer of E𝐸Eitalic_E can be proved by following the arguments in [42, 19].

3.2.1 Decoupling the combined energy

To simplify the optimization process, we first decouple the minimization problem of the combined energy E𝐸Eitalic_E into two subproblems of minimizing E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT below:

E1(f)=a,b,cρρ2,subscript𝐸1𝑓subscriptsubscript𝑎𝑏𝑐superscriptnorm𝜌𝜌2E_{1}(f)=\int_{\mathcal{E}_{a,b,c}}\left\|\frac{\nabla\rho}{\rho}\right\|^{2},italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_f ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (34)
E2(a,b,c)=a,b,cρρ2+αa,b,c|μ|2.subscript𝐸2𝑎𝑏𝑐subscriptsubscript𝑎𝑏𝑐superscriptnorm𝜌𝜌2𝛼subscriptsubscript𝑎𝑏𝑐superscript𝜇2E_{2}(a,b,c)=\int_{\mathcal{E}_{a,b,c}}\left\|\frac{\nabla\rho}{\rho}\right\|^% {2}+\alpha\int_{\mathcal{E}_{a,b,c}}|\mu|^{2}.italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_μ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT . (35)

More specifically, the energy E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in Eq. (34) aims to equalize the density distribution across a fixed ellipsoidal domain with radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c, promoting a more uniform density throughout the iterations. The energy E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in Eq. (35) focuses on optimizing the shape of the ellipsoid to minimize the combined geometric distortion. We can then utilize our developed computational scheme in the EDEM method for the subproblem E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and focus on updating the ellipsoidal geometry in the subproblem E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

3.2.2 Subproblem E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT

We first consider the descent direction of E1=a,b,cρρ2subscript𝐸1subscriptsubscript𝑎𝑏𝑐superscriptnorm𝜌𝜌2E_{1}=\int_{\mathcal{E}_{a,b,c}}\left\|\frac{\nabla\rho}{\rho}\right\|^{2}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, with the elliptic radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c fixed. As in the formulation of the EDEM method in Section 3.1, the velocity field can be computed by 𝐯=ρρ𝐯𝜌𝜌\mathbf{v}=-\frac{\nabla\rho}{\rho}bold_v = - divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG. Also, to preserve the given ellipsoidal shape, we remove the normal component 𝐯=(𝐯𝐧)𝐧superscript𝐯perpendicular-to𝐯𝐧𝐧\mathbf{v}^{\perp}=\left(\mathbf{v}\cdot\mathbf{n}\right)\mathbf{n}bold_v start_POSTSUPERSCRIPT ⟂ end_POSTSUPERSCRIPT = ( bold_v ⋅ bold_n ) bold_n, where 𝐧𝐧\mathbf{n}bold_n is the outward normal unit vector. The descent direction of E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is then given by:

dE1=𝐯𝐯.𝑑subscript𝐸1𝐯superscript𝐯perpendicular-todE_{1}=\mathbf{v}-\mathbf{v}^{\perp}.italic_d italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = bold_v - bold_v start_POSTSUPERSCRIPT ⟂ end_POSTSUPERSCRIPT . (36)

Hence, we have the following iterative scheme for the energy E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT:

fn+1=fn+δtdE1n,subscript𝑓𝑛1subscript𝑓𝑛𝛿𝑡𝑑subscriptsuperscript𝐸𝑛1f_{n+1}=f_{n}+\delta tdE^{n}_{1},italic_f start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT = italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_δ italic_t italic_d italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , (37)

where δt𝛿𝑡\delta titalic_δ italic_t is the time step size, fnsubscript𝑓𝑛f_{n}italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the map at the n𝑛nitalic_n-th iteration, and dE1n𝑑subscriptsuperscript𝐸𝑛1dE^{n}_{1}italic_d italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the descent direction of E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT at the n𝑛nitalic_n-th iteration.

3.2.3 Subproblem E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT

To minimize the energy E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, we first consider the Beltrami coefficient term a,b,c|μ|2subscriptsubscript𝑎𝑏𝑐superscript𝜇2\int_{\mathcal{E}_{a,b,c}}|\mu|^{2}∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_μ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Recall that the Beltrami coefficient is a complex-valued function defined on the complex plane. To extend it for assessing the conformal distortion of an ellipsoidal map, we use a triangle-based approach as follows. Let T0=[𝐫i(t0),𝐫j(t0),𝐫k(t0)]superscript𝑇0subscript𝐫𝑖subscript𝑡0subscript𝐫𝑗subscript𝑡0subscript𝐫𝑘subscript𝑡0T^{0}=[\mathbf{r}_{i}(t_{0}),\mathbf{r}_{j}(t_{0}),\mathbf{r}_{k}(t_{0})]italic_T start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ] be a triangle element on the initial ellipsoidal conformal parameterization and Tn=[𝐫i(tn),𝐫j(tn),𝐫k(tn)]superscript𝑇𝑛subscript𝐫𝑖subscript𝑡𝑛subscript𝐫𝑗subscript𝑡𝑛subscript𝐫𝑘subscript𝑡𝑛T^{n}=[\mathbf{r}_{i}(t_{n}),\mathbf{r}_{j}(t_{n}),\mathbf{r}_{k}(t_{n})]italic_T start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT = [ bold_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , bold_r start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ] be the corresponding triangle at the n𝑛nitalic_n-th iteration. We rigidly map both T0superscript𝑇0T^{0}italic_T start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and Tnsuperscript𝑇𝑛T^{n}italic_T start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT onto the complex plane. Specifically, this can be done by fixing one of the vertices of each triangle at the origin, one of the triangle edges containing this vertex onto the real axis, and then computing the position of the remaining vertex based on the edge lengths and angles of the triangle. We denote the resulting triangles on the complex plane as T~0superscript~𝑇0\widetilde{T}^{0}over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and T~nsuperscript~𝑇𝑛\widetilde{T}^{n}over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT. Then, we can consider the mapping between T~0superscript~𝑇0\widetilde{T}^{0}over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and T~nsuperscript~𝑇𝑛\widetilde{T}^{n}over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT as a quasi-conformal map fT~n=u+ivsubscript𝑓superscript~𝑇𝑛𝑢𝑖𝑣f_{\widetilde{T}^{n}}=u+ivitalic_f start_POSTSUBSCRIPT over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_u + italic_i italic_v. The Beltrami coefficient of fT~nsubscript𝑓superscript~𝑇𝑛f_{\widetilde{T}^{n}}italic_f start_POSTSUBSCRIPT over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT can be obtained by:

μT~n=(uxvy)+i(vx+uy)(ux+vy)+i(vxuy).subscript𝜇superscript~𝑇𝑛subscript𝑢𝑥subscript𝑣𝑦𝑖subscript𝑣𝑥subscript𝑢𝑦subscript𝑢𝑥subscript𝑣𝑦𝑖subscript𝑣𝑥subscript𝑢𝑦\mu_{\widetilde{T}^{n}}=\frac{\left(u_{x}-v_{y}\right)+i\left(v_{x}+u_{y}% \right)}{\left(u_{x}+v_{y}\right)+i\left(v_{x}-u_{y}\right)}.italic_μ start_POSTSUBSCRIPT over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = divide start_ARG ( italic_u start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) + italic_i ( italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + italic_u start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) end_ARG start_ARG ( italic_u start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + italic_v start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) + italic_i ( italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - italic_u start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) end_ARG . (38)

From the above formula, we can get the norm of the Beltrami coefficient μT~nnormsubscript𝜇superscript~𝑇𝑛\|\mu_{\widetilde{T}^{n}}\|∥ italic_μ start_POSTSUBSCRIPT over~ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ and use it to represent the conformal distortion between T0superscript𝑇0T^{0}italic_T start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and Tnsuperscript𝑇𝑛T^{n}italic_T start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT. We can then repeat the above procedure for all triangular faces of the surface to get the term a,b,c|μ|2subscriptsubscript𝑎𝑏𝑐superscript𝜇2\int_{\mathcal{E}_{a,b,c}}|\mu|^{2}∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_μ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT.

Next, we consider optimizing the shape of the ellipsoid (i.e. the radii a,b,c𝑎𝑏𝑐a,b,citalic_a , italic_b , italic_c) based on the energy E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. To simplify the formulation, we keep a𝑎aitalic_a unchanged and focus on optimizing the two other elliptic radii b𝑏bitalic_b and c𝑐citalic_c using an iterative procedure. We first define the radius step sizes along b𝑏bitalic_b and c𝑐citalic_c as δb𝛿𝑏\delta bitalic_δ italic_b and δc𝛿𝑐\delta citalic_δ italic_c, respectively. Now, there are nine possible combinations of the radii in the form of (a,b+kbδb,c+kcδc)𝑎𝑏subscript𝑘𝑏𝛿𝑏𝑐subscript𝑘𝑐𝛿𝑐(a,b+k_{b}\delta b,c+k_{c}\delta c)( italic_a , italic_b + italic_k start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT italic_δ italic_b , italic_c + italic_k start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_δ italic_c ) with kb,kc=0,1,1formulae-sequencesubscript𝑘𝑏subscript𝑘𝑐011k_{b},k_{c}=0,1,-1italic_k start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_k start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = 0 , 1 , - 1. We can then consider the following energies associated with the nine combinations, including the original one:

E2(a,b,c)=a,b,c(ρρ(a,b,c)2+α|μ(a,b,c)|2),subscript𝐸2𝑎𝑏𝑐subscriptsubscript𝑎𝑏𝑐superscriptnorm𝜌𝜌𝑎𝑏𝑐2𝛼superscript𝜇𝑎𝑏𝑐2\begin{array}[]{l}E_{2}(a,b,c)=\displaystyle\int_{\mathcal{E}_{a,b,c}}\left(% \left\|\frac{\nabla\rho}{\rho}(a,b,c)\right\|^{2}+\alpha\left|\mu(a,b,c)\right% |^{2}\right),\end{array}start_ARRAY start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b , italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b , italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW end_ARRAY (39)

the ones with only one among b𝑏bitalic_b and c𝑐citalic_c changed:

E2(a,b+δb,c)=a,b+δb,c(ρρ(a,b+δb,c)2+α|μ(a,b+δb,c)|2),E2(a,b,c+δc)=a,b,c+δc(ρρ(a,b,c+δc)2+α|μ(a,b,c+δc)|2),E2(a,bδb,c)=a,bδb,c(ρρ(a,bδb,c)2+α|μ(a,bδb,c)|2),E2(a,b,cδc)=a,b,cδb(ρρ(a,b,cδc)2+α|μ(a,b,cδc)|2),subscript𝐸2𝑎𝑏𝛿𝑏𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐2subscript𝐸2𝑎𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝑐𝛿𝑐superscriptnorm𝜌𝜌𝑎𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝑐𝛿𝑐2subscript𝐸2𝑎𝑏𝛿𝑏𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐2subscript𝐸2𝑎𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝑐𝛿𝑏superscriptnorm𝜌𝜌𝑎𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝑐𝛿𝑐2\begin{array}[]{l}\displaystyle E_{2}(a,b+\delta b,c)=\int_{\mathcal{E}_{a,b+% \delta b,c}}\left(\left\|\frac{\nabla\rho}{\rho}(a,b+\delta b,c)\right\|^{2}+% \alpha|\mu(a,b+\delta b,c)|^{2}\right),\\ \displaystyle E_{2}(a,b,c+\delta c)=\int_{\mathcal{E}_{a,b,c+\delta c}}\left(% \left\|\frac{\nabla\rho}{\rho}(a,b,c+\delta c)\right\|^{2}+\alpha|\mu(a,b,c+% \delta c)|^{2}\right),\\ \displaystyle E_{2}(a,b-\delta b,c)=\int_{\mathcal{E}_{a,b-\delta b,c}}\left(% \left\|\frac{\nabla\rho}{\rho}(a,b-\delta b,c)\right\|^{2}+\alpha|\mu(a,b-% \delta b,c)|^{2}\right),\\ \displaystyle E_{2}(a,b,c-\delta c)=\int_{\mathcal{E}_{a,b,c-\delta b}}\left(% \left\|\frac{\nabla\rho}{\rho}(a,b,c-\delta c)\right\|^{2}+\alpha|\mu(a,b,c-% \delta c)|^{2}\right),\end{array}start_ARRAY start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b + italic_δ italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b + italic_δ italic_b , italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b + italic_δ italic_b , italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c + italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c + italic_δ italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b , italic_c + italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b , italic_c + italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b - italic_δ italic_b , italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b - italic_δ italic_b , italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b - italic_δ italic_b , italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c - italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c - italic_δ italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b , italic_c - italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b , italic_c - italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW end_ARRAY (40)

and the ones with both b𝑏bitalic_b and c𝑐citalic_c changed:

E2(a,b+δb,c+δc)=a,b+δb,c+δc(ρρ(a,b+δb,c+δc)2+α|μ(a,b+δb,c+δc)|2),E2(a,b+δb,cδc)=a,b+δb,cδc(ρρ(a,b+δb,cδc)2+α|μ(a,b+δb,cδc)|2),E2(a,bδb,c+δc)=a,bδb,c+δc(ρρ(a,bδb,c+δc)2+α|μ(a,bδb,c+δc)|2),E2(a,bδb,cδc)=a,bδb,cδc(ρρ(a,bδb,cδc)2+α|μ(a,bδb,cδc)|2).subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐𝛿𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐𝛿𝑐2subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐𝛿𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐𝛿𝑐2subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐𝛿𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐𝛿𝑐2subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐subscriptsubscript𝑎𝑏𝛿𝑏𝑐𝛿𝑐superscriptnorm𝜌𝜌𝑎𝑏𝛿𝑏𝑐𝛿𝑐2𝛼superscript𝜇𝑎𝑏𝛿𝑏𝑐𝛿𝑐2\begin{array}[]{l}\displaystyle E_{2}(a,b+\delta b,c+\delta c)=\int_{\mathcal{% E}_{a,b+\delta b,c+\delta c}}\left(\left\|\frac{\nabla\rho}{\rho}(a,b+\delta b% ,c+\delta c)\right\|^{2}+\alpha|\mu(a,b+\delta b,c+\delta c)|^{2}\right),\\ \displaystyle E_{2}(a,b+\delta b,c-\delta c)=\int_{\mathcal{E}_{a,b+\delta b,c% -\delta c}}\left(\left\|\frac{\nabla\rho}{\rho}(a,b+\delta b,c-\delta c)\right% \|^{2}+\alpha|\mu(a,b+\delta b,c-\delta c)|^{2}\right),\\ \displaystyle E_{2}(a,b-\delta b,c+\delta c)=\int_{\mathcal{E}_{a,b-\delta b,c% +\delta c}}\left(\left\|\frac{\nabla\rho}{\rho}(a,b-\delta b,c+\delta c)\right% \|^{2}+\alpha|\mu(a,b-\delta b,c+\delta c)|^{2}\right),\\ \displaystyle E_{2}(a,b-\delta b,c-\delta c)=\int_{\mathcal{E}_{a,b-\delta b,c% -\delta c}}\left(\left\|\frac{\nabla\rho}{\rho}(a,b-\delta b,c-\delta c)\right% \|^{2}+\alpha|\mu(a,b-\delta b,c-\delta c)|^{2}\right).\end{array}start_ARRAY start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c + italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b + italic_δ italic_b , italic_c + italic_δ italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b + italic_δ italic_b , italic_c + italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b + italic_δ italic_b , italic_c + italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c - italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b + italic_δ italic_b , italic_c - italic_δ italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b + italic_δ italic_b , italic_c - italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b + italic_δ italic_b , italic_c - italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c + italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b - italic_δ italic_b , italic_c + italic_δ italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b - italic_δ italic_b , italic_c + italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b - italic_δ italic_b , italic_c + italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c - italic_δ italic_c ) = ∫ start_POSTSUBSCRIPT caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b - italic_δ italic_b , italic_c - italic_δ italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ∥ divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( italic_a , italic_b - italic_δ italic_b , italic_c - italic_δ italic_c ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_α | italic_μ ( italic_a , italic_b - italic_δ italic_b , italic_c - italic_δ italic_c ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) . end_CELL end_ROW end_ARRAY (41)

Here, the terms ρρ(a~,b~,c~)𝜌𝜌~𝑎~𝑏~𝑐\frac{\nabla\rho}{\rho}(\tilde{a},\tilde{b},\tilde{c})divide start_ARG ∇ italic_ρ end_ARG start_ARG italic_ρ end_ARG ( over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG ) and μ(a~,b~,c~)𝜇~𝑎~𝑏~𝑐\mu(\tilde{a},\tilde{b},\tilde{c})italic_μ ( over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG ) are computed based on the updated ellipsoid a~,b~,c~subscript~𝑎~𝑏~𝑐\mathcal{E}_{\tilde{a},\tilde{b},\tilde{c}}caligraphic_E start_POSTSUBSCRIPT over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG end_POSTSUBSCRIPT. By selecting the combination with the smallest energy value, we can update the shape of the ellipsoid and reduce E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. The shape update procedure is summarized in Algorithm 2.

Input: A ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, a prescribed population, and the step sizes δb𝛿𝑏\delta bitalic_δ italic_b and δc𝛿𝑐\delta citalic_δ italic_c.
Output: An ellipsoidal triangle mesh a~,b~,c~subscript~𝑎~𝑏~𝑐\mathcal{E}_{\tilde{a},\tilde{b},\tilde{c}}caligraphic_E start_POSTSUBSCRIPT over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG end_POSTSUBSCRIPT.
1
2Compute the energies E2(a,b,c)subscript𝐸2𝑎𝑏𝑐E_{2}(a,b,c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c ), E2(a,b+δb,c)subscript𝐸2𝑎𝑏𝛿𝑏𝑐E_{2}(a,b+\delta b,c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c ), E2(a,b,c+δc)subscript𝐸2𝑎𝑏𝑐𝛿𝑐E_{2}(a,b,c+\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c + italic_δ italic_c ), E2(a,bδb,c)subscript𝐸2𝑎𝑏𝛿𝑏𝑐E_{2}(a,b-\delta b,c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c ), E2(a,b,cδc)subscript𝐸2𝑎𝑏𝑐𝛿𝑐E_{2}(a,b,c-\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b , italic_c - italic_δ italic_c ), E2(a,b+δb,c+δc)subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐E_{2}(a,b+\delta b,c+\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c + italic_δ italic_c ), E2(a,b+δb,cδc)subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐E_{2}(a,b+\delta b,c-\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b + italic_δ italic_b , italic_c - italic_δ italic_c ), E2(a,bδb,c+δc)subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐E_{2}(a,b-\delta b,c+\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c + italic_δ italic_c ), E2(a,bδb,cδc)subscript𝐸2𝑎𝑏𝛿𝑏𝑐𝛿𝑐E_{2}(a,b-\delta b,c-\delta c)italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_a , italic_b - italic_δ italic_b , italic_c - italic_δ italic_c );
3
4Select (a~,b~,c~)~𝑎~𝑏~𝑐(\tilde{a},\tilde{b},\tilde{c})( over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG ) that gives the smallest energy;
5
6Update the ellipsoid as a~,b~,c~subscript~𝑎~𝑏~𝑐\mathcal{E}_{\tilde{a},\tilde{b},\tilde{c}}caligraphic_E start_POSTSUBSCRIPT over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG end_POSTSUBSCRIPT ;
7
Algorithm 2 Shape update of the ellipsoidal domain

3.2.4 Summary

In Sections 3.2.2 and 3.2.3, we discussed how to solve the subproblems E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Combining these approaches, we have our proposed ellipsoidal density-equalizing quasi-conformal map (EDEQ) algorithm.

Specifically, analogous to the EDEM algorithm, here we start by computing an initial ellipsoidal conformal parameterization (Section 3.1.1) with radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ). The initial density and the initial combined energy can be obtained using the initial ellipsoidal parameterization. Then, to solve the subproblem E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, we deform the initial ellipsoid based on the descent direction (Section 3.2.2) iteratively. The overlap correction scheme (Section 3.1.3) and the re-coupling scheme (Section 3.1.4) are also applied at each iteration. We repeat the above process for a certain number of iterations (set by a prescribed parameter K𝐾Kitalic_K) so that the energy E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT defined based on the initial elliptic radii is sufficiently reduced. We then include an additional shape update step (Section 3.2.3) after every K𝐾Kitalic_K iteration to modify the ellipsoidal radii by solving the subproblem E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. With the elliptic radii updated, we solve the subproblem E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as described above again and repeat the above process. Also, note that a finer adjustment of the elliptic radii will be needed as the iterations continue. Therefore, instead of using fixed radius step sizes δb,δc𝛿𝑏𝛿𝑐\delta b,\delta citalic_δ italic_b , italic_δ italic_c in the shape update algorithm, we add a scaling factor 0.9msuperscript0.9𝑚0.9^{m}0.9 start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT to the prescribed step sizes δb,δc𝛿𝑏𝛿𝑐\delta b,\delta citalic_δ italic_b , italic_δ italic_c at the m𝑚mitalic_m-th shape update step. We repeat the iterations until |En+1EnEn|<ϵsuperscript𝐸𝑛1superscript𝐸𝑛superscript𝐸𝑛italic-ϵ|\frac{E^{n+1}-E^{n}}{E^{n}}|<\epsilon| divide start_ARG italic_E start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT - italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG start_ARG italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG | < italic_ϵ for some stopping parameter ϵitalic-ϵ\epsilonitalic_ϵ. The final EDEQ map is obtained by f=fn𝑓subscript𝑓𝑛f=f_{n}italic_f = italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, from which we also get the final optimal elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ).

The proposed EDEQ algorithm is summarized in Algorithm 3. In practice, the initial radii (a0,b0,c0)subscript𝑎0subscript𝑏0subscript𝑐0(a_{0},b_{0},c_{0})( italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) can be chosen arbitrarily, the time step size is set to be δt=0.1𝛿𝑡0.1\delta t=0.1italic_δ italic_t = 0.1, the initial radius step sizes are set to be δb=0.1𝛿𝑏0.1\delta b=0.1italic_δ italic_b = 0.1 and δc=0.1𝛿𝑐0.1\delta c=0.1italic_δ italic_c = 0.1, the number of iterations for each set of fixed radii is set to be K=5𝐾5K=5italic_K = 5, the error threshold is set to be ϵ=105italic-ϵsuperscript105\epsilon=10^{-5}italic_ϵ = 10 start_POSTSUPERSCRIPT - 5 end_POSTSUPERSCRIPT, and the maximum number of iterations is set to be nmax=300subscript𝑛max300n_{\text{max}}=300italic_n start_POSTSUBSCRIPT max end_POSTSUBSCRIPT = 300.

Input: A genus-0 closed surface \mathcal{M}caligraphic_M, a prescribed population, the initial elliptic radii (a0,b0,c0)subscript𝑎0subscript𝑏0subscript𝑐0(a_{0},b_{0},c_{0})( italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ), the step size δt𝛿𝑡\delta titalic_δ italic_t, the radius step sizes δb𝛿𝑏\delta bitalic_δ italic_b and δc𝛿𝑐\delta citalic_δ italic_c, the number of iterations for each set of fixed radii K𝐾Kitalic_K, the stopping parameter ϵitalic-ϵ\epsilonitalic_ϵ, and the maximum number of iterations allowed nmaxsubscript𝑛n_{\max}italic_n start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT.
Output: An ellipsoidal density-equalizing quasi-conformal map f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\to\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT with the optimal ellipsoid a,b,csubscript𝑎𝑏𝑐\mathcal{E}_{a,b,c}caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT.
1
2Set (a,b,c)=(a0,b0,c0)𝑎𝑏𝑐subscript𝑎0subscript𝑏0subscript𝑐0(a,b,c)=(a_{0},b_{0},c_{0})( italic_a , italic_b , italic_c ) = ( italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT );
3
4Compute an initial ellipsoidal conformal parameterization f0:a,b,c:subscript𝑓0subscript𝑎𝑏𝑐f_{0}:\mathcal{M}\to\mathcal{E}_{a,b,c}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT [30];
5
6Compute the initial density ρ0subscriptsuperscript𝜌0\rho^{0}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT on f0()subscript𝑓0f_{0}(\mathcal{M})italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( caligraphic_M ) based on the prescribed population;
7
8Set n=0𝑛0n=0italic_n = 0;
9
10repeat
11      
12      Compute the descent direction dE1n𝑑subscriptsuperscript𝐸𝑛1dE^{n}_{1}italic_d italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT by Eq. (36);
13      
14      Update the mapping fn+1=fn+δtdE1nsubscript𝑓𝑛1subscript𝑓𝑛𝛿𝑡𝑑subscriptsuperscript𝐸𝑛1f_{n+1}=f_{n}+\delta tdE^{n}_{1}italic_f start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT = italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_δ italic_t italic_d italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT;
15      
16      Apply the overlap correction scheme in Section 3.1.3;
17      
18      Apply the re-coupling scheme in Section 3.1.4 to update ρn+1subscriptsuperscript𝜌𝑛1\rho^{n+1}_{\mathcal{F}}italic_ρ start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT caligraphic_F end_POSTSUBSCRIPT;
19      
20      if n=km𝑛𝑘𝑚n=kmitalic_n = italic_k italic_m for some positive integer m𝑚mitalic_m then
21             Apply the shape update method (Algorithm 2) with the radius step sizes 0.9mδbsuperscript0.9𝑚𝛿𝑏0.9^{m}\delta b0.9 start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT italic_δ italic_b and 0.9mδcsuperscript0.9𝑚𝛿𝑐0.9^{m}\delta c0.9 start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT italic_δ italic_c and obtain the updated elliptic radii (a~,b~,c~)~𝑎~𝑏~𝑐(\tilde{a},\tilde{b},\tilde{c})( over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG );
22            
23            Set (a,b,c)=(a~,b~,c~)𝑎𝑏𝑐~𝑎~𝑏~𝑐(a,b,c)=(\tilde{a},\tilde{b},\tilde{c})( italic_a , italic_b , italic_c ) = ( over~ start_ARG italic_a end_ARG , over~ start_ARG italic_b end_ARG , over~ start_ARG italic_c end_ARG );
24            
25      
26      Update n=n+1𝑛𝑛1n=n+1italic_n = italic_n + 1;
27      
28until |En+1EnEn|<ϵsuperscript𝐸𝑛1superscript𝐸𝑛superscript𝐸𝑛italic-ϵ|\frac{E^{n+1}-E^{n}}{E^{n}}|<\epsilon| divide start_ARG italic_E start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT - italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG start_ARG italic_E start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG | < italic_ϵ  or  nnmax𝑛subscript𝑛n\geq n_{\max}italic_n ≥ italic_n start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT;
29The resulting bijective ellipsoidal density-equalizing quasi-conformal map is f:a,b,c:𝑓subscript𝑎𝑏𝑐f:\mathcal{M}\rightarrow\mathcal{E}_{a,b,c}italic_f : caligraphic_M → caligraphic_E start_POSTSUBSCRIPT italic_a , italic_b , italic_c end_POSTSUBSCRIPT, where (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ) are the optimal elliptic radii;
Algorithm 3 Ellipsoidal density-equalizing quasi-conformal map (EDEQ)

4 Experiments

In this section, we present experimental results to demonstrate the effectiveness of our proposed EDEM and EDEQ algorithms. The algorithms are implemented using MATLAB R2021a on the Windows platform. All experiments are conducted on a computer with an Intel(R) Core(TM) i9-12900 2.40 GHz processor and 32GB memory. The surface meshes are from online mesh repositories [49]. All surfaces are discretized in the form of triangular meshes.

4.1 Ellipsoidal density-equalizing map

To test our proposed EDEM algorithm, we first consider mapping an ellipsoidal surface with two different density distributions, including a discontinuous density distribution (Fig. 4(a)) and a continuous density distribution (Fig. 4(b)). In both examples, it can be observed that the input densities are highly non-uniform. By applying the proposed EDEM method, we obtain the corresponding ellipsoidal density-equalizing maps. It can be observed that the domains with a high initial density are enlarged while the domains with a low initial density are shrunk, which shows that our method can accurately produce shape deformations on the ellipsoid based on the prescribed density. Also, from the histograms of the initial and final densities, it can be observed that the density is effectively equalized.

Refer to caption
Figure 4: Ellipsoidal density-equalizing maps of ellipsoidal surfaces. Each row shows one example. (a) An example with discontinuous input density. (b) An example with continuous input density. Left to right: The initial ellipsoidal surface color-coded with the initial density, the final EDEM result color-coded with the initial density, the histogram of the initial density, and the histogram of the final density.

Next, we consider some more complicated ellipsoidal mapping examples. Fig. 5(a) shows an ellipsoidal mesh with non-uniform distributed triangle elements. Specifically, the mesh is denser at the top part of the ellipsoid and much coarser at the bottom part. We define different populations on the ellipsoid such that the initial density of all the triangular regions is three times the density of all the pentagonal regions. From our EDEM mapping result, it can be observed that different regions are enlarged or shrunk accordingly. This shows that our method is capable of computing ellipsoidal density-equalizing maps on a non-uniform mesh. One may also wonder whether our method can be applied to more extreme ellipsoidal geometries and more extreme density distributions. In Fig. 5(b), we consider a more elongated ellipsoid with a more extreme density distribution prescribed on it, where the maximum and minimum density values differ by 10 times. It can be observed from our EDEM mapping result that different regions are effectively enlarged or shrunk based on the input density. This suggests that our method is capable of handling the extreme ellipsoidal geometry and extreme input density. Fig. 5(c) shows another ellipsoid with non-uniform mesh elements and a complicated continuous density distribution. Again, we can see that our proposed method produces an ellipsoidal density-equalizing map successfully. Lastly, in Fig. 5(d) we test our EDEM algorithm on a spherical surface (i.e. an ellipsoid with all three elliptic radii being identical). It can be observed from the mapping result that our method also works well for the spherical case.

Refer to caption
Figure 5: Additional examples of ellipsoidal density-equalizing maps of ellipsoidal surfaces. For each example, the left figure shows the input surface color-coded with the initial density, and the right figure shows the EDEM result color-coded with the initial density. (a) An ellipsoid with non-uniformly distributed mesh elements and a prescribed discontinuous density. (b) An elongated ellipsoid with a prescribed continuous density. (c) An ellipsoid with non-uniformly distributed mesh elements and a complex prescribed density. (d) A sphere with a prescribed continuous density.

For a more quantitative analysis, we record the computational time, radii of the ellipsoid, variance of the initial density, variance of the final density, and number of overlaps for all the above ellipsoidal mapping examples in Table 1. It can be observed that our EDEM method can be effectively applied to a wide range of ellipsoidal shapes with different elliptic radii. Specifically, for ellipsoids with different radii and input densities, the variances of the final density in the EDEM result are all close to 0. This shows that all EDEM results are highly density-equalizing. Also, it can be observed that all mapping results are folding-free. Overall, the experiments have demonstrated the versatility of the EDEM method.

Table 1: The performance of our EDEM algorithm. For each surface, we record the number of triangle elements, the computational time, the elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ) of the ellipsoidal domain, the variance of the normalized initial density ρ~1=ρ1Mean(ρ1)subscript~𝜌1subscript𝜌1Meansubscript𝜌1\widetilde{\rho}_{1}=\frac{\rho_{1}}{\text{Mean}(\rho_{1})}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = divide start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG start_ARG Mean ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG (where ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the initial vertex density), the variance of the normalized final density ρ~2=ρ2Mean(ρ2)subscript~𝜌2subscript𝜌2Meansubscript𝜌2\widetilde{\rho}_{2}=\frac{\rho_{2}}{\text{Mean}(\rho_{2})}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = divide start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG Mean ( italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_ARG (where ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is the final vertex density), and the number of overlaps.
Surface # Faces Time (s) (𝐚,𝐛,𝐜)𝐚𝐛𝐜\mathbf{(a,b,c)}( bold_a , bold_b , bold_c ) Var(ρ~1)Varsubscript~𝜌1\text{Var}(\widetilde{\rho}_{1})Var ( over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) Var(ρ~2)Varsubscript~𝜌2\text{Var}(\widetilde{\rho}_{2})Var ( over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) # Overlaps
Ellipsoid 1 (Fig. 4(a)) 7808 1.8171 (1,2,4) 0.1176 0.0032 0
Ellipsoid 2 (Fig. 4(b)) 7808 4.6973 (1,2,4) 0.2084 0.0028 0
Ellipsoid 3 (Fig. 5(a)) 20480 1.4869 (1,1,1.5) 0.3333 0.0137 0
Ellipsoid 4 (Fig. 5(b)) 18904 0.3811 (1,0.6,2) 0.2135 0.0055 0
Ellipsoid 5 (Fig. 5(c)) 20480 2.6060 (1,1,1.5) 0.2580 0.0010 0
Ellipsoid 6 (Fig. 5(d)) 18904 0.6203 (1,1,1) 0.2940 0.0068 0

Next, we consider computing the ellipsoidal density-equalizing maps for more general genus-0 closed surfaces. In Fig. 6, we set the population as the face area of the original mesh and apply our EDEM algorithm to achieve ellipsoidal area-preserving parameterizations. For the initial parameterization step, we map each surface conformally onto the ellipsoid using the FECM method [30]. Then, we apply the EDEM method to compute the ellipsoidal density-equalizing parameterizations. To assess the area-preserving property of the ellipsoidal parameterizations, we consider the area distortion for each triangular face T𝑇Titalic_T as follows:

darea(f)(T)=log(Area(f(T))/TArea(f(T))Area(T)/TArea(T)).subscript𝑑area𝑓𝑇Area𝑓𝑇subscriptsuperscript𝑇Area𝑓superscript𝑇Area𝑇subscriptsuperscript𝑇Areasuperscript𝑇d_{\text{area}}(f)(T)=\log\left(\frac{\text{Area}(f(T))/\sum_{T^{\prime}\in% \mathcal{F}}\text{Area}(f(T^{\prime}))}{\text{Area}(T)/\sum_{T^{\prime}\in% \mathcal{F}}\text{Area}(T^{\prime})}\right).italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) ( italic_T ) = roman_log ( divide start_ARG Area ( italic_f ( italic_T ) ) / ∑ start_POSTSUBSCRIPT italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_F end_POSTSUBSCRIPT Area ( italic_f ( italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ) end_ARG start_ARG Area ( italic_T ) / ∑ start_POSTSUBSCRIPT italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_F end_POSTSUBSCRIPT Area ( italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG ) . (42)

Here f𝑓fitalic_f denotes the ellipsoidal parameterization and \mathcal{F}caligraphic_F is the set of all triangular faces. The normalization factors in the numerator and denominator ensure that a perfectly area-preserving mapping would result in darea0subscript𝑑area0d_{\text{area}}\equiv 0italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ≡ 0. In Fig. 6, we present various genus-0 surface models, the initial ellipsoidal parameterizations, the ellipsoidal parameterizations obtained by our EDEM method, and the initial and final area distortions. It can be observed that the EDEM method performs very well for genus-0 closed surfaces with complex structures. Specifically, by visually comparing the triangle element distributions in the initial ellipsoidal parameterizations and the EDEM parameterization results, it is easy to see that the EDEM method achieves a more uniform distribution on the prescribed ellipsoid. By comparing the initial and final area distortion histograms, we can also see that the area distortion is significantly reduced by our EDEM method. For a more quantitative analysis, Table 2 provides detailed statistics on the performance of our EDEM algorithm for ellipsoidal area-preserving parameterization. We can see that the EDEM method can efficiently reduce the area distortion by over 95% on average when compared to the initial parameterization, and the bijectivity of the parameterization is well-preserved in all examples. Altogether, the experiments show that our EDEM method is capable of computing bijective ellipsoidal area-preserving parameterizations for a large variety of genus-0 closed surfaces.

Refer to caption
Figure 6: Ellipsoidal area-preserving parameterization of genus-0 closed surfaces obtained by the EDEM method. Each row shows one example. (a) The David model. (b) The Buddha model. (c) The hippocampus model. (d) The twisted ball model. Left to right: The input surface mesh, the initial ellipsoidal conformal parameterization obtained by the FECM method [30], the EDEM result, the histogram of the logged area ratio dareasubscript𝑑aread_{\text{area}}italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT of the initial ellipsoidal parameterization, and the histogram of the logged area ratio dareasubscript𝑑aread_{\text{area}}italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT of the final ellipsoidal parameterization.
Table 2: The performance of our EDEM algorithm for ellipsoidal area-preserving parameterization. For each surface, we record the number of triangle elements, the computational time, the elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ) of the target ellipsoidal domain, mean and standard deviation of the initial area distortion |darea(f0)|subscript𝑑areasubscript𝑓0|d_{\text{area}}(f_{0})|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | and the final area distortion |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) |, and the number of overlaps.
Surface # Faces Time (s) (𝐚,𝐛,𝐜)𝐚𝐛𝐜\mathbf{(a,b,c)}( bold_a , bold_b , bold_c ) |darea(f0)|subscript𝑑areasubscript𝑓0|d_{\text{area}}(f_{0})|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | # Overlaps
Mean SD Mean SD
David (Fig. 6(a)) 21338 2.6982 (1,1.2,1.4) 0.7078 0.5248 0.0132 0.0136 0
Buddha (Fig. 6(b)) 50002 10.5964 (1,1,1.4) 0.4365 0.3907 0.0366 0.0648 0
Hippocampus (Fig. 6(c)) 12000 3.1002 (1,1,2.2) 1.3635 1.4740 0.0515 0.0973 0
Twisted Ball (Fig. 6(d)) 38620 7.5060 (1,0.8,1.4) 0.8998 0.8195 0.0239 0.0289 0
Chinese Lion 1 (Fig. 1(a)) 10000 10.1311 (1,1,0.8) 1.8306 1.8851 0.1407 0.2081 0
Chinese Lion 2 (Fig. 1(a)) 10000 9.4919 (1,1,1.1) 1.6529 1.7923 0.1180 0.1759 0
Chinese Lion 3 (Fig. 1(a)) 10000 7.9418 (1,1,1.4) 1.5394 1.8125 0.1137 0.1892 0
Table 3: The results obtained by our EDEM algorithm with different elliptic radii. Here, for different choices of the elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ) of the target ellipsoid, we record the mean and standard deviation of the final area distortion |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) |, the mean value of the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ |, and the number of overlaps.
𝐚𝐚\mathbf{a}bold_a 𝐛𝐛\mathbf{b}bold_b 𝐜𝐜\mathbf{c}bold_c Mean(|darea(f)|)Meansubscript𝑑area𝑓\text{Mean}(|d_{\text{area}}(f)|)Mean ( | italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | ) SD(|darea(f)|)SDsubscript𝑑area𝑓\text{SD}(|d_{\text{area}}(f)|)SD ( | italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | ) Mean(|μ|)𝜇(|\mu|)( | italic_μ | ) # Overlaps
1 1 1 0.0895 0.1684 0.4443 0
0.7 1 0.1349 0.3481 0.4620 0
1.2 1 0.1042 0.2063 0.4446 0
1 0.8 0.0996 0.1838 0.4709 0
1 1.3 0.0816 0.1518 0.4017 0
1 1.5 0.0730 0.1322 0.3730 0
1 2.2 0.0515 0.0973 0.2862 0
1.3 1.6 0.1484 0.3474 0.4026 0
1.2 1.8 0.1340 0.3179 0.3942 0
1.1 2 0.0975 0.2178 0.3718 0

It is natural to ask whether the performance of our EDEM method is affected by the shape of the target ellipsoid. Here, we map the Hippocampus model to various target ellipsoids with different elliptic radii using our EDEM method and analyze the area and angle distortions of the resulting mappings. In Table 3, we report the mean and variance of the area distortion, as well as the mean value of the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ |. It can be observed that for all combinations of the elliptic radii, all mapping results are folding-free and possess low area distortion. This shows that our EDEM method is capable of computing area-preserving parameterizations of genus-0 closed surfaces onto different prescribed ellipsoids. However, if we also take the angle distortion into consideration, then some differences can be observed. For instance, if we increase the value of c𝑐citalic_c, we can see that the angle distortion is further reduced. This experiment suggests that the overall ellipsoidal shape plays an important role and motivates the need for the proposed EDEQ method, which optimizes the ellipsoidal geometry and achieves ellipsoidal density-equalizing quasi-conformal maps.

Refer to caption
Figure 7: Ellipsoidal density-equalizing quasi-conformal maps of ellipsoidal surfaces. Each row shows one example. (a) An example with discontinuous input density. (b) An example with continuous input density. Left to right: The initial ellipsoidal surface color-coded with the initial density, the final EDEQ result color-coded with the initial density, the histogram of the initial density, and the histogram of the final density.

4.2 Ellipsoidal density-equalizing quasi-conformal map

Next, we test our EDEQ algorithm for computing the ellipsoidal density-equalizing quasi-conformal mappings. In Fig. 7(a), we define different populations at different regions on the ellipsoid to obtain a discontinuous initial density. Note that the maximum density is three times larger than the minimum one. It can be observed in the EDEQ mapping result that the shape of the ellipsoid is changed under the mapping process, while the higher-density domain expands and the lower-density domain contracts. Comparing the initial and final density histograms, it can be observed that the density is highly equalized. Fig. 7(b) shows another example with a continuous initial density defined on an ellipsoid. Under the EDEQ algorithm, the ellipsoidal shape is stretched along the z-direction and becomes more elongated, and different regions are expanded or shrunk according to the given density. From the density histograms, it can again be observed that the mapping result is highly density-equalizing.

Refer to caption
Figure 8: Ellipsoidal density-equalizing quasi-conformal maps of ellipsoidal surfaces. For each example, the left figure shows the input surface color-coded with the initial density, and the right figure shows the EDEQ result color-coded with the initial density. (a) An ellipsoid with non-uniformly distributed mesh elements and a prescribed discontinuous density. (b) An elongated ellipsoid with a prescribed continuous density. (c) An ellipsoid with non-uniformly distributed mesh elements and a complex prescribed density. (d) A sphere with a prescribed continuous density.

In Fig. 8, we further apply the EDEQ method to the same set of ellipsoidal examples in Fig. 5. It can be observed that our EDEQ method produces ellipsoidal density-equalizing mapping results with both the ellipsoidal geometry and the vertex positions optimized. For a more quantitative analysis, we record the initial and final elliptic radii, the variance of the initial and final densities, the mean value of the Beltrami coefficient μ𝜇\muitalic_μ, and the number of overlaps for all the above-mentioned examples in Table 4. From the table, we can see that the ellipsoidal shapes are effectively optimized under the EDEQ method. Furthermore, in addition to possessing a highly density-equalizing effect as reflected in the variance of the final density, the mapping results also achieve a low conformal distortion. Specifically, note that the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ | normally ranges from 0 to 1, where |μ|=0𝜇0|\mu|=0| italic_μ | = 0 indicates that the mapping is conformal. As the value of |μ|𝜇|\mu|| italic_μ | is small for all examples, we can see that the EDEQ method not only achieves density equalization but also reduces the conformal distortion of the ellipsoidal mappings.

Table 4: The performance of our proposed EDEQ algorithm. For each surface, we record the number of triangle elements, the initial elliptic radii (a0,b0,c0)subscript𝑎0subscript𝑏0subscript𝑐0(a_{0},b_{0},c_{0})( italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) of the ellipsoid, the final elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ) of the ellipsoidal shape obtained by EDEQ, the variance of the normalized initial density ρ~1=ρ1Mean(ρ1)subscript~𝜌1subscript𝜌1Meansubscript𝜌1\widetilde{\rho}_{1}=\frac{\rho_{1}}{\text{Mean}(\rho_{1})}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = divide start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG start_ARG Mean ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG (where ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the initial vertex density), the variance of the normalized final density ρ~2=ρ2Mean(ρ2)subscript~𝜌2subscript𝜌2Meansubscript𝜌2\widetilde{\rho}_{2}=\frac{\rho_{2}}{\text{Mean}(\rho_{2})}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = divide start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG Mean ( italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_ARG (where ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is the final vertex density), the mean value of norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ |, and the number of overlaps.
Surface # Faces (𝐚𝟎,𝐛𝟎,𝐜𝟎)subscript𝐚0subscript𝐛0subscript𝐜0\mathbf{(a_{0},b_{0},c_{0})}( bold_a start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , bold_b start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , bold_c start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT ) (𝐚,𝐛,𝐜)𝐚𝐛𝐜\mathbf{(a,b,c)}( bold_a , bold_b , bold_c ) Var(ρ~1)Varsubscript~𝜌1\text{Var}(\widetilde{\rho}_{1})Var ( over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) Var(ρ~2)Varsubscript~𝜌2\text{Var}(\widetilde{\rho}_{2})Var ( over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) mean(|μ|𝜇|\mu|| italic_μ |) # Overlaps
Ellipsoid 1 (Fig. 7(a)) 7808 (1,1,2) (1,1.8973,2.8163) 0.2503 0.0049 0.1434 0
Ellipsoid 2 (Fig. 7(b)) 7808 (1,2,4) (1,1.9888,4.3110) 0.2084 0.0029 0.1953 0
Ellipsoid 3 (Fig. 8(a)) 20480 (1,1,1.5) (1,1,1.4250) 0.333 0.0153 0.1852 0
Ellipsoid 4 (Fig. 8(b)) 18904 (1,0.6,2) (1,0.9821,2.5162) 0.2135 0.0082 0.2285 0
Ellipsoid 5 (Fig. 8(c)) 20480 (1,1,1.5) (1,1.0310,1.0783) 0.2580 0.0011 0.1679 0
Ellipsoid 6 (Fig. 8(d)) 18904 (1,1,1) (1,1.3095,0.9100) 0.2940 0.0072 0.2267 0

Next, we consider using the EDEQ method to compute the ellipsoidal area-preserving parameterizations for genus-0 closed surfaces. For each surface in Fig. 9, we first conformally map it onto an ellipsoid with some arbitrary elliptic radii using the FECM method [30]. Then, we apply the EDEQ algorithm with the population set as the original face area to obtain the ellipsoidal area-preserving parameterizations. It can be observed that the ellipsoidal shapes are changed significantly under the EDEQ method. Comparing the initial and final area distortion histograms, we can see that the mapping results are highly area-preserving.

Refer to caption
Figure 9: Ellipsoidal area-preserving quasi-conformal parameterization of genus-0 closed surfaces. Each row shows one example. (a) The Duck model. (b) The Hippocampus model. (c) The Lion-Vase model. Left to right: The input surface mesh, the initial ellipsoidal conformal parameterization, the final EDEQ result, the histogram of the logged area ratio dareasubscript𝑑aread_{\text{area}}italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT of the initial ellipsoidal parameterization, and the histogram of the logged area ratio dareasubscript𝑑aread_{\text{area}}italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT of the final ellipsoidal parameterization.
Refer to caption
Figure 10: The shape change of the ellipsoidal parameterization under the proposed EDEQ method. Each row shows one example. (a) The Duck model. (b) The Hippocampus model. (c) The Lion-Vase model. Left to right: The input surface mesh, the initial ellipsoidal conformal parameterization, the results after 10, 50, and 100 iterations, and the final EDEQ result.

As the choice of the initial elliptic radii is arbitrary, we can even start with a unit sphere and run the EDEQ method to eventually obtain an optimal ellipsoidal parameterization. In Fig. 10, we consider several genus-0 closed surface models and compute an initial spherical conformal parameterization. Then, we apply the proposed EDEQ algorithm to compute an optimal ellipsoidal area-preserving parameterization. It can be observed that throughout the EDEQ iterative process, both the ellipsoidal shapes and the vertex positions on the ellipsoids are changed gradually. For a more quantitative analysis, Table 5 summarizes the performance of our EDEQ algorithm in terms of the final radii, the initial and final area distortions, the conformal distortion, and the number of overlaps. Comparing the initial and final area distortions, it can be observed that the area distortion is significantly reduced in all examples. The mean of the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ | is also small, indicating that the conformal distortion is low. Besides, the number of overlaps is 0 for all examples, which shows that our mapping results are all folding-free. In Table 6, We further compare the performance of the EDEQ method and the EDEM method in terms of the area and conformal distortions, where both methods use the same initial elliptic radii. It can be observed that the EDEQ method achieves a significantly lower conformal distortion when compared to the EDEM method, while the area distortion remains comparable. Altogether, the above experiments demonstrate the effectiveness of our proposed EDEQ method for ellipsoidal density-equalizing quasi-conformal maps.

Table 5: The performance of our EDEQ algorithm for ellipsoidal area-preserving parameterization. For each surface, we start with an initial spherical conformal parameterization and then apply the EDEQ algorithm. The number of triangle elements, the final elliptic radii (a,b,c)𝑎𝑏𝑐(a,b,c)( italic_a , italic_b , italic_c ), the mean and standard deviation of the initial area distortion |darea(f0)|subscript𝑑areasubscript𝑓0|d_{\text{area}}(f_{0})|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | and the final area distortion |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) |, the mean value of the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ |, and the number of overlaps are recorded.
Surface # Faces (𝐚,𝐛,𝐜)𝐚𝐛𝐜\mathbf{(a,b,c)}( bold_a , bold_b , bold_c ) |darea(f0)|subscript𝑑areasubscript𝑓0|d_{\text{area}}(f_{0})|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) | |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | mean(|μ|𝜇|\mu|| italic_μ |) # Overlaps
Mean SD Mean SD
Duck (Fig. 10(a)) 20000 (1,1.8797,1.8521) 1.0561 1.2190 0.0241 0.0379 0.2216 0
Hippocampus (Fig. 10(b)) 12000 (1,0.1886,1.8818) 2.5651 1.7272 0.1028 0.1990 0.2602 0
Lion-Vase (Fig. 10(c)) 38620 (1,0.3833,1.6136) 0.8264 0.7195 0.1032 0.1749 0.2306 0
David (Fig. 1(b)) 21338 (1,1.0062,1.5126) 0.5652 0.4349 0.0125 0.0133 0.1279 0
Table 6: Comparison between the EDEM method and the EDEQ method. We record the mean and standard deviation of the final area distortion |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) |, the mean of the norm of the Beltrami coefficient |μ|𝜇|\mu|| italic_μ |, and the number of overlaps for each example and each method.
Surface EDEM EDEQ
Mean of |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | SD of |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | Mean(|μ|)𝜇(|\mu|)( | italic_μ | ) # Overlaps Mean of |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | SD of |darea(f)|subscript𝑑area𝑓|d_{\text{area}}(f)|| italic_d start_POSTSUBSCRIPT area end_POSTSUBSCRIPT ( italic_f ) | Mean(|μ|)𝜇(|\mu|)( | italic_μ | ) # Overlaps
Duck 0.0268 0.0507 0.2467 0 0.0241 0.0379 0.2216 0
Hippocampus 0.0895 0.1684 0.4443 0 0.1028 0.1990 0.2602 0
Lion-Vase 0.0909 0.1604 0.3137 0 0.1032 0.1749 0.2306 0

5 Application to genus-0 surface remeshing

Note that one important application of surface parameterization is surface remeshing [50]. Specifically, after computing the parameterization of a given surface, one can generate a high-quality mesh on the parameter domain and use the inverse of the parameterization mapping to map the mesh onto the input surface, thereby yielding a remeshed surface. For instance, Sheffer and de Sturler [51] utilized the angle-based flattening method to compute parameterizations for surface remeshing. Praun and Hoppe [52] computed spherical parameterization for surface remeshing. Later, different point cloud parameterization methods [53, 54] have been developed and applied to surface meshing. Analogously, our proposed EDEM and EDEQ methods can be easily applied to genus-0 surface remeshing.

Refer to caption
Figure 11: The surface remeshing results of the Pig model obtained by SCM [9], SDEM [43], ECM [30], the proposed EDEM method, and the proposed EDEQ method. For each surface, two different views are provided.
Refer to caption
Figure 12: The surface remeshing results of the Bear model obtained by SCM [9], SDEM [43], ECM [30], the proposed EDEM method, and the proposed EDEQ method. For each surface, two different views are provided.
Refer to caption
Figure 13: The surface remeshing results of the Hippocampus model obtained by SCM [9], SDEM [43], ECM [30], the proposed EDEM method, and the proposed EDEQ method. For each surface, two different views are provided.
Refer to caption
Figure 14: The surface remeshing results of the Lion-vase model obtained by SCM [9], SDEM [43], ECM [30], the proposed EDEM method, and the proposed EDEQ method. For each surface, two different views are provided.

In Figs. 11, 12, 13, and 14, we consider various genus-0 surface models and compare the remeshing results obtained by different parameterization methods for genus-0 closed surfaces, including spherical conformal mapping (SCM) [9], spherical density-equalizing mapping (SDEM) [43], ellipsoidal conformal mapping (ECM) [30], our ellipsoidal density-equalizing mapping (EDEM) method, and our ellipsoidal density-equalizing quasi-conformal mapping (EDEQ) method. For each genus-0 surface model \mathcal{M}caligraphic_M in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT and each parameterization method, denote the parameterization mapping by f:𝒯:𝑓𝒯f:\mathcal{M}\rightarrow\mathcal{T}italic_f : caligraphic_M → caligraphic_T, where the parameter domain 𝒯𝒯\mathcal{T}caligraphic_T is either the unit sphere (for SCM and SDEM) or an ellipsoid (for ECM, EDEM and EDEQ). Then we construct a regular triangular mesh 𝒯Δsubscript𝒯Δ\mathcal{T}_{\Delta}caligraphic_T start_POSTSUBSCRIPT roman_Δ end_POSTSUBSCRIPT on 𝒯𝒯\mathcal{T}caligraphic_T using the DistMesh method [55]. Finally, using the inverse mappings f1:𝒯:superscript𝑓1𝒯f^{-1}:\mathcal{T}\to\mathcal{M}italic_f start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT : caligraphic_T → caligraphic_M, the regular mesh 𝒯Δsubscript𝒯Δ\mathcal{T}_{\Delta}caligraphic_T start_POSTSUBSCRIPT roman_Δ end_POSTSUBSCRIPT can be mapped back onto \mathcal{M}caligraphic_M, yielding a remeshed surface f1(𝒯Δ)superscript𝑓1subscript𝒯Δf^{-1}(\mathcal{T}_{\Delta})italic_f start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( caligraphic_T start_POSTSUBSCRIPT roman_Δ end_POSTSUBSCRIPT ). For a fair comparison, we enforce the number of vertices of the triangular mesh generated by DistMesh (and hence the number of vertices of the final remeshing result) for each method to be approximately 8500 (with variation <±1%absentplus-or-minuspercent1<\pm 1\%< ± 1 %).

From the remeshing results in Figs. 11, 12, 13, and 14, it can be observed that the two conformal approaches (SCM and ECM) lead to significantly non-uniform remeshing results. Moreover, the shape features near the sharp regions are lost in the SCM and ECM results. This can be explained by the fact that the conformal mappings preserve angles but may yield large area distortions. By contrast, the remeshing results obtained by the density-equalizing approaches (SDEM, EDEM, and EDEQ) are much more uniform and have a higher mesh quality. The features located near the sharp regions are well-preserved.

Refer to caption
Figure 15: Comparison for the surface remeshing results between the SDEM method [43], the proposed EDEM method, and the proposed EDEQ method. Each row shows one example. For each method, we show a zoom-in of the remeshed surface obtained by the method to visualize the triangle quality.

To further compare the remeshing results obtained using the density-equalizing approaches, Fig. 15 shows the zoom-in images of the SDEM, EDEM and EDEQ remeshing results for the Pig, Bear, Hippocampus, and Lion-Vase models. From the zoom-in images, we can see that the EDEQ remeshing results are more uniform than the ones by the other two methods, especially at the regions corresponding to certain sharp features in the surface models. Moreover, comparing the mesh qualities in terms of the angles of the triangles, it can be observed that the SDEM remeshing results contain more skinny and irregular triangle elements when compared to the other two methods. This can be explained by the fact that the SDEM method maps all surfaces onto the unit sphere regardless of their geometries, which may lead to large geometric distortions. Also, while the EDEM method allows us to map the surfaces onto a prescribed ellipsoid, we may need to carefully choose a suitable ellipsoidal shape in order to reduce both the area and angle distortions of the mappings. By contrast, the EDEQ method optimizes both the ellipsoidal shape and the mapping onto it, giving the highest flexibility among the three methods. Therefore, it gives the most uniformly distributed and regular triangle elements in the remeshing results.

For a more quantitative analysis, we evaluate the surface remeshing performance of different approaches by considering the shape and size variations of the triangle elements in the remeshed surfaces. Ideally, the triangle elements on the remeshed surface should be as uniform as possible in terms of their size (i.e. the area of the triangles) and shape (i.e. the regularity of the triangles). To assess the size variation of the remeshed surface, we define the size variation measure δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT as follows:

δsize=log(AmaxAmin),subscript𝛿sizesubscript𝐴maxsubscript𝐴min\delta_{\text{size}}=\log\left(\frac{A_{\text{max}}}{A_{\text{min}}}\right),italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT = roman_log ( divide start_ARG italic_A start_POSTSUBSCRIPT max end_POSTSUBSCRIPT end_ARG start_ARG italic_A start_POSTSUBSCRIPT min end_POSTSUBSCRIPT end_ARG ) , (43)

where Amaxsubscript𝐴maxA_{\text{max}}italic_A start_POSTSUBSCRIPT max end_POSTSUBSCRIPT is the maximum triangle area and Aminsubscript𝐴minA_{\text{min}}italic_A start_POSTSUBSCRIPT min end_POSTSUBSCRIPT is the minimum triangle area in the remeshed surface. It is easy to see that δsize0subscript𝛿size0\delta_{\text{size}}\geq 0italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT ≥ 0 for any remeshed surface, and the equality holds if and only if Amax=Aminsubscript𝐴maxsubscript𝐴minA_{\text{max}}=A_{\text{min}}italic_A start_POSTSUBSCRIPT max end_POSTSUBSCRIPT = italic_A start_POSTSUBSCRIPT min end_POSTSUBSCRIPT, i.e. all triangle elements of the remeshed surface are equal in size. This shows that δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT can effectively capture the size variation in the remeshed surface.

To assess the shape variation, we first define the face regularity Risubscript𝑅𝑖R_{i}italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for each face Tisubscript𝑇𝑖T_{i}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of the remeshed surface as follows:

Ri=j=13|ejie1i+e2i+e3i13|,subscript𝑅𝑖subscriptsuperscript3𝑗1subscriptsuperscript𝑒𝑖𝑗subscriptsuperscript𝑒𝑖1subscriptsuperscript𝑒𝑖2subscriptsuperscript𝑒𝑖313R_{i}=\sum^{3}_{j=1}\left|\frac{e^{i}_{j}}{e^{i}_{1}+e^{i}_{2}+e^{i}_{3}}-% \frac{1}{3}\right|,italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT | divide start_ARG italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG - divide start_ARG 1 end_ARG start_ARG 3 end_ARG | , (44)

where e1i,e2i,e3isubscriptsuperscript𝑒𝑖1subscriptsuperscript𝑒𝑖2subscriptsuperscript𝑒𝑖3e^{i}_{1},e^{i}_{2},e^{i}_{3}italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_e start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT represent the length of the three edges of Tisubscript𝑇𝑖T_{i}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Note that Ri=0subscript𝑅𝑖0R_{i}=0italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 if and only if Tisubscript𝑇𝑖T_{i}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is an equilateral triangle. Then, we define the shape variation measure δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT of the entire remeshed surface as

δshape=mean𝑖(Ri).subscript𝛿shape𝑖meansubscript𝑅𝑖\delta_{\text{shape}}=\underset{i}{\text{mean}}(R_{i}).italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT = underitalic_i start_ARG mean end_ARG ( italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) . (45)

It is easy to see that δshape0subscript𝛿shape0\delta_{\text{shape}}\geq 0italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT ≥ 0 for any remeshed surface, and the equality holds if and only if all triangles in the remeshed surface are equilateral. Therefore, δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT can effectively quantify the overall shape variation of the remeshed surface.

Table 7 records the values of δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT and δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT for all remeshing results shown in Figs. 11, 12, 13, and 14. For the two conformal approaches (SCM and ECM), it can be observed that the values of δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT are small but the values of δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT are extremely large, which means the remeshing results obtained by those two methods are highly non-uniform in size. By contrast, the values of δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT for the three density-equalizing approaches (SDEM, EDEM, and EDEQ) are small. This demonstrates the advantage of utilizing density-equalizing maps for surface remeshing. Furthermore, by considering both δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT and δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT for the three density-equalizing methods, it can be observed that the EDEQ method gives the best overall remeshing performance among the three methods, which also matches our observations in Fig. 15.

Table 7: Comparison between the surface remeshing results obtained by SCM [9], ECM [30], SDEM [43], EDEM, and EDEQ. For each method, we record the shape variation measure δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT and the size variation measure δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT of the remeshed surface.
Surface Method Shape variation δshapesubscript𝛿shape\delta_{\text{shape}}italic_δ start_POSTSUBSCRIPT shape end_POSTSUBSCRIPT Size variation δsizesubscript𝛿size\delta_{\text{size}}italic_δ start_POSTSUBSCRIPT size end_POSTSUBSCRIPT
Pig (Fig. 11) SCM 0.0499 4.5846
ECM 0.0505 4.7123
SDEM 0.1562 3.3251
EDEM 0.1493 2.4706
EDEQ 0.1478 1.4218
Bear (Fig. 12) SCM 0.0535 3.7168
ECM 0.0526 3.9181
SDEM 0.1296 1.9349
EDEM 0.1282 1.4401
EDEQ 0.1263 1.3977
Hippocampus (Fig. 13) SCM 0.0546 7.7204
ECM 0.0549 7.0796
SDEM 0.2593 4.1060
EDEM 0.2428 1.3482
EDEQ 0.1568 1.2508
Lion-Vase (Fig. 14) SCM 0.0587 5.5245
ECM 0.0576 5.4088
SDEM 0.1744 2.9125
EDEM 0.1583 1.7410
EDEQ 0.1249 1.7081

6 Discussion

In this work, we have proposed a novel method for computing bijective ellipsoidal density-equalizing maps (EDEM) for genus-0 closed surfaces. Using this approach, we can efficiently obtain parameterizations with different desired mapping effects, including ellipsoidal area-preserving parameterizations and ellipsoidal parameterizations with controlled area change. Also, by considering a combined energy involving both a density-equalizing term and a quasi-conformal term, we can achieve ellipsoidal density-equalizing quasi-conformal maps (EDEQ) balancing the angle and area distortions. Experimental results on various ellipsoidal surfaces and genus-0 closed surface models have demonstrated the effectiveness of our proposed methods. Our proposed methods can be easily applied to surface remeshing of genus-0 closed surfaces, with the remeshing quality significantly improved when compared to other prior approaches.

We remark that while our proposed methods have considered both the density-equalizing property and the quasi-conformality, landmark-matching constraints have not been incorporated into our formulations. In the future, we plan to further extend our methods to facilitate landmark-matching surface parameterization and surface registration. Our models may also be combined with curvature-based methods to achieve curvature-based surface registrations with controlled area change for surfaces with extreme geometries.

References

  • [1] M. S. Floater and K. Hormann, “Surface parameterization: a tutorial and survey,” in Advances in Multiresolution for Geometric Modelling, pp. 157–186, Springer, 2005.
  • [2] A. Sheffer, E. Praun, and K. Rose, “Mesh parameterization methods and their applications,” Found. Trends Comput. Graph. Vis., vol. 2, no. 2, pp. 105–171, 2007.
  • [3] K. Hormann, K. Polthier, and A. Sheffer, “Mesh parameterization: theory and practice,” in ACM SIGGRAPH ASIA 2008 courses, pp. 1–87, Association for Computing Machinery, 2008.
  • [4] G. P. T. Choi and L. M. Lui, “Recent developments of surface parameterization methods using quasi-conformal geometry,” Handbook of Mathematical Models and Algorithms in Computer Vision and Imaging: Mathematical Imaging and Vision, pp. 1483–1523, 2023.
  • [5] S. Haker, S. Angenent, A. Tannenbaum, R. Kikinis, G. Sapiro, and M. Halle, “Conformal surface parameterization for texture mapping,” IEEE Trans. Vis. Comput. Graph., vol. 6, no. 2, pp. 181–189, 2000.
  • [6] X. Gu, Y. Wang, T. F. Chan, P. M. Thompson, and S.-T. Yau, “Genus zero surface conformal mapping and its application to brain surface mapping,” IEEE Trans. Med. Imaging, vol. 23, no. 8, pp. 949–958, 2004.
  • [7] X. Chen, H. He, G. Zou, X. Zhang, X. Gu, and J. Hua, “Ricci flow-based spherical parameterization and surface registration,” Comput. Vis. Image Underst., vol. 117, no. 9, pp. 1107–1118, 2013.
  • [8] K. Crane, U. Pinkall, and P. Schröder, “Robust fairing via conformal curvature flow,” ACM Trans. Graph., vol. 32, no. 4, pp. 1–10, 2013.
  • [9] P. T. Choi, K. C. Lam, and L. M. Lui, “FLASH: Fast landmark aligned spherical harmonic parameterization for genus-0 closed brain surfaces,” SIAM J. Imaging Sci., vol. 8, no. 1, pp. 67–94, 2015.
  • [10] G. P. T. Choi, Y. Leung-Liu, X. Gu, and L. M. Lui, “Parallelizable global conformal parameterization of simply-connected surfaces via partial welding,” SIAM J. Imaging Sci., vol. 13, no. 3, pp. 1049–1083, 2020.
  • [11] W.-H. Liao, T.-M. Huang, W.-W. Lin, and M.-H. Yueh, “Convergence analysis of Dirichlet energy minimization for spherical conformal parameterizations,” J. Sci. Comput., vol. 98, no. 29, pp. 1–28, 2024.
  • [12] Z. Su, W. Zeng, R. Shi, Y. Wang, J. Sun, and X. Gu, “Area preserving brain mapping,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2235–2242, 2013.
  • [13] X. Gu, F. Luo, J. Sun, and S. T. Yau, “Variational principles for minkowski type problems, discrete optimal transport, and discrete monge-ampere equations,” Asian J. Math., vol. 20, no. 2, pp. 383–398, 2016.
  • [14] L. Cui, X. Qi, C. Wen, N. Lei, X. Li, M. Zhang, and X. Gu, “Spherical optimal transportation,” Comput. Aided Des., vol. 115, pp. 181–193, 2019.
  • [15] A. Pumarola, J. Sanchez-Riera, G. P. T. Choi, A. Sanfeliu, and F. Moreno-Noguer, “3DPeople: Modeling the geometry of dressed humans,” in Proceedings of the IEEE International Conference on Computer Vision, pp. 2242–2251, 2019.
  • [16] A. Giri, G. P. T. Choi, and L. Kumar, “Open and closed anatomical surface description via hemispherical area-preserving map,” Signal Process., vol. 180, p. 107867, 2021.
  • [17] G. P. T. Choi, A. Giri, and L. Kumar, “Adaptive area-preserving parameterization of open and closed anatomical surfaces,” Comput. Biol. Med., vol. 148, p. 105715, 2022.
  • [18] C. Gotsman, X. Gu, and A. Sheffer, “Fundamentals of spherical parameterization for 3D meshes,” ACM Trans. Graph., vol. 22, no. 3, pp. 358–363, 2003.
  • [19] L. M. Lui, Y. Wang, T. F. Chan, and P. Thompson, “Landmark constrained genus zero surface conformal mapping and its application to brain mapping research,” Appl. Numer. Math., vol. 57, no. 5-7, pp. 847–858, 2007.
  • [20] J. Lefèvre and G. Auzias, “Spherical parameterization for genus zero surfaces using laplace-beltrami eigenfunctions,” in International Conference on Geometric Science of Information, pp. 121–129, Springer, 2015.
  • [21] S. Nadeem, Z. Su, W. Zeng, A. Kaufman, and X. Gu, “Spherical parameterization balancing angle and area distortions,” IEEE Trans. Vis. Comput. Graph., vol. 23, no. 6, pp. 1663–1676, 2016.
  • [22] C. Wang, X. Hu, X. Fu, and L. Liu, “Bijective spherical parametrization with low distortion,” Comput. Graph., vol. 58, pp. 161–171, 2016.
  • [23] G. P.-T. Choi, M. H.-Y. Man, and L. M. Lui, “Fast spherical quasiconformal parameterization of genus-0 closed surfaces with application to adaptive remeshing,” Geom. Imaging Comput., vol. 3, no. 1–2, pp. 1–29, 2016.
  • [24] X. Hu, X.-M. Fu, and L. Liu, “Advanced hierarchical spherical parameterizations,” IEEE Trans. Vis. Comput. Graph., vol. 24, no. 6, pp. 1930–1941, 2017.
  • [25] Z. Wang, Z. Luo, J. Zhang, and E. Saucan, “A novel local/global approach to spherical parameterization,” J. Comput. Appl. Math., vol. 329, pp. 294–306, 2018.
  • [26] M.-H. Yueh, T.-M. Huang, T. Li, W.-W. Lin, and S.-T. Yau, “Projected gradient method combined with homotopy techniques for volume-measure-preserving optimal mass transportation problems,” J. Sci. Comput., vol. 88, pp. 1–24, 2021.
  • [27] Z. Lyu, Q. Chen, and L. M. Lui, “A two-stage algorithm for combined quasiconformal and optimal mass transportation spherical parameterization,” Math. Comput. Geom. Data, vol. 3, no. 1, pp. 29–57, 2023.
  • [28] T.-M. Huang, W.-H. Liao, and W.-W. Lin, “Fundamental theory and R-linear convergence of stretch energy minimization for spherical equiareal parameterization,” J. Numer. Math., vol. 32, no. 1, pp. 1–25, 2024.
  • [29] J.-W. Lin, T. Li, W.-W. Lin, and T.-M. Huang, “Ellipsoidal conformal and area-/volume-preserving parameterizations and associated optimal mass transportations,” Adv. Comput. Math., vol. 49, no. 4, p. 50, 2023.
  • [30] G. P. T. Choi, “Fast ellipsoidal conformal and quasi-conformal parameterization of genus-0 closed surfaces,” J. Comput. Appl. Math., p. 115888, 2024.
  • [31] M. Shaqfa and W. M. van Rees, “Spheroidal harmonics for generalizing the morphological decomposition of closed parametric surfaces,” arXiv preprint arXiv:2407.03350, 2024.
  • [32] M. T. Gastner and M. E. J. Newman, “Diffusion-based method for producing density-equalizing maps,” Proc. Natl. Acad. Sci., vol. 101, no. 20, pp. 7499–7504, 2004.
  • [33] D. Dorling, M. Newman, and A. Barford, The atlas of the real world. Thames & Hudson., 2008.
  • [34] M. T. Gastner, Spatial distributions: Density-equalizing map projections, facility location, and two-dimensional networks. Ph.D. Thesis, University of Michigan, 2005.
  • [35] M. T. Gastner, V. Seguy, and P. More, “Fast flow-based algorithm for creating density-equalizing map projections,” Proc. Natl. Acad. Sci., vol. 115, no. 10, pp. E2156–E2164, 2018.
  • [36] Z. Li and S. Aryana, “Diffusion-based cartogram on spheres,” Cartogr. Geogr. Inf. Sci., vol. 45, no. 5, pp. 464–475, 2018.
  • [37] G. P. T. Choi and C. H. Rycroft, “Density-equalizing maps for simply connected open surfaces,” SIAM J. Imaging Sci., vol. 11, no. 2, pp. 1134–1178, 2018.
  • [38] G. P. T. Choi, B. Chiu, and C. H. Rycroft, “Area-preserving mapping of 3D carotid ultrasound images using density-equalizing reference map,” IEEE Trans. Biomed. Eng., vol. 67, no. 9, pp. 1507–1517, 2020.
  • [39] M. Shaqfa, G. P. T. Choi, G. Anciaux, and K. Beyer, “Disk harmonics for analysing curved and flat self-affine rough surfaces and the topological reconstruction of open surfaces,” arXiv preprint arXiv:2403.07001, 2024.
  • [40] G. P. T. Choi and M. Shaqfa, “Hemispheroidal parameterization and harmonic decomposition of simply connected open surfaces,” arXiv preprint arXiv:2407.15417, 2024.
  • [41] G. P. T. Choi and C. H. Rycroft, “Volumetric density-equalizing reference maps with applications,” J. Sci. Comput., vol. 86, no. 3, p. 41, 2021.
  • [42] Z. Lyu, G. P. T. Choi, and L. M. Lui, “Bijective density-equalizing quasiconformal map for multiply connected open surfaces,” SIAM J. Imaging Sci., vol. 17, no. 1, pp. 706––755, 2024.
  • [43] Z. Lyu, L. M. Lui, and G. P. T. Choi, “Spherical density-equalizing map for genus-0 closed surfaces,” SIAM J. Imaging Sci., to appear.
  • [44] Z. Nehari, Conformal mapping. Courier Corporation, 2012.
  • [45] O. Lehto and K. I. Virtanen, Quasiconformal mappings in the plane, vol. 126. Springer Berlin, Heidelberg, 1973.
  • [46] L. V. Ahlfors, Lectures on quasiconformal mappings, vol. 38. American Mathematical Society, Providence, RI, 2006.
  • [47] L. M. Lui, K. C. Lam, T. W. Wong, and X. Gu, “Texture map and video compression using Beltrami representation,” SIAM J. Imaging Sci., vol. 6, no. 4, pp. 1880–1902, 2013.
  • [48] U. Pinkall and K. Polthier, “Computing discrete minimal surfaces and their conjugates,” Exp. Math., vol. 2, no. 1, pp. 15–36, 1993.
  • [49] A. Jacobson, “Common 3D test models.” https://github.com/alecjacobson/common-3d-test-models, 2023. Accessed: 2023-10-03.
  • [50] P. Alliez, G. Ucelli, C. Gotsman, and M. Attene, “Recent advances in remeshing of surfaces,” in Shape Analysis and Structuring, pp. 53–82, Springer, 2008.
  • [51] A. Sheffer and E. de Sturler, “Parameterization of faceted surfaces for meshing using angle-based flattening,” Eng. Comput., vol. 17, pp. 326–337, 2001.
  • [52] E. Praun and H. Hoppe, “Spherical parametrization and remeshing,” ACM Trans. Graph., vol. 22, no. 3, pp. 340–349, 2003.
  • [53] M. Zwicker and C. Gotsman, “Meshing point clouds using spherical parameterization,” in Proceedings of the First Eurographics conference on Point-Based Graphics, pp. 173–180, 2004.
  • [54] G. P.-T. Choi, K. T. Ho, and L. M. Lui, “Spherical conformal parameterization of genus-0 point clouds for meshing,” SIAM J. Imaging Sci., vol. 9, no. 4, pp. 1582–1618, 2016.
  • [55] P.-O. Persson and G. Strang, “A simple mesh generator in MATLAB,” SIAM Review, vol. 46, no. 2, pp. 329–345, 2004.