1 Introduction

The goal of surface parameterization is to map a surface in \(\mathbb {R}^3\) onto a simple standardized domain. Over the past few decades, surface parameterization algorithms have been extensively studied [1,2,3]. In general, any parameterization will unavoidably induce angle and/or area distortions. Therefore, it is common to consider conformal parameterizations, which preserve angles and hence the local geometry of the surfaces. Existing conformal parameterization methods include harmonic energy minimization [4, 5] and its linearizations [6,7,8], least-square conformal map (LSCM) [9], discrete natural conformal parameterization (DNCP) [10], holomorphic 1-form [11], Yamabe flow [12], angle-based flattening (ABF) [13, 14], circle patterns [15], discrete conformal equivalence [16], Ricci flow [17,18,19,20], spectral conformal map [21], curvature prescription [22], zipper algorithms [23, 24], boundary first flattening [25], conformal energy minimization [26] etc. In recent years, quasi-conformal theory has emerged as a useful tool for the development of surface parameterization methods [27, 28] with applications to image and video processing [29, 30], geometry processing and graphics [31,32,33,34,35], metamaterial design [36], medical visualization [37, 38] and biological shape analysis [39,40,41]. However, most of the above-mentioned conformal parameterization methods only work for simply-connected surfaces, which do not contain any holes.

For multiply-connected surfaces with annulus or poly-annulus topology, the computation of conformal maps is more complicated. Some earlier works have considered mapping a multiply-connected open surface onto a circular domain with concentric circular slits [42, 43]. Also, by the Koebe’s uniformization theorem, any multiply-connected open surface with k holes can be conformally mapped to a unit disk with k circular holes [44]. Based on this remarkable result, a few parameterization algorithms have been developed for multiply-connected open surfaces using Ricci flow [17], holomorphic 1-form [45], Laurent series [46], Beltrami energy minimization [47], discrete conformal equivalence [48] etc.

In this work, we propose two novel algorithms for computing the conformal parameterization of multiply-connected surfaces using quasi-conformal theory. We first propose an efficient method for conformally mapping an open surface with one hole (i.e. a topological annulus) to an annulus domain with unit outer radius (Fig. 1, left). We then utilize this method to develop another fast algorithm for conformally mapping a multiply-connected open surface with k holes (i.e. a topological poly-annulus) to a unit disk with k circular holes (Fig. 1, right). With the aid of quasi-conformal theory, we can effectively achieve the conformality and bijectivity of the parameterizations.

Fig. 1
figure 1

Conformal parameterizations of multiply-connected surfaces achieved by our proposed methods. (Left) The conformal parameterization of an open surface with one hole onto an annulus by our Annulus Conformal Map (ACM) algorithm. (Right) The conformal parameterization of a multiply-connected open surface onto a unit disk with circular holes by our Poly-Annulus Conformal Map (PACM) algorithm

The rest of the paper is organized as follows. In Sect. 2, we review the concepts of conformal and quasi-conformal maps. In Sect. 3, we describe our proposed methods for the conformal parameterization of multiply-connected surfaces. In Sect. 4, we demonstrate the effectiveness of our parameterization methods using numerical experiments. Applications of the proposed methods are explored in Sect. 5. We conclude the paper and discuss possible future directions in Sect. 6.

2 Mathematical Background

In this section, we review some mathematical concepts related to our work. Readers are referred to [49,50,51] for more details.

2.1 Conformal Map

Let \(f: \mathbb {C}\rightarrow \mathbb {C}\) be a map with \(f(z) = f(x,y) = u(x,y)+iv(x,y)\), where uv are real-valued functions. f is said to be a conformal map if it satisfies the Cauchy–Riemann equations:

$$\begin{aligned} \left\{ \begin{array}{ll} \dfrac{\partial u}{\partial x} &{}= \dfrac{\partial v}{\partial y},\\ \dfrac{\partial u}{\partial y} &{}= -\dfrac{\partial v}{\partial x}. \end{array} \right. \end{aligned}$$
(1)

Möbius transformations are a special class of conformal maps on the complex plane. Mathematically, a Möbius transformation \(f:\mathbb {C}\rightarrow \mathbb {C}\) is in the form

$$\begin{aligned} f(z) = \dfrac{az+b}{cz+d}, \end{aligned}$$
(2)

with \(a,b,c,d\in \mathbb {C}\) satisfying \(ad-bc\ne 0\).

2.2 Quasi-Conformal Map

Quasi-conformal maps are a generalization of conformal maps. Mathematically, a mapping \(f:\mathbb {C} \rightarrow \mathbb {C}\) is said to be a quasi-conformal map if it satisfies the Beltrami equation

$$\begin{aligned} \frac{\partial f}{\partial \bar{z}} = \mu _f(z) \frac{\partial f}{\partial z} \end{aligned}$$
(3)

for some complex-valued function \(\mu _f\) with \(\Vert \mu _f\Vert _\infty <1\), where the complex derivatives are given by

$$\begin{aligned} \frac{\partial f}{\partial \bar{z}} = f_{\bar{z}} = \frac{1}{2}\left( \frac{\partial f}{\partial x} + i \frac{\partial f}{\partial y}\right) \ \ \text { and } \ \ \frac{\partial f}{\partial z} = f_{z} = \frac{1}{2}\left( \frac{\partial f}{\partial x} - i\frac{\partial f}{\partial y}\right) . \end{aligned}$$
(4)

Here, \(\mu _f\) is called the Beltrami coefficient of f. Note that if \(\mu _f \equiv 0\), then Eq. (3) becomes the Cauchy–Riemann equations (1) and hence f is conformal.

Intuitively, conformal mappings map infinitesimal circles to infinitesimal circles, while quasi-conformal mappings map infinitesimal circles to infinitesimal ellipses with bounded eccentricity. To see this, consider the first order approximation of f around a point \(z_0 \in \mathbb {C}\):

$$\begin{aligned} \begin{aligned} f(z)&\approx f\left( z_0\right) + f_z\left( z_0\right) \left( z-z_0\right) + f_{\overline{z}}\left( z_0\right) \overline{z-z_0} = f\left( z_0\right) + f_z\left( z_0\right) \left( z-z_0 + \mu _f\left( z_0\right) \overline{z-z_0}\right) . \end{aligned} \end{aligned}$$
(5)

This indicates that an infinitesimal circle centered at \(z_0\) is mapped to an infinitesimal ellipse centered at \(f(z_0)\), with the maximum magnification \(|f_z(z_0)|(1+|\mu _f(z_0)|)\) and the maximum shrinkage \(|f_z(z_0)|(1-|\mu _f(z_0)|)\) (see Fig. 2 for an illustration). The aspect ratio of the ellipse is then given by \(\frac{1+|\mu _f(z_0)|}{1-|\mu _f(z_0)|}\). Therefore, the Beltrami coefficient effectively captures the conformal distortion of its associated mapping.

Fig. 2
figure 2

An illustration of quasi-conformal maps. Under a quasi-conformal map f, an infinitesimal circle is mapped to an infinitesimal ellipse with the maximum magnification \(|f_z|(1+|\mu _f|)\) and the maximum shrinkage \(|f_z|(1-|\mu _f|)\)

The Beltrami coefficient is also closely related to the bijectivity of the mapping. Note that if \(f(x,y) = u(x,y) + i v(x,y)\), then the Jacobian \(J_f\) of f is given by

$$\begin{aligned} \begin{aligned} J_f&= u_x v_y - v_x u_y \\&= \frac{1}{4}\left( \left( u_x+v_y\right) ^2 + \left( v_x - u_y\right) ^2 - \left( u_x - v_y\right) ^2 - \left( v_x + u_y\right) ^2\right) \\&= \frac{1}{4}\left( |\left( u_x + iv_x\right) - i \left( u_y + iv_y\right) |^2 - |\left( u_x + iv_x\right) + i \left( u_y + iv_y\right) |^2\right) \\&= |f_z|^2 - |f_{\bar{z}}|^2 \\&= |f_z|^2 \left( 1-|\mu _f|^2\right) . \end{aligned} \end{aligned}$$
(6)

Therefore, we have the following result:

Theorem 1

If f is a \(C^1\) map satisfying \(\Vert \mu _f\Vert _{\infty } <1\), then f is bijective.

Besides, the Beltrami coefficient of a composition of two quasi-conformal maps can be expressed explicitly. Let \(f: \varOmega _1 \rightarrow \varOmega _2\) and \(g: \varOmega _2 \rightarrow \varOmega _3\) be two quasi-conformal maps. The Beltrami coefficient of the composition map \(g \circ f\) is given by

$$\begin{aligned} \mu _{g \circ f} = \frac{\mu _f+\left( \overline{f_z}/f_z\right) \left( \mu _g \circ f\right) }{1+\left( \overline{f_z}/f_z\right) \overline{\mu _f} \left( \mu _g \circ f\right) }. \end{aligned}$$
(7)

In particular, if \(\mu _{f^{-1}} \equiv \mu _g\), we have

$$\begin{aligned} \mu _g \circ f = \mu _{f^{-1}} \circ f = -\left( f_z / \overline{f_z}\right) \mu _f \end{aligned}$$
(8)

and hence

$$\begin{aligned} \mu _{g \circ f} \equiv \frac{\mu _f+\left( \overline{f_z}/f_z\right) \left( \left( -f_z/\overline{f_z}\right) \mu _f\right) }{1+\left( \overline{f_z}/f_z\right) \overline{\mu _f} \left( \left( -f_z/\overline{f_z}\right) \mu _f\right) } \equiv 0, \end{aligned}$$
(9)

which implies that the composition map \(g \circ f\) is conformal. This suggests that one can eliminate the conformal distortion of a quasi-conformal map by composing it with another quasi-conformal map with the same Beltrami coefficient, provided that the boundary constraint is admissible. This idea of quasi-conformal composition [6] will be used in our proposed methods for the computation of conformal parameterizations.

While the above concepts are introduced in terms of mappings on the complex plane, they can be naturally extended for Riemann surfaces with the aid of local charts.

2.3 Linear Beltrami Solver (LBS)

Lui et al. [29] developed a linear method called the Linear Beltrami Solver (LBS) for computing a quasi-conformal map \(f(x,y) = u(x,y) + iv(x,y)\) with a given Beltrami coefficient \(\mu (x,y) = \rho (x,y) + i \eta (x,y)\). The idea is to consider the real and imaginary parts in the Beltrami Eq. (3) separately:

$$\begin{aligned} \rho (x,y) + i \eta (x,y) = \mu (x,y) = \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) }, \end{aligned}$$
(10)

from which we can express \(v_x\) and \(v_y\) as linear combinations of \(u_x\) and \(u_y\):

$$\begin{aligned} \left\{ \begin{array}{cc} v_y &{}= \alpha _1 u_x + \alpha _2 u_y,\\ -v_x &{}= \alpha _2 u_x + \alpha _3 u_y,\\ \end{array} \right. \end{aligned}$$
(11)

where

$$\begin{aligned} \alpha _1 = \frac{(\rho -1)^2 + \eta ^2}{1-\rho ^2 - \eta ^2}, \ \ \alpha _2 = -\frac{2\eta }{1-\rho ^2 - \eta ^2}, \ \ \alpha _3 = \frac{(\rho +1)^2 +\eta ^2}{1-\rho ^2 - \eta ^2}. \end{aligned}$$
(12)

Similarly, we can express \(u_x\) and \(u_y\) as linear combinations of \(v_x\) and \(v_y\):

$$\begin{aligned} \left\{ \begin{array}{cc} -u_y &{}= \alpha _1 v_x + \alpha _2 v_y,\\ u_x &{}= \alpha _2 v_x + \alpha _3 v_y.\\ \end{array}\right. \end{aligned}$$
(13)

Since \((v_y)_x + (-v_x)_y = 0\) and \((-u_y)_x + (u_x)_y = 0\), from Eq. (11) and Eq. (13) we have

$$\begin{aligned} \nabla \cdot \left( A \left( \begin{array}{c} u_x\\ u_y \end{array}\right) \right) = 0\ \ \mathrm {and}\ \ \nabla \cdot \left( A \left( \begin{array}{c} v_x\\ v_y \end{array}\right) \right) = 0, \end{aligned}$$
(14)

where \(A = \left( \begin{array}{cc} \alpha _1 &{} \alpha _2\\ \alpha _2 &{} \alpha _3 \end{array}\right) \). In the discrete case, Eq. (14) can be discretized as two sparse symmetric positive definite linear systems. Therefore, one can easily obtain \(u_x, u_y, v_x, v_y\) (and hence the quasi-conformal map f) for any given \(\mu \) by solving two linear systems with certain boundary constraints (see [29] for details). We denote the above procedure by \(f = \mathbf{LBS} (\mu )\).

3 Proposed Methods

Below, we first develop an efficient algorithm for conformally parameterizing an open surface with one hole onto a planar annulus. We then utilize this algorithm to develop another efficient method for conformally parameterizing a multiply-connected open surface with k holes onto a unit disk with k circular holes.

3.1 Annulus Conformal Map for Open Surfaces with One Hole

Let S be an open surface in \(\mathbb {R}^3\) with one hole, i.e. a topological annulus. Denote the surface boundary as \(\partial S = \gamma _0 - \gamma _1\), where \(\gamma _0\) is the outer boundary and \(\gamma _1\) is the inner boundary. Our goal is to find a conformal parameterization \(f:S \rightarrow \mathbb {C}\) that maps S to an annulus on the plane with unit outer radius. The proposed method is outlined in Fig. 3.

Fig. 3
figure 3

An illustration of the proposed annulus conformal map (ACM) method for open surfaces with one hole. We first slice the mesh along a path (highlighted in red) from the inner boundary to the outer boundary to make the surface open. We then map it onto a rectangle with an optimal length L and unit width. The rectangle is subsequently mapped to an annulus using an exponential map. Finally, we identify the cut vertices and compose the map with another quasi-conformal map to achieve a conformal parameterization. (Color figure online)

To begin, we take an arbitrary vertex at the inner boundary \(\gamma _1\) and find a shortest path from it to the outer boundary \(\gamma _0\). By slicing S along the path, we obtain a simply-connected open surface \(\tilde{S}\) (see the red curve in Fig. 3, second left). Due to the change in the surface topology, it is possible to map \(\tilde{S}\) onto a planar domain without holes. As for the reason of using a shortest path, note that the cut path between the two vertices corresponds to the two boundary edges connecting the left and right corners of the rectangle as illustrated in Fig. 3. Since the two edges are the geodesics between the corners, the shortest path between the two corresponding vertices in the input mesh is a natural choice for the cut path. Also, as the corners of the rectangle are enforced to be with angle \(=\pi /2\), using a shortest path can help reduce the angular distortion there in the discrete case.

Now, we consider mapping \(\tilde{S}\) onto a strip conformally (see Fig. 3, middle). Meng et al. [28] developed an efficient rectangular conformal mapping algorithm based on the LBS method [29]. The algorithm first computes an initial flattening map of the input surface onto the unit disk. It then maps the disk to the unit square using the LBS method. In particular, four boundary vertices are chosen as the four corners of a unit square, and an optimal quasi-conformal map is computed for mapping the remaining vertices onto the square domain. Finally, it keeps the length of the square domain fixed and optimally rescale the width of it so as to achieve a rectangular conformal map. Here, we follow the approach in [28] with some modifications for obtaining the conformal map onto a strip.

We first compute a disk harmonic map \(\phi :\tilde{S} \rightarrow \mathbb {D}\) by solving the following Laplace equation

$$\begin{aligned} \left\{ \begin{array}{l} \varDelta \phi = 0,\\ \phi (\partial \tilde{S}) = \partial \mathbb {D}, \end{array} \right. \end{aligned}$$
(15)

where the boundary constraint is given by the arc-length parameterization. More explicitly, denote \(\{p_i\}_{i=1}^n\) as the boundary vertices of \(\tilde{S}\) in anti-clockwise order. For every i, we map \(p_i\) to a point \((\cos \theta _i, \sin \theta _i)\) on the unit circle, where \(\theta _1 = 0\), and \(\theta _2, \theta _3, \dots , \theta _n\) are determined using the boundary edge lengths:

$$\begin{aligned} \theta _i = \frac{2\pi \sum _{j=1}^{i-1} l_{\left[ p_j, p_{j+1}\right] }}{\sum _{j=1}^{n} l_{\left[ p_j, p_{j+1}\right] }}, \ \ i = 2, 3, \dots , n. \end{aligned}$$
(16)

Here, \(l_{[p_j, p_{j+1}]}\) is the length of the edge \([p_j, p_{j+1}]\), and \(p_{n+1} = p_0\). The Laplacian \(\varDelta \) is the Laplace–Beltrami operator on \(\tilde{S}\), which can be easily discretized using the cotangent formulation [4]. After flattening the sliced surface onto the unit disk, we compute a quasi-conformal map \(\psi :\mathbb {D} \rightarrow R = [0,L] \times [0,1]\) from the unit disk to a rectangular domain with length L and unit width, where L is to be determined. In particular, we use the LBS method with the target Beltrami coefficient being \(\mu _\psi = \mu _{\phi ^{-1}}\):

$$\begin{aligned} \psi = \mathbf{LBS} \left( \mu _{\phi ^{-1}}\right) , \end{aligned}$$
(17)

where the four vertices on \(\partial \tilde{S}\) that correspond to the endpoints of the cut path are set to be the four corners of the target rectangular domain. More explicitly, denote \(p, p'\) as the two vertices on \(\partial \tilde{S}\) that correspond to the endpoint at the inner boundary \(\gamma _1\), and \(q, q'\) as the two vertices on \(\partial \tilde{S}\) that correspond to the endpoint at the outer boundary \(\gamma _0\). The four corners of R are set as follows (see Fig. 3):

$$\begin{aligned} \psi (\phi (p)) = (0,0), \psi (\phi (q)) = (L,0), \ \ \psi (\phi (q')) = (L, 1), \ \ \psi (\phi (p')) = (0, 1). \end{aligned}$$
(18)

Note that by Eq. (9), the conformal distortion of the quasi-conformal composition \(\psi \circ \phi \) can be significantly reduced given an appropriate boundary constraint. In the original formulation [28], the boundary vertices are allowed to freely slice along the sides of the rectangular domain to achieve conformality. However, in our case, the top and bottom sides of R correspond to the cut path and are with equal number of corresponding vertices (see the two red curves in Fig. 3, middle). To enforce their positional consistency, we impose a periodic boundary constraint on the x-coordinates of the top and bottom boundary vertices. As for the choice of L, we start with an initial guess \(L=1\) and compute the map \(\psi \) using Eq. (17). Then, we search for the optimal L which minimizes the norm of the Beltrami coefficient of \(\psi \circ \phi \) to further reduce the conformal distortion.

Here we remark that one may look for an extra shear transformation \(\begin{pmatrix} x \\ y \end{pmatrix} \mapsto \begin{pmatrix} 1 &{} 0 \\ a &{} 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix}\) to transform R into a parallelogram, such that the two bottom corner points do not necessarily have the same y-coordinates. Theoretically, this can help further reduce the conformal distortion of the mapping. However, as the cut path is chosen to be a shortest path, we find that the optimal a is usually very small (with \(|a| \sim 10^{-4}\)) in our experiments and the improvement in the conformality is negligible. Therefore, this step can be skipped in practice.

After getting the rectangular parameterization \(\psi \circ \phi \), we apply the exponential map

$$\begin{aligned} \eta (z) = e^{2\pi (z-L)}, \end{aligned}$$
(19)

which maps the rectangular domain \([0,L] \times [0,1]\) to an annulus with inner radius \(e^{-2\pi L}\) and outer radius 1. Because of the periodicity imposed in the computation of the rectangular parameterization, the top and bottom boundaries (i.e. the cut path vertices) are mapped to consistent locations on the annulus domain. We can then identify every pair of them and obtain a seamless mapping result (see Fig. 3, second right).

Finally, we use the quasi-conformal composition to further improve the conformality of the annulus map. Specifically, we compute an automorphism \(\zeta \) on the annulus \((\eta \circ \psi \circ \phi )(S)\) with

$$\begin{aligned} \zeta = \mathbf{LBS} \left( \mu _{\left( \eta \circ \psi \circ \phi \right) ^{-1}}\right) , \end{aligned}$$
(20)

where all boundary vertices are fixed. This results in the final annulus conformal parameterization \(f = \zeta \circ \eta \circ \psi \circ \phi \) (see Fig. 3, rightmost). We remark that by the quasi-conformal composition, the Beltrami coefficient of the resulting map is with supremum norm less than 1 and hence is bijective.

The proposed annulus conformal map (ACM) algorithm is summarized in Algorithm 1.

figure a

3.2 Poly-annulus Conformal Parameterization of Multiply-Connected Open Surfaces with k Holes

Let S be a multiply-connected open surface in \(\mathbb {R}^3\) with k holes, i.e. a topological poly-annulus. Denote the surface boundary as \(\partial S = \gamma _0 - \gamma _1 - \gamma _2 - \cdots - \gamma _k\), where \(\gamma _0\) is the outer boundary and \(\gamma _1, \cdots , \gamma _k\) are the inner boundaries. Our goal is to find a conformal parameterization \(f:S \rightarrow \mathbb {D}\) that maps S to the unit disk with k circular holes. The proposed method is outlined in Fig. 4.

Fig. 4
figure 4

An illustration of the proposed poly-annulus conformal map (PACM) method for multiply-connected open surfaces. We first repeatedly apply Algorithm 1 (without the quasi-conformal composition step) with all but one holes filled. After handling all holes, we compute an optimal Möbius transformation to adjust the location of the holes. Note that the holes are all close to circles but may not be perfectly circular in practice. Finally, we further apply a projection step for enforcing the circularity of the holes and then compose the map with another quasi-conformal map to achieve a conformal parameterization

Analogous to the Koebe’s iteration method [44, 45], our method handles the k holes of the surface S one by one. We first fill all but the first holes to get a surface \(S_1\) with annulus topology. In practice, one can simply fill a hole by adding a new vertex at the center of the hole and including its one-ring neighborhood of triangular faces. We can then apply the proposed ACM method (Algorithm 1) with the the quasi-conformal composition step (Line 5 in Algorithm 1) skipped to obtain an annulus map \(g_1:S_1 \rightarrow \mathbb {C}\), with \(\gamma _0\) and \(\gamma _1\) mapped to the outer circle and the inner circle respectively. After that, we remove all filled regions to restore the surface topology. Here, we remark that the quasi-conformal composition step is skipped for simplifying the computational procedure. As shown in Fig. 3, the quasi-conformal composition primarily improves the conformality near the cut path, while the conformality of all other regions is largely unaffected. Therefore, we can leave the quasi-conformal composition step to the last part of the poly-annulus parameterization, which allows us to correct the conformal distortion in one solve instead of k solves.

By repeating the above process for handling all the remaining holes, we obtain the composition map \(g_k \circ g_{k-1} \circ \cdots \circ g_1\). Here, note that each time one new hole is enforced to be a perfect circle, and in fact the circularity of the previously handled holes is also largely preserved. The reason is that the hole filling procedure involves adding a new vertex at the center of those holes together with a ring of triangles, and hence each of the subsequent annulus maps (which is highly conformal at most places even without the quasi-conformal composition step) will preserve the angles in the entirely filled shape including those in the filled holes as much as possible, thereby effectively preventing the previously handled holes from being largely distorted in circularity.

Fig. 5
figure 5

For a hole which has already been mapped to a circle at a previous step (left), the newly added vertex O at the center of the hole at the next hole filling step is equidistant from all the boundary vertices \(w_1, w_2, \dots , w_n\) and hence we have \(\angle Ow_j w_{j+1} = \angle Ow_{j+1} w_{j}\) for all j. Under the next annulus map, the angles in the ring of triangles remain largely unchanged (right), i.e. \(\angle O'w_j' w_{j+1}' \approx \angle Ow_j w_{j+1} = \angle Ow_{j+1} w_{j} \approx \angle O'w_{j+1}' w_{j}'\) for all j. Hence \(O'\) is approximately equidistant from all \(w'_j\), which indicates that the hole remains to be close to a circle under the mapping

More specifically, consider a hole which has been mapped to a small circle and denote its vertices as \(w_1, w_2, \dots , w_n\). Since the hole is circular, the new vertex added to that hole in the next hole filling procedure (denoted as O) is the center of the small circle (see Fig. 5, left), which implies that O is equidistant from all \(w_j\):

$$\begin{aligned} l_{\left[ O, w_1\right] } = l_{\left[ O, w_2\right] } = \dots = l_{\left[ O, w_n\right] }. \end{aligned}$$
(21)

It is then straightforward to see that \(\angle Ow_j w_{j+1} = \angle Ow_{j+1} w_{j}\) for all j in the newly added ring of triangles. Now, suppose the vertices are mapped to \(w_1', w_2', \dots , w_n', O'\) under the next annulus map (see Fig. 5, right). As the annulus map is highly conformal, for every j we should have

$$\begin{aligned} \angle O'w_j' w_{j+1}' \approx \angle Ow_j w_{j+1} = \angle Ow_{j+1} w_{j} \approx \angle O'w_{j+1}' w_{j}', \end{aligned}$$
(22)

and hence \(l_{[O', w_j']} \approx l_{[O', w_{j+1}']}\) for all j . It follows that \(O'\) is approximately equidistant from all \(w_j'\), which implies that the hole formed by \(w_1', w_2', \dots , w_n'\) is close to a circle. One can then repeat the above argument at all subsequent steps to show that the hole will continue to be approximately circular. In other words, by the property of the hole filling procedure and the annulus map, every hole will remain approximately circular once it has been enforced to be a circle at a certain step. While the holes may not all be perfectly circular as numerical errors may accumulate throughout the entire process, an extra step of further enforcing the circularity will be added later.

Now, note that the k-th hole of S is mapped to the center of the unit disk. Since this may not follow the distribution of the holes on S well, the area distortion of the map may be large. To alleviate this issue, we use the Möbius area correction scheme [24] to reduce the area distortion of the map while preserving conformality, thereby ensuring that the holes are at appropriate locations on the planar domain. More explicitly, we search for an optimal automorphism \(\tau _{\alpha }\) on the unit disk in the following form:

$$\begin{aligned} \tau _{\alpha }(z) = \frac{z-\alpha }{1-\overline{\alpha } z}, \end{aligned}$$
(23)

where \(\alpha \in \mathbb {C}\) with \(|\alpha |<1\), such that the composition \(\tau _{\alpha } \circ g_k \circ g_{k-1} \circ \cdots \circ g_1\) minimizes the area distortion of the parameterization with respect to the input surface.

As discussed above, all the k holes become close to circles under the annulus mapping steps but they may not all be perfectly circular. Also, while Möbius transformations map circles and straight lines to circles and straight lines in theory, in the discrete case they may cause a small distortion in the circularity of the holes. Therefore, we add a step of enforcing the circularity of the holes via projections. More specifically, for each hole \((\tau _{\alpha } \circ g_k \circ g_{k-1} \circ \cdots \circ g_1)(\gamma _i)\), we find the maximum inscribed circle of it and project all boundary vertices onto this circle. After performing this operation for all k holes, we obtain a unit disk with k circular holes. We denote the process by \(\rho : \mathbb {D} \rightarrow \mathbb {D}\).

Finally, we use the quasi-conformal composition to further reduce the conformal distortion caused by the annulus mapping steps and the projection step. We compute an automorphism h on the unit disk with the Beltrami coefficient \(\mu _{(\rho \circ \tau _{\alpha } \circ g_k \circ g_{k-1} \circ \cdots \circ g_1)^{-1}}\) using the LBS method [29]:

$$\begin{aligned} h = \mathbf{LBS} \left( \mu _{\left( \rho \circ \tau _{\alpha } \circ g_k \circ g_{k-1} \circ \cdots \circ g_1\right) ^{-1}}\right) , \end{aligned}$$
(24)

where all boundary vertices are fixed. By the composition formula in Eq. (9), the composition \(f = h \circ \rho \circ \tau _{\alpha } \circ g_k \circ g_{k-1} \circ \cdots \circ g_1\) gives a conformal parameterization of S onto the unit disk with exactly k circular holes. Similar to Algorithm 1, the quasi-conformal composition here also ensures that the Beltrami coefficient of the resulting map is with supremum norm less than 1 and hence is bijective.

The proposed conformal parameterization method for poly-annulus surfaces is summarized in Algorithm 2.

figure b

4 Experimental Results

The proposed conformal parameterization algorithms are implemented in MATLAB. The linear systems are solved using the backslash operator (\(\backslash \)) in MATLAB. For the step of mesh slicing in Algorithm 1, we use the MATLAB function graphshortestpath to compute a shortest path between the arbitrary vertex at the inner boundary \(\gamma _1\) and the closest vertex at the outer boundary \(\gamma _0\) of the input triangular mesh. For the rectangular conformal map in Algorithm 1, we use the MATLAB function fminbnd to search for the optimal length L of the rectangular domain. For the Möbius transformation in Eq. (23) in Algorithm 2, we write \(\alpha = re^{i\theta }\) and use the MATLAB function fmincon to search for the optimal parameters \((r,\theta ) \in [0,1] \times [0, 2\pi ]\). For the step of finding maximum inscribed circles of the holes, we use the function find_inner_circle available in the MATLAB Central FileExchange [52]. All experiments are performed on a PC with a 4.0 GHz quad core CPU and 16 GB RAM. To assess the conformality of a parameterization \(f:S \rightarrow \mathbb {C}\), we consider the angular distortion of every angle \([v_i,v_j,v_k]\) on the surface mesh under the parameterization:

$$\begin{aligned} d\left( \left[ v_i,v_j,v_k\right] \right) = \angle \left[ f\left( v_i\right) , f\left( v_j\right) , f\left( v_k\right) \right] - \angle \left[ v_i, v_j, v_k\right] . \end{aligned}$$
(25)

For an ideal conformal map, we should have \(d = 0\) for all angles.

Fig. 6
figure 6

Examples of the annulus conformal parameterization achieved by our proposed ACM method (Algorithm 1). Left: The input open surfaces with annulus topology. Middle: The annulus conformal parameterization results. Right: The histograms of the angular distortion d

Fig. 7
figure 7

Examples of the poly-annulus conformal parameterization achieved by our proposed PACM method (Algorithm 2). Left: The input multiply-connected open surfaces with k holes. Middle: The poly-annulus conformal parameterization results. Right: The histograms of the angular distortion d

Figure 6 shows several surfaces with annulus topology and the annulus conformal parameterizations achieved by our proposed ACM method. Note that our method is capable of handling surfaces with a highly non-convex hole (see the top example) as well as surfaces with a highly tubular geometry (see the bottom example). From the histograms of the angular distortion d, it can be observed that the parameterizations are highly conformal. For comparison, we consider the Ricci flow (RF) method [17] with implementation available in the RiemannMapper toolbox [53]. Table 1 records the computation time and the conformal distortion of our proposed ACM method and the RF method, from which it can be observed that our method outperforms the RF method in both the conformality and efficiency. The improvement in the conformality can be explained by that the RF method is based on the circle packing metric, which is highly dependent on the quality of the triangulations. For surface meshes with coarse or irregular triangulations, the approximation of the metric may be inaccurate, thereby yielding a large conformal distortion in the parameterization results. By contrast, our method effectively reduces the conformal distortion using the idea of quasi-conformal composition. As for the improvement in the efficiency, note that the RF method uses a gradient descent approach for minimizing the Ricci energy and hence is time-consuming, while our method only involves solving a few linear systems and a one-dimensional optimization problem.

Table 1 Performance of the proposed ACM method (Algorithm 1) and the Ricci flow (RF) method [17] for the annulus conformal parameterization of open surfaces with annulus topology
Table 2 Performance of the proposed PACM method (Algorithm 2) and the Ricci flow (RF) method [17] for the poly-annulus conformal parameterization of multiply-connected open surfaces

Figure 7 shows the poly-annulus conformal parameterizations of several multiply-connected open surfaces achieved by our proposed PACM method. It can be observed that our method works well for surfaces with different size, shape, and number of holes. For a more quantitative analysis, we again compare our method with the RF method in terms of the computation time and the angular distortion. As shown in Table 2, our method achieves a significant improvement in both the efficiency and conformality when compared to the RF method. Therefore, our method is more advantageous for the computation of the poly-annulus conformal parameterization.

5 Applications

5.1 Texture Mapping

The proposed conformal parameterization methods can be effectively applied to texture mapping. Using our methods, any multiply-connected open surface in \(\mathbb {R}^3\) can be conformally mapped onto a unit disk with circular holes. Textures can then be designed on the plane and mapped back onto the surface easily. As our methods are angle-preserving, the local geometry of the designed textures will be well-preserved. Also, as our methods produce global parameterizations of the surfaces, the texture mapping results will be seamless. Figure 8 shows two texture mapping results produced using our parameterization methods. The orthogonality of the checkerboard patterns on the surfaces indicates that our parameterizations are highly conformal.

Fig. 8
figure 8

Texture mapping for multiply-connected surfaces achieved by our proposed conformal parameterization methods. We first compute the conformal parameterization of an input multiply-connected surface onto a planar domain using our proposed methods. Then, we can design textures on the planar domain and map them back onto the input surface with the local geometry well-preserved

5.2 Surface Remeshing

The proposed conformal parameterization methods can also be applied to surface remeshing. Suppose we would like to improve the mesh quality of a given multiply-connected surface. A simple way is to map it onto the unit disk with circular holes using our parameterization methods, and then perform the remeshing process on the plane.

Fig. 9
figure 9

Remeshing a multiply-connected open surface via our proposed conformal parameterization methods. Given a multiply-connected open surface (top left), we first compute the poly-annulus conformal parameterization using our proposed methods (bottom left). We can then generate triangular meshes on the poly-annulus domain using DistMesh [54] with different desired effects, such as having finer triangulations at the central part (bottom middle) or around one of the holes (bottom right). The new planar meshes can then be mapped back onto the given surface via the parameterization (top middle and top right)

Fig. 10
figure 10

Registration of multiply-connected surfaces via the proposed conformal parameterization methods. Given two multiply-connected surfaces with the same topology, we can first conformally parameterize them onto two unit disk domains with the same number of circular holes. We can then compute a quasi-conformal map between the two planar domains, with all corresponding holes exactly matched. Finally, we can map the planar mapping result back onto the target surface to obtain the final registration result

In particular, DistMesh [54] is a powerful toolbox for generating triangular meshes, which uses signed distance functions to specify the geometry of the domain and control the mesh quality. In our case, the disk domain with circular holes can be easily expressed as a difference between signed distance functions for several circles using the ddiff and dcircle functions in DistMesh. The target mesh quality is set using a scaled edge length function in DistMesh, which can also be easily controlled using the signed distance functions for circles. Therefore, our parameterization methods can be naturally combined with DistMesh for the remeshing task. Once a new planar mesh is generated, we can map it back to the surface via the parameterization. Figure 9 shows two examples of remeshing a multiply-connected human face surface, from which it can be observed that different remeshing effects can be easily achieved. As the parameterization is angle-preserving, the regularity of the triangles in the new planar meshes is well-preserved in the final remeshed surfaces.

5.3 Surface Registration

Another possible application of the proposed conformal parameterization methods is multiply-connected surface registration [55]. As shown in Fig. 10, given two multiply-connected open surfaces (denoted as \(S_1\) and \(S_2\)) with the same topology, we can first compute the poly-annulus conformal parameterizations (denoted as \(f_1\) and \(f_2\)) of them using our proposed methods. Then, we can compute a quasi-conformal map g between the two planar domains \(f_1(S_1)\) and \(f_2(S_2)\) with all corresponding holes exactly matched using the LBS method. The composition \(f_2^{-1} \circ g \circ f_1\) then gives a registration mapping between the surfaces \(S_1\) and \(S_2\). From the final registration result in Fig. 10, it can be observed that the two multiply-connected surfaces are matched very well.

6 Discussion

With the advancement in computer technology, there has been a surge of interest in the development of conformal parameterization algorithms for science and engineering applications in recent decades. However, most of the existing methods only work for simply-connected surfaces. In this work, we have proposed two novel algorithms for the conformal parameterization of multiply-connected surfaces onto either an annulus or a unit disk with circular holes using quasi-conformal theory. As there are a vast number of analytical and numerical conformal mapping methods for multiply-connected planar domains [56,57,58,59,60], the proposed parameterization algorithms pave the way for applying these methods to multiply-connected surfaces. For instance, the prime function has been used for solving various applied and natural science problems on multiply-connected planar domains [61]. With the aid of our proposed parameterization algorithms, it may be possible to extend the method to Riemann surfaces.

Besides the applications discussed in this work, it is natural to explore the use of the proposed conformal parameterization methods for shape analysis [62, 63], greedy routing in sensor networks [64] etc. Also, note that both the proposed poly-annulus conformal parameterization method in this work and the conventional Koebe’s iteration method rely on a series of annulus mappings for producing the final result. Alternatively, as shown in the recent discrete conformal equivalence approach [48], the poly-annulus parameterization can be achieved by gluing faces to all but one boundary component and constructing a discrete conformal map using discrete conformal equivalence of cyclic polyhedral surfaces. A possible future direction would be to adopt a similar strategy to further simplify the computational procedure of our method. Another possible future direction is to combine the proposed methods with the optimal mass transport (OMT) [65,66,67,68] or the density-equaling map (DEM) [69, 70] for efficiently computing area-preserving parameterizations of multiply-connected surfaces.