1030 ieee transactions on visualization and computer...

14
Discrete Surface Ricci Flow Miao Jin, Student Member, IEEE Computer Society, Junho Kim, Member, IEEE Computer Society, Feng Luo, and Xianfeng Gu, Member, IEEE Abstract—This work introduces a unified framework for discrete surface Ricci flow algorithms, including spherical, euclidean, and hyperbolic Ricci flows, which can design Riemannian metrics on surfaces with arbitrary topologies by user-defined Gaussian curvatures. Furthermore, the target metrics are conformal (angle-preserving) to the original metrics. Ricci flow conformally deforms the Riemannian metric on a surface according to its induced curvature, such that the curvature evolves like a heat diffusion process. Eventually, the curvature becomes the user-defined curvature. Discrete Ricci flow algorithms are based on a variational framework. Given a mesh, all possible metrics form a linear space, and all possible curvatures form a convex polytope. The Ricci energy is defined on the metric space, which reaches its minimum at the desired metric. The Ricci flow is the negative gradient flow of the Ricci energy. Furthermore, the Ricci energy can be optimized using Newton’s method more efficiently. Discrete Ricci flow algorithms are rigorous and efficient. Our experimental results demonstrate the efficiency, accuracy, and flexibility of the algorithms. They have the potential for a wide range of applications in graphics, geometric modeling, and medical imaging. We demonstrate their practical values by global surface parameterizations. Index Terms—Discrete Ricci flow, Riemannian metric, uniformization, global conformal parameterizations, manifold. Ç 1 INTRODUCTION R ICCI flow is a curvature flow method, which has been applied to the proof of the Poincare ´ conjecture on three-dimensional (3D) manifolds [1], [2], [3]. Ricci flow was introduced by Richard Hamilton for general Rieman- nian manifolds in his seminal work [4] in 1982. 1.1 Physical Intuition Ricci flow has a simple physical intuition. Given a surface with a Riemannian metric, the metric induces the Gaussian curvature function. If the metric is changed, then the Gaussian curvature will be changed accordingly. We deform the metric in the following way: at each point, we locally scale the metric, such that the scaling factor is proportional to the curvature at the point. After the deformation, the curvature will be changed. We repeat the deformation process, then both the metric and the curvature will evolve, such that the curvature evolution is like a heat diffusion process. Eventually, the Gaussian curvature function is constant everywhere. If the surface is closed and simply connected, then the surface becomes a sphere eventually. (The analogy of this process for 3D manifolds is the basic idea of the proof of the Poincare ´ conjecture.) 1.2 Motivations Surface Ricci flow is a powerful tool to design a Riemannian metric with a given surface, such that the metric induces the user-defined Gaussian curvature function on the surface, and is conformal (i.e., angle preserving) to the original metric. Many applications in engineering fields can be formulated as finding some metrics with desired properties, where Ricci flow can be directly utilized. In graphics, a surface parameterization is commonly used, which refers to the process of mapping a surface to another canonical domain. If the domain is planar, then it is equivalent to finding a Riemannian metric, which induces 0 Gaussian curvature everywhere. (Such a metric is called a flat metric.) In digital geometry processing, if such a parameterization is known, then any signal (e.g., texture) on the surface can be defined on the parametric domain. Complicated processing tasks on surfaces can be transferred to easier ones on the parametric domains, such as texturing [5] and remeshing [6]. In computer-aided geometric modeling, a flat metric is helpful for constructing manifold splines, whose parametric domains are manifolds with arbitrary topologies instead of planar domains. In order to build a manifold spline, a special atlas of the domain manifold needs to be found, such that all local coordinate transition maps are affine. One way to construct such an atlas is to find a flat metric. Details of the manifold theory and the construction of an affine atlas can be found in [7]. In the medical imaging field, conformal brain mapping has been widely used, which maps the human brain cortical surfaces to the unit sphere to facilitate registration, fusion, and comparison. This is equivalent to finding a Riemannian metric on the brain cortical surface, such that the induced Gaussian curvature is a constant þ1 everywhere. 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008 . M. Jin is with the Department of Computer Science, Stony Brook University, Stony Brook, NY 11794-4400. E-mail: [email protected]. . J. Kim is with the Colleges of Visual Image and Information Technology, Dong-Eui University, Room 506, Building for Colleges of Visual Image and Information Technology, 995 Eom-Gwang Roh, Busan-Jin Gu, Busan, 614-714, Republic of Korea. E-mail: [email protected]. . F. Luo is with the Department of Mathematics, Rutgers University, Hill Center-Busch Campus, 110 Frelinghuysen Road, Piscataway, NJ 08854. E-mail: [email protected]. . X. Gu is with the Department of Computer Science, Stony Brook University, Room 2425, Computer Science Building, Stony Brook, NY 11794-4400. E-mail: [email protected]. Manuscript received 9 Apr. 2007; revised 19 Nov. 2007; accepted 25 Feb. 2008; published online 27 Mar. 2008. Recommended for acceptance by G. Taubin. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TVCG-2007-04-0031. Digital Object Identifier no. 10.1109/TVCG.2008.57. 1077-2626/08/$25.00 ß 2008 IEEE Published by the IEEE Computer Society

Upload: others

Post on 22-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

Discrete Surface Ricci FlowMiao Jin, Student Member, IEEE Computer Society, Junho Kim, Member, IEEE Computer Society,

Feng Luo, and Xianfeng Gu, Member, IEEE

Abstract—This work introduces a unified framework for discrete surface Ricci flow algorithms, including spherical, euclidean, and

hyperbolic Ricci flows, which can design Riemannian metrics on surfaces with arbitrary topologies by user-defined Gaussian

curvatures. Furthermore, the target metrics are conformal (angle-preserving) to the original metrics. Ricci flow conformally deforms the

Riemannian metric on a surface according to its induced curvature, such that the curvature evolves like a heat diffusion process.

Eventually, the curvature becomes the user-defined curvature. Discrete Ricci flow algorithms are based on a variational framework.

Given a mesh, all possible metrics form a linear space, and all possible curvatures form a convex polytope. The Ricci energy is defined

on the metric space, which reaches its minimum at the desired metric. The Ricci flow is the negative gradient flow of the Ricci energy.

Furthermore, the Ricci energy can be optimized using Newton’s method more efficiently. Discrete Ricci flow algorithms are rigorous

and efficient. Our experimental results demonstrate the efficiency, accuracy, and flexibility of the algorithms. They have the potential

for a wide range of applications in graphics, geometric modeling, and medical imaging. We demonstrate their practical values by global

surface parameterizations.

Index Terms—Discrete Ricci flow, Riemannian metric, uniformization, global conformal parameterizations, manifold.

Ç

1 INTRODUCTION

RICCI flow is a curvature flow method, which has been

applied to the proof of the Poincare conjecture on

three-dimensional (3D) manifolds [1], [2], [3]. Ricci flow

was introduced by Richard Hamilton for general Rieman-

nian manifolds in his seminal work [4] in 1982.

1.1 Physical Intuition

Ricci flow has a simple physical intuition. Given a surface

with a Riemannian metric, the metric induces the Gaussian

curvature function. If the metric is changed, then the

Gaussian curvature will be changed accordingly. We deform

the metric in the following way: at each point, we locally

scale the metric, such that the scaling factor is proportional

to the curvature at the point. After the deformation, the

curvature will be changed. We repeat the deformation

process, then both the metric and the curvature will evolve,

such that the curvature evolution is like a heat diffusion

process. Eventually, the Gaussian curvature function is

constant everywhere. If the surface is closed and simply

connected, then the surface becomes a sphere eventually.

(The analogy of this process for 3D manifolds is the basic

idea of the proof of the Poincare conjecture.)

1.2 Motivations

Surface Ricci flow is a powerful tool to design a Riemannianmetric with a given surface, such that the metric induces theuser-defined Gaussian curvature function on the surface,and is conformal (i.e., angle preserving) to the originalmetric. Many applications in engineering fields can beformulated as finding some metrics with desired properties,where Ricci flow can be directly utilized.

In graphics, a surface parameterization is commonlyused, which refers to the process of mapping a surface toanother canonical domain. If the domain is planar, then it isequivalent to finding a Riemannian metric, which induces0 Gaussian curvature everywhere. (Such a metric is called aflat metric.)

In digital geometry processing, if such a parameterizationis known, then any signal (e.g., texture) on the surface can bedefined on the parametric domain. Complicated processingtasks on surfaces can be transferred to easier ones on theparametric domains, such as texturing [5] and remeshing [6].

In computer-aided geometric modeling, a flat metric ishelpful for constructing manifold splines, whose parametricdomains are manifolds with arbitrary topologies instead ofplanar domains. In order to build a manifold spline, aspecial atlas of the domain manifold needs to be found,such that all local coordinate transition maps are affine. Oneway to construct such an atlas is to find a flat metric. Detailsof the manifold theory and the construction of an affineatlas can be found in [7].

In the medical imaging field, conformal brain mappinghas been widely used, which maps the human brain corticalsurfaces to the unit sphere to facilitate registration, fusion,and comparison. This is equivalent to finding a Riemannianmetric on the brain cortical surface, such that the inducedGaussian curvature is a constant þ1 everywhere.

1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

. M. Jin is with the Department of Computer Science, Stony BrookUniversity, Stony Brook, NY 11794-4400. E-mail: [email protected].

. J. Kim is with the Colleges of Visual Image and Information Technology,Dong-Eui University, Room 506, Building for Colleges of Visual Imageand Information Technology, 995 Eom-Gwang Roh, Busan-Jin Gu,Busan, 614-714, Republic of Korea. E-mail: [email protected].

. F. Luo is with the Department of Mathematics, Rutgers University, HillCenter-Busch Campus, 110 Frelinghuysen Road, Piscataway, NJ 08854.E-mail: [email protected].

. X. Gu is with the Department of Computer Science, Stony BrookUniversity, Room 2425, Computer Science Building, Stony Brook, NY11794-4400. E-mail: [email protected].

Manuscript received 9 Apr. 2007; revised 19 Nov. 2007; accepted 25 Feb.2008; published online 27 Mar. 2008.Recommended for acceptance by G. Taubin.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TVCG-2007-04-0031.Digital Object Identifier no. 10.1109/TVCG.2008.57.

1077-2626/08/$25.00 � 2008 IEEE Published by the IEEE Computer Society

Page 2: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

1.3 Brief History

For engineering applications, Ricci flow theory on smoothsurfaces needs to be generalized to discrete algorithms onpiecewise linear meshes.

Ricci flow on surfaces was first introduced by Hamiltonin [8]. A circle packing algorithm was introduced byThurston in [9]. Chow and Luo discovered their intrinsicrelations and laid down the theoretic foundation for discreteRicci flow in [10], where the existence and convergence ofthe discrete Ricci flow were established. However, that workonly considers the combinatorial structures of triangularmeshes, and the algorithm is not efficient in practice.Because the discrete Ricci flow algorithm is the gradientdescent algorithm, it has been improved by using Newton’smethod in our later works on discrete hyperbolic Ricci flow[11] and discrete euclidean Ricci flow [12].

In this work, we introduce the discrete spherical Ricci flowbased on Newton’s method for the first time to fulfill our goalof using Ricci flow to handle all sorts of surfaces withdifferent topologies. We provide a simple and unifiedframework for all the three types of discrete Ricci flowalgorithms, which is a complete system to design Riemannianmetrics with user-defined Gaussian curvatures (if there is nouser defined curvature, the target curvature is set to beconstant). Furthermore, the final metrics are conformal to theoriginal induced euclidean metrics.

1.4 Organization

The paper is organized as follows: Previous works are brieflysurveyed in Section 2. Section 3 introduces the mostimportant concepts in differential geometry, which arecrucial for designing our algorithms. Section 4 presents thetheory of discrete surface Ricci flow. Specific algorithms aregiven in Section 5. The performance of the algorithms isanalyzed, and one application of the algorithms in computergraphics is demonstrated in Section 6. Finally, the conclusionand future work are given in Section 7.

2 PREVIOUS WORK

There are many applications in graphics and geometricmodeling directly related to computing a desired Rieman-nian metric with user-defined Gaussian curvatures on a givensurface, as discussed in Section 1. Before demonstrating theeffectiveness of discrete Ricci flow for these applications, wefirst give a brief survey of recent works in these areas.

A lot of research has been done on mesh parameterizationdue to its usefulness in computer graphics applications. Thesurveys in [13] and [14] provide excellent reviews on variouskinds of mesh parameterization techniques. Here, we onlyreview the most related ones. For more details, we referreaders to [13] and [14]. Among previous research works onmesh parameterization, conformal mesh parameterization isdistinguished by its angle preserving nature, and manyresearchers developed algorithms of conformality mappings[5], [15], [16], [17], [18], [19]. Levy et al. [5] applied the Cauchy-Riemann equation for mesh parameterization and providedsuccessful results on the constrained two-dimensional (2D)parameterizations with free boundaries. Desbrun et al. [17]minimized the Dirichlet energy defined on triangle meshesfor computing conformal parameterization. Angle-basedflattening methods [16], [18] approximate conformal map-pings directly by minimizing angle distortions. Gu and Yau in

[19] computed the conformal structure using Hodge theory.A flat metric of the given surface is induced by computing theholomorphic 1-form with a genus-related number of singula-rities to obtain a globally smooth parameterization. Gortler etal. [20] used discrete 1-forms for mesh parameterization.Their approach provided good results for mesh parameter-ization with several holes, but they cannot control thecurvatures on the boundaries. Ray et al. [21] used theholomorphic 1-form to follow the principal curvatures onmanifolds and computed a quad-dominated parameteriza-tion for arbitrary models. Tong et al. [22] utilized harmonic 1-forms for designing quadrangulations. Fisher et al. [23] useddiscrete 1-forms for tangential vector fields design.

Circle packing was first studied by Koebe in 1928.Thurston reinvented it in 1978 [9] in order to find hyperbolicmetrics on 3-manifolds. A practical software system forcircle packing with an improved algorithm can be found in[24], which considers the combinatorial structure of thetriangulation only. A different approach, which generalizesthe tangential circle pattern, was proposed by Bobenko-Springborn in [25], [26]. They used the notion of anglestructures first introduced by Colin de Verdiere [27] in 1991.The work in [27] is seminal, and first introduced thevariational approach to circle packing theory. The practicalimplementation of that in [25] was carried out in [28] andwas used for surface parameterization on euclidean geome-try. The difference between the work of Kharevych et al. [28]and ours is given as follows.

The circle pattern and the discrete Ricci flow are theLegendre dual to each other (the concept of Legenendre dualis explained in details [29]). Therefore, the convexity of circlepattern energy is equivalent to the convexity of the discreteRicci energy, and the convergence of one is equivalent to theother. The approach in [25], [28] uses angles as variables, andours uses edge lengths. However, our approach works forcircle packing where circles could have intersection angles,which cannot be covered by that in [25] and [28]. Thepractical application of circle patterns has been providedonly for the euclidean case in [28]. Circle pattern has definedcurvatures on both vertices and faces, while discrete Ricciflow has only vertex curvatures. In contrast, our workprovides the discrete theories, as well as the applications forgenerally topological surfaces under euclidean, spherical,and hyperbolic parameterization domains.

For surfaces with spherical topologies, there exist severalmethods for parameterizing the surface onto the sphere.This approach is used for texture mapping in [30] and [31]and for conformal brain mappings in [32] and [33].

Affine structure is another common geometric structureon arbitrary surfaces, applied for constructing manifoldsplines on general surfaces in [7], where the affinestructures are induced by holomorphic differentials com-puted using the algorithms in [19] and [34].

Hyperbolic structure was applied in [35] and [36] for thetopological design of surfaces, where the high genus surfaceswere represented as quotient spaces of the Poincare disk overFuchsian group actions, which results in a single domain,global parameterization for surfaces with handles. In [37],Grimm and Hughes defined parameterizations for highgenus surfaces and constructed functions on them. Wallnerand Pottmann introduced the concept of spline orbifold in[38], which defined splines on three canonical parameterdomains: the sphere, the plane, and the Poincare disk.

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1031

Page 3: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

However, in their methods, only the combinatorial structureof the mesh is used, while the induced euclidean metric is notconsidered. For many applications in graphics, such astexture mapping, shape analysis, and spline constructions,original geometry information is highly desirable.

3 THEORETICAL BACKGROUND ON CONTINUOUS

SURFACES

In this section, we introduce the theory of Ricci flow in thecontinuous setting, which will be generalized to the discretesetting in Section 4. Some basic concepts in differentialgeometry can be found in Appendix A.2.

For readers who are more interested in implementationdetails, this section can be skipped. For those who aremore interested in inventing new schemes to approximateRicci flow or to improve the existing algorithms, they canfind inspiration from this section.

Conformal deformation. Let S be a surface embedded inIR3. S has a Riemannian metric induced from the euclideanmetric of IR3, denoted by g. Suppose u : S ! IR is a scalarfunction defined on S. It can be verified that �g ¼ e2ug is alsoa Riemannian metric on S. Furthermore, angles measuredby g are equal to those measured by �g. Therefore, we say �gis a conformal deformation from g.

A conformal deformation maps infinitesimal circles toinfinitesimal circles and preserves the intersection anglesamong the infinitesimal circles. In Fig. 1, we illustrate thisproperty by approximating infinitesimal circles with finitecircles. We put a regular circle packing pattern on thetexture and map the texture to the surface using aconformal parameterization, where all the circles on thetexture still look like circles on the surface, and all thetangency relations among the circles are preserved.

When the Riemannian metric is conformally deformed,curvatures will also be changed accordingly. Suppose g ischanged to �g ¼ e2ug. Then, the Gaussian curvature willbecome

�K ¼ e�2uð��guþKÞ; ð1Þ

where �g is the Laplacian-Beltrami operator under theoriginal metric g. The geodesic curvature will become

�k ¼ e�uð@ruþ kÞ; ð2Þ

where r is the tangent vector orthogonal to the boundary.According to the Gauss-Bonnet theorem, the total curva-ture is still 2��ðSÞ, where �ðSÞ is the Euler characteristicnumber of S.

Uniformization theorem. Given a surface S with a

Riemannian metric g, there exist an infinite number ofmetrics conformal to g. The following uniformizationtheorem states that, among all of the conformal metrics,there exists a unique representative, which induces constantcurvature. Moreover, the constant will be one of fþ1; 0;�1g.Theorem 1 (Uniformization theorem). Let ðS; gÞ be a

compact 2D surface with a Riemannian metric g, then there

is a metric �g conformal to g with constant Gaussian curvature

everywhere; the constant is one of fþ1; 0;�1g.

We call such a metric the uniformization metric of S.According to the Gauss-Bonnet theorem (13), the sign of theconstant Gaussian curvature must match the sign of theEuler number of the surface: þ1 for �ðSÞ > 0, 0 for �ðSÞ ¼ 0,

and �1 for �ðSÞ < 0.Therefore, we can embed the universal covering space of

any closed surface using its uniformization metric onto oneof the three canonical surfaces: the sphere SS2 for genus zerosurfaces with positive Euler numbers, the plane IE2 for

genus one surfaces with zero Euler number, and thehyperbolic space IH2 for high genus surfaces with negativeEuler numbers (see Fig. 2). Accordingly, we can say thatsurfaces with positive Euler numbers admit sphericalgeometry; surfaces with a zero Euler number admit

euclidean geometry; and surfaces with negative Eulernumbers admit hyperbolic geometry.

1032 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Fig. 1. Properties of conformal mapping. Conformal mappingstransform infinitesimal circles to infinitesimal circles and preserve theintersection angles among the circles. Here, infinitesimal circles areapproximated by finite ones. Notice that a circle in the texture appears ina scaled one in the texture mapping result. Also, the angles in thecheckerboard pattern are preserved in the texture mapping result.

Fig. 2. Uniformization theorem. Each surface in IR3 admits auniformization metric, which is conformal to the original metric andinduces constant Gaussian curvature; the constant is one of fþ1; 0;�1g,depending on the Euler characteristic number � of the surface. Itsuniversal covering space with the uniformization metric can beisometrically embedded onto one of three canonical spaces: sphere,plane, or hyperbolic space. Here, we show the parameterizationscomputed by using discrete spherical, euclidean, and hyperbolic Ricciflows, respectively.

Page 4: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

Smooth surface Ricci flow. Suppose S is a smooth

surface with a Riemannian metric g. The Ricci flow deforms

the metric gðtÞ according to the Gaussian curvature KðtÞ(induced by itself), where t is the time parameter:

dgijðtÞdt

¼ �2KðtÞgijðtÞ: ð3Þ

There is an analogy between the Ricci flow and the heat

diffusion process. Suppose T ðtÞ is a temperature field on the

surface. The heat diffusion equation is dT ðtÞ=dt ¼ ��gT ðtÞ,where �g is the Laplace-Beltrami operator induced by the

surface metric. The temperature field becomes more and

more uniform with the increase of t, and it will become

constant eventually.In a physical sense, the curvature evolution induced by

the Ricci flow is exactly the same as heat diffusion on the

surface, as follows:

dKðtÞdt¼ ��gðtÞKðtÞ; ð4Þ

where �gðtÞ is the Laplace-Beltrami operator induced by

the metric gðtÞ. If we replace the metric in (3) with

gðtÞ ¼ e2uðtÞgð0Þ, then the Ricci flow can be simplified as

duðtÞdt¼ �2KðtÞ; ð5Þ

which states that the metric should change according to the

curvature.The following theorems postulate that the Ricci flow

defined in (3) is convergent and leads to a conformal

uniformization metric. For surfaces with nonpositive

Euler numbers, Hamilton proved the convergence of

Ricci flow in [8]:

Theorem 2 (Hamilton 1988). For a closed surface of nonpositive

Euler characteristic, if the total area of the surface is preserved

during the flow, the Ricci flow will converge to a metric such

that the Gaussian curvature is constant everywhere.

It is much more difficult to prove the convergence of Ricci

flow on surfaces with positive Euler numbers. The follow-

ing result was proven by Chow in [39].

Theorem 3 (Chow 1991). For a closed surface of positive Euler

characteristic, if the total area of the surface is preserved

during the flow, the Ricci flow will converge to a metric such

that the Gaussian curvature is constant everywhere.

The corresponding metric gð1Þ is the uniformization metric.

Moreover, at any time t, the metric gðtÞ is conformal to the

original metric gð0Þ.The Ricci flow can be easily modified to compute a

metric with a user-defined curvature �K as follows:

duðtÞdt¼ 2ð �K �KÞ: ð6Þ

With this modification, the solution metric gð1Þ can be

computed, which induces the curvature �K.

4 THEORETICAL BACKGROUND ON DISCRETE

SURFACES

In engineering fields, smooth surfaces are often approxi-mated by simplicial complexes (triangle meshes). Majorconcepts, such as metric, curvature, and conformal defor-mation in the continuous setting can be generalized to thediscrete setting. We denote a triangle mesh as �, a vertex setas V , an edge set as E, and a face set as F . eij represents theedge connecting vertices vi and vj, and fijk denotes the faceformed by vi, vj, and vk.

Background geometry. In graphics, it is always assumedthat a mesh � is embedded in the 3D euclidean space IR3,and therefore, each face is euclidean. In this case, we say themesh is with euclidean background geometry (see Fig. 2a).The angles and edge lengths of each face satisfy theeuclidean cosine law.

Similarly, if we assume that a mesh is embedded in the2D sphere SS2, then each face is a spherical triangle. We saythe mesh is with spherical background geometry (seeFig. 2b). The angles and the edge lengths of each facesatisfy the spherical cosine law.

Furthermore, if we assume that a mesh is embedded inthe 2D hyperbolic space IH2, then all faces are hyperbolictriangles. We say the mesh is with hyperbolic backgroundgeometry (see Fig. 2c). The angles and the edge lengths ofeach face satisfy the hyperbolic cosine law.

In the following discussion, we will explicitly specify thebackground geometry for a mesh when it is needed.Otherwise, the concept or the algorithm is appropriate forall kinds of the background geometries.

Discrete Riemannian metric. A Riemannian metric on amesh � is a piecewise constant metric with cone singula-rities. A metric on a mesh with euclidean backgroundgeometry is a euclidean metric with cone singularities. Eachvertex is a cone singularity. Similarly, a metric on a meshwith spherical background geometry is a spherical metricwith cone singularities; a metric on a mesh with hyperbolicbackground geometry is a hyperbolic metric with conesingularities.

The edge lengths of a mesh � are sufficient to define thisRiemannian metric:

l : E ! IRþ;

as long as, for each face fijk, the edge lengths satisfy thetriangle inequality: lij þ ljk > lki.

Discrete Gaussian curvature. The discrete Gaussiancurvature Ki on a vertex vi 2 � can be computed from theangle deficit:

Ki ¼2��

Pfijk2F �

jki ; vi 62 @�;

��P

fijk2F �jki ; vi 2 @�;

(ð7Þ

where �jki represents the corner angle attached to vertex viin the face fijk, and @� represents the boundary of the mesh.The discrete Gaussian curvatures are determined by thediscrete metrics.

Discrete Gauss-Bonnet theorem. The Gauss-Bonnettheorem (13) states that the total curvature is a topologicalinvariant. It still holds on meshes as follows:X

vi2VKi þ �

Xfi2F

Ai ¼ 2��ðMÞ; ð8Þ

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1033

Page 5: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

where Ai denotes the area of face fi, and � represents theconstant curvature for the background geometry; þ1 for thespherical geometry, 0 for the euclidean geometry, and �1for the hyperbolic geometry.

Discrete conformal deformation. Conformal metricdeformation preserves infinitesimal circles and the inter-section angles among them. The discrete conformal metricdeformation uses circles with finite radii to approximate theinfinitesimal circles.

The concept of the circle packing metric was introducedby Thurston in [9], as shown in Fig. 3. Let � be a functiondefined on the vertices, � : V ! IRþ, which assigns a radius�i to the vertex vi. Similarly, let � be a function defined onthe edges, � : E ! ½0; �2�, which assigns an acute angle �ðeijÞto each edge eij and is called a weight function on the edges.The pair of vertex radius function and edge weight functionon a mesh �, ð�;�Þ, is called a circle packing metric of �.

Fig. 3 illustrates the circle packing metrics. Each vertex vihas a circle whose radius is �i. For each edge eij, theintersection angle �ij is defined by the two circles of vi andvj, which either intersect or are tangent.

Two circle packing metrics ð�1;�1Þ and ð�2;�2Þ on thesame mesh are conformally equivalent if �1 � �2. A conformaldeformation of a circle packing metric only modifies thevertex radii and preserves the intersection angles on theedges.

Admissible curvature space. A mesh � with edgeweight � is called a weighted mesh, which is denoted asð�;�Þ. In the following, we want to clarify the spaces of allpossible circle packing metrics and all possible curvaturesof a weighted mesh.

Let the vertex set be V ¼ fv1; v2; . . . ; vng, and the radii be� ¼ f�1; �2; . . . ; �ng. Let ui be

ui ¼log �i IE2;log tanh �i

2 IH2;

log tan �i2 SS2;

8<: ð9Þ

where IE2, IH2, and SS2 indicate the background geometry ofthe mesh. We represent a circle packing metric on ð�;�Þ bya vector u ¼ ðu1; u2; . . . ; unÞT . Similarly, we represent theGaussian curvatures at mesh vertices by the curvaturevector k ¼ ðK1; K2; . . . ; KnÞT . All the possible u’s form theadmissible metric space, and all the possible k’s form theadmissible curvature space.

According to the Gauss-Bonnet theory (8), one constraintis added such that the sum of the total curvature must be

2��ð�Þ, and therefore, the curvature space is n� 1 dimen-sional. We add one linear constraint to the metric vector u,Pui ¼ 0, for the normalized metric. As a result, the metric

space is also n� 1 dimensional. If all the intersection anglesare acute, then the edge lengths induced by a circle packingsatisfy the triangle inequality. Since there is no furtherconstraint on u, the admissible metric space is simply IRn�1.

A curvature vector k is admissible if there exists a metricvector u, which induces k. The admissible curvature space ofa weighted mesh ð�;�Þ is a convex polytope, specified by thefollowing theorem. The detailed proof can be found in [10].

Theorem 4. Suppose ð�;�Þ is a weighted mesh with euclideanbackground geometry, I is a proper subset of vertices, FI is theset of faces whose vertices are in I, and the link set LkðIÞ isformed by faces ðe; vÞ, where e is an edge, and v is the thirdvertex in the face:

LkðIÞ ¼ ðe; vÞje \ I ¼ ;; v 2 If g;

then a curvature vector k is admissible if and only ifXvi2I

Ki > �X

ðe;vÞ2LkðIÞ�� �ðeÞð Þ þ 2��ðFIÞ:

The admissible curvature spaces for weighted mesheswith hyperbolic or spherical background geometries aremore complicated. We refer readers to [29] for detaileddiscussions.

Discrete surface Ricci flow. Suppose ð�;�Þ is aweighted mesh with an initial circle packing metric. Thediscrete Ricci flow is defined as follows:

duiðtÞdt¼ ð �Ki �KiÞ; ð10Þ

where �k ¼ ð �K1; �K2; . . . ; �KnÞT is the user defined targetcurvature. Discrete Ricci flow is in the exact same form asthe smooth Ricci flow (6), which deforms the circle packingmetric according to the Gaussian curvature, as in (10).

Discrete Ricci flow can be formulated in the variationalsetting, namely, it is a negative gradient flow of a specialenergy form. Let ð�;�Þ be a weighted mesh withspherical (euclidean or hyperbolic) background geometry.For two arbitrary vertices vi and vj, the followingsymmetric relation holds:

@Ki

@uj¼ @Kj

@ui:

Let ! ¼Pn

i¼1 Kidui be a differential one-form [40]. Thesymmetric relation guarantees that the one-form is closed(curl free) in the metric space:

d! ¼Xi;j

@Ki

@uj� @Kj

@ui

� �dui ^ duj ¼ 0:

By the Stokes theorem, the following integration is pathindependent:

fðuÞ ¼Z u

u0

Xni¼1

ð �Ki �KiÞdui; ð11Þ

where u0 is an arbitrary initial metric. Therefore, the aboveintegration is well defined, so called the discrete Ricci energy.

1034 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Fig. 3. Circle packing metric. (a) Flat circle packing metric. (b) Circlepacking metric on a triangle.

Page 6: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

The discrete Ricci flow is the negative gradient flow of thediscrete Ricci energy. The discrete metric, which induces �kis the minimizer of the energy.

Computing the desired metric with user-definedcurvature �k is equivalent to minimizing the discreteRicci energy. For the euclidean (or hyperbolic) case, thediscrete Ricci energy (see (11)) has been proven to bestrictly convex (namely, its Hessian is positive definite)in [10]. The global minimum uniquely exists, correspond-ing to the metric �u, which induces �k. The discrete Ricciflow converges to this global minimum.

Theorem 5 (Chow and Luo: euclidean Ricci energy). Theeuclidean Ricci energy fðuÞ on the space of the normalizedmetric

Pui ¼ 0 is strictly convex.

Theorem 6 (Chow and Luo: hyperbolic Ricci energy). Thehyperbolic Ricci energy is strictly convex.

Although the spherical Ricci energy is not strictlyconvex, the desired metric �u is still a critical point of theenergy. In our experiments, the solution can be reachedusing Newton’s method.

5 ALGORITHM

In this section, we explain the algorithms in detail. Itrequires some knowledge from hyperbolic geometry andalgebraic topology. We briefly introduce the most relatedconcepts in Appendices A.3 and A.1. We refer readers to[41] and [42] for further details.

The unified pipeline for all kinds of the discrete Ricciflow algorithms is listed as follows:

1. Determine the target curvature and the backgroundgeometry.

2. Compute the initial circle packing metric.3. Optimize the Ricci energy using both gradient

descent and Newton’s methods.4. Compute the layout using the result metric.

Step 1. Determine the target curvature and the back-

ground geometry. The user is free to define the targetcurvatures for different applications, while obeying theGauss-Bonnet theorem in (8). In other words, the user candistribute the curvatures arbitrarily across the vertices, in away that the sum of the target curvatures is constant.

For example, for constructing manifold splines (see [7]and [12] for details), it is desirable to obtain a flat metricwith a minimal number of cone singularities. One canconcentrate all the curvatures at a single vertex and makeeverywhere else flat. In this case, the background geometryof the mesh is chosen to be euclidean, and the curvature forthe selected vertex is set to 2��ð�Þ. The curvature at allother vertices is set to zero.

For the application of surface classification using con-formal structures (see [43] for details), no cone singularitiesare allowed. All of the curvatures must be evenlydistributed over the whole surface. For high genus meshesin this case, the target curvature should be set to zero for allvertices and the background geometry is hyperbolic.

Step 2. Compute the initial circle packing metric. In thisstep, the initial circle packing metric ð�;�Þ is computed.

This metric should approximate the original euclidean

metric as much as possible. In practice, we use the following

simple heuristic procedure, which gives satisfactory results:

1. For each face fijk, compute a radius for the vertex vi:

�jki ¼lki þ lij � ljk

2;

where lij, ljk, and lki are the lengths of the edges eij,

ejk, and eki, respectively.2. For each vertex vi, we approximate the radius �i by

averaging the radii from the faces adjacent to vi:

�i ¼1

m

Xfijk2F

�jki ;

where m is the number of the adjacent faces to

vertex vi.3. For each edge eij, we compute its edge weight �ij

from �i, �j using a cosine law, which depends on thebackground geometry:

l2ij ¼ �2i þ �2

j þ 2�i�j cos�ij; IE2

cosh lij ¼ cosh �i cosh �j þ sinh �i sinh �j cos�ij; IH2

cos lij ¼ cos �i cos �j � sin �i sin �j cos�ij; SS2:

ð12Þ

If the edge weight is greater than �2 , we take �

2 as itsvalue.

If the initial mesh has too many obtuse angles and the

requirement for the conformality is very high, we can use an

extra remeshing step to improve the triangulation quality.Step 3. Optimize Ricci energy. In the following, we

introduce two methods to optimize the Ricci energy; one is

the gradient descent and another is Newton’s method.Step 3.1 Gradient descent. The Ricci energy can be

optimized using the gradient descent method, which is the

direct analogy of the smooth Ricci flow. Note that during

the computation the vertex radii � vary over time, while the

edge weights � are fixed. This reflects the fact that

conformal metric deformation preserves angles:

1. Compute edge lengths lij from the current verticesradii �i and �j and the fixed edge weight �ij usingthe cosine law (12) for the background geometry.

2. Compute the corner angles �jki in each face fijk fromthe current edge lengths by using the cosine lawaccording to the background geometry.

3. Compute the discrete Gaussian curvature Ki of eachvertex vi by using (7).

4. Update ui of each vertex vi by using (11), as follows:

ui ¼ ui þ "ð �Ki �KiÞ;

where �Ki is the target Gaussian curvature. In our

experiments, � is no greater than 0.05.5. Normalize the metrics. Let s ¼

Pui, then

ui ¼ ui �s

n;

where n is the total number of vertices.

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1035

Page 7: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

6. Update the radius �i of each vertex vi, using uiand (9).

7. Repeat the steps from 1 through 5 until the maximalcurvature error falls below a threshold delta:

max j �Ki �Kij < ;

where is a user-specified error tolerance. In ourexperiments, we set it to 1e� 6, which is goodenough for the later embedding procedure. Formeshes with 30k faces, no folding or overlappinghas been found.

Step 3.2 Newton’s method. As described in Section 4,Ricci flow is the negative gradient flow of the discrete Riccienergy in (11). We can further improve the convergencespeed by using Newton’s method.

The key to Newton’s method is to compute theHessian matrix. Different Ricci flows have differentHessian matrices according to their background geome-tries. The Hessian matrix for euclidean Ricci energy isexplained here. We refer readers to Appendix A.4 for theother cases.

The elements in the Hessian matrix are @Ki=@uj. Fromthe circle packing metric, the edge lengths and the cornerangles can be derived from (12); then, the discrete Gaussiancurvatures can be obtained from (7). Combining them, weobtain the relationship between the Gaussian curvature Ki

and �i, �j, �k as follows:

Ki ¼ 2��Xfijk2F

cos�1��2i þ �i�j cos�ij

þ �k�i cos�ki;��j�k cos�jk�:

From the above equation, we can deduce @Ki=@ui and@Ki=@uj, as follows:

@Ki

@ui¼ @�i@ui

@Ki

@�i¼ �i

Xfijk2F

AD�BCA

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiA2 �B2p ;

@Ki

@uj¼ @�j@uj

@Ki

@�j¼ �j

Xfijk2F

AF �BEA

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiA2 �B2p ;

where

A ¼ 2lijlki;

B ¼ l2ij þ l2ki � l2jk;

C ¼ 2ð�i þ �j cos�ijÞlkilijþ 2ð�i þ �k cos�kiÞ

lijlki;

D ¼ 2ð2�i þ �j cos�ij þ �k cos�kiÞ;

E ¼ 2ð�j þ �i cos�ijÞlkilij;

F ¼ 2ð�i cos�ij � �k cos�jkÞ:

Step 4. Compute the layouts. In this step, we flatten themesh with the target metric onto one of the canonicaldomains: the plane IE2, the sphere SS2, or the hyperbolicspace IH2. The algorithms in this step involve severaltopological concepts such as fundamental domain, canoni-cal fundamental group basis, universal covering space, etc.We refer readers to Appendix A.1 for details.

The following is the unified pipeline for computing thelayout:

1. Flatten a seed face.2. Flatten a fundamental domain.3. Flatten the universal covering space.

Step 4.1 Flatten a seed face. We randomly select a seedface f012, and compute the parametric positions of thevertices v0, v1, and v2 using the edge lengths of f012. Formeshes with the euclidean geometry, the positions of thethree vertices are set as

ðv0Þ ¼ ð0; 0Þ; ðv1Þ ¼ ðl01; 0Þ; ðv2Þ ¼ l02 cos �120 ; sin �

120

� �:

In the hyperbolic case, the positions are set as ðv0Þ ¼ ð0; 0Þ:

ðv1Þ ¼el01 � 1

el01 þ 1ð1; 0Þ; ðv2Þ;¼

el02 � 1

el02 þ 1cos �12

0 ; sin �120

� �:

In the spherical case, the positions are set as ðv0Þ ¼ ð0; 0; 1Þ:

ðv1Þ ¼ 0; 0:5� l01 �ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi4� ðl01Þ2

q; 1� 0:5� ðl01Þ2

� �;

ðv2Þ½2� ¼ 1� 0:5� ðl02Þ2;

ðv2Þ½1� ¼1� 0:5� ðl12Þ2 � ðv2Þ½2� � ðv1Þ½2�

ðv1Þ½1�;

ðv2Þ½0� ¼ �ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1� ððv2Þ½1�Þ2 � ððv2Þ½2�Þ2

q:

Then, we put faces adjacent to the seed face into a queue.Step 4.2 Flatten a fundamental domain. In this step, we

propagate the flattening to the rest of all faces, namely, wewant to embed a fundamental domain. We call the resultinglayout a fundamental polygon.

To propagate the flattening, we put all unprocessed facesadjacent to the current face into the queue. We pop a facefijk from the queue and test whether all its vertices havebeen set to parametric positions. If so, we continue to popthe next one from the queue as long as the queue isnonempty. Otherwise, suppose that vi and vj have beenembedded, then ðvkÞ can be computed as one of the twointersection points between the two circles, cððviÞ; lkiÞ andcððvjÞ; lkjÞ, satisfying ððvjÞ � ðviÞÞ � ððvkÞ � ðviÞÞ > 0.Note that, depending on the background geometry, thecircles may be spherical, euclidean, or hyperbolic circles.

By using a stereographic projection, spherical circles canbe converted to euclidean circles; hyperbolic circles in thePoincare disk coincide with euclidean circles. Therefore,computing the intersection points between spherical (orhyperbolic) circles boils down to finding intersectionsbetween euclidean circles.

Different choices of the seed faces induce differentlayouts, which differ by a rigid motion. In the euclideancase, a rigid motion is a planar translation and rotation; inthe hyperbolic case, it is a Mobius transformation; in thespherical case, it is a rotation. Figs. 8b, 8c, and 8d are thelayouts for the same genus two model, shown in Fig. 8a,with different seed faces marked in red. The layouts inFigs. 8c and 8d are transformed to align with the layoutin Fig. 8b by different Mobius transformations, as shownin Fig. 8e. The difference of positions of the same vertexamong the three aligned layouts is less than 1e� 6.

1036 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Page 8: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

Step 4.3 Flatten the universal covering space. For thepurpose of texture mapping, it is enough to flatten afundamental domain. For the purpose of constructing amanifold spline (see [7] and [12] for details) or surfaceclassification by conformal equivalence (see [43] for details),we need to flatten a finite portion of the universal coveringspace.

The universal covering space of a closed mesh with apositive Euler characteristic number is the mesh itself,which can be embedded onto the unit sphere SS2. Theuniversal covering space of a mesh with a zero or negativeEuler number can be embedded onto the whole euclideanplane IE2 or the whole hyperbolic space IH2. The algorithmicpipeline is listed as follows:

1. Embed a canonical fundamental domain.2. Compute the deck transformation group generators.3. Tile the whole canonical domain IR2 or IH2.

The first step is exactly the same as the proceduresintroduced in Step 4.2. Figs. 4b and 5b give the embeddingsof the canonical fundamental domains for the genus onekitten model on the plane and the genus two amphoramodel on the Poincare disk, respectively.

Compute deck transformation group generators. The embed-ding of a canonical fundamental domain for a closed genusg surface has 4g different sides, which induce 4g rigidtransformations. These 4g rigid motions are the generatorsof the deck transformation group.

Fig. 4 explains the process for a mesh with a zero Euler

number. The surface has two fundamental group generators

a and b. The complement of fa; bg is a fundamental domain,

denoted as D. The boundary of D is @D ¼ aba�1b�1. Let the

flattening map be : D! IR2. Then, the planar image ðDÞhas four sides, ðaÞ, ðbÞ, ða�1Þ, ðb�1Þ (see Fig. 4b). There

exist unique translations �, � : IR2 ! IR2, such that � maps

ðaÞ to ða�1Þ and � maps ðbÞ to ðb�1Þ, as shown in Figs. 4c

and 4d. � and � are the generators of the deck transforma-

tion group.

Similarly, Fig. 5 illustrates the process for a mesh with a

negative Euler number. Let fa1; b1; . . . ; ag; bgg be a set of

canonical fundamental group generators, where g is the

genus. The embedding of its canonical fundamental domain

in hyperbolic space has 4g sides, ða1Þ; ðb1Þ; ða�11 Þ; ðb�1

1 Þ;. . . ; ðagÞ; ðbgÞ; ða�1

g Þ; ðb�1g Þ (see Fig. 5b in the Poincare

disk). There exists unique Mobius transformations �k, �k,

which map the ðakÞ and ðbkÞ to ða�1k Þ and ðb�1

k Þ,respectively, as shown in Figs. 5c and 5d. The Mobius

transformations f�1; �1; �2; �2; . . . ; �g; �gg form a set of gen-

erators of the deck transformation group.The following explains the details for computing �1. Let

the starting and ending vertices of the two sides be @ðb1Þ ¼q0 � p0 and @ðb�1

1 Þ ¼ p1 � q1. The geodesic distance from p0

to q0 is equal to the geodesic distance from p1 to q1 in thePoincare disk. To align them, we first construct a Mobius

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1037

Fig. 4. Euclidean Ricci flow. (a) Genus one kitten model marked with a set of canonical fundamental group generators a and b. (b) A fundamentaldomain is conformally flattened onto the plane, marked with four sides aba�1b�1. (c) One translation moves the side b to b�1. (d) The other translationmoves the side a to a�1. (e) The layout of the universal covering space of the kitten mesh on the plane, which tiles the plane. (f) The conformalparameterization is used for the texture mapping purpose. A checkerboard texture is placed over the parameterization in (b). The conformality canbe verified from the fact that all the corner angles of the checkers are preserved.

Fig. 5. Hyperbolic Ricci flow. (a) Genus two vase model marked with a set of canonical fundamental group generators, which cut the surface into atopological disk with eight sides: a1, b1, a�1

1 , b�11 , a2, b2, a�1

2 , and b�12 . (b) The fundamental domain is conformally flattened onto the Poincare disk with

marked sides. (c) A Mobius transformation moves the side b1 to b�11 . (d) Eight copies of the fundamental domain are glued coherently by eight Mobius

transformations. (e) A finite portion of the universal covering space is flattened onto the Poincare disk. (f) Zoom in on a region on the universalcovering space, where eight fundamental domains join together. No seams or overlapping can be found. (g) Conformal parameterization induced bythe hyperbolic flattening. The corner angles of checkers are well preserved.

Page 9: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

transformation 0, which maps p0 to the origin, q0 to apositive real number, with

0 ¼ e�i�0z� p0

1� �p0z; �0 ¼ arg

q0 � p0

1� �p0q0:

Similarly, we can construct another Mobius transforma-tion 1, which also maps p1 to the origin and q1 to a realnumber. Since the two sides share the same hyperbolicdistance, 1ðq1Þ coincides with 0ðq0Þ. By composing thetwo, we get the final Mobius transformation �1 ¼ �1

1 � 0,which satisfies p1 ¼ �1ðp0Þ and q1 ¼ �1ðq0Þ and aligns thetwo sides together.

Tile the canonical domain. Any deck transformation can beproduced by composing the generators f�k; �kg. Then, thewhole canonical domain can be tiled by transforming afundamental polygon by all deck transformations. Thisinduces a flattening of the universal covering space of themesh onto the canonical domain. Fig. 4e shows theflattening of the universal covering space of the kittenmesh onto the whole euclidean plane. Fig. 5e illustrates thelayout of the universal covering space of a genus twoamphora model onto the whole Poincare disk.

6 EXPERIMENTAL RESULTS

Discrete Ricci flow is a powerful tool for computing thedesired metrics, which satisfy the user-defined Gaussiancurvatures on general surfaces. In the following, we reportour experimental results and analyze the performance ofthe algorithms.

6.1 Performance

The performance of Ricci energy optimization is analyzedfrom the following aspects.

Convergence. For both the euclidean and hyperboliccases, the discrete Ricci energies are convex. Therefore,there exists a unique global minimum. Both gradientdescent and Newton’s methods converge to it stably. Forthe spherical case, the Ricci energy cannot be theoreticallyproven to be strictly convex. The desired metric is a criticalpoint of the energy. In our experiments, the desiredspherical metrics still can be reached efficiently usingNewton’s method.

Speed. Fig. 6 compares the performance of the optimiza-tion of Ricci energy using Newton’s method (the bluecurves) and the gradient descent method (the green curves).It is obvious that Newton’s method is much faster than thegradient descent method for optimizing Ricci energy. Weimplemented our system using C++ on a Windows plat-form desktop with a 3.4-GHz CPU Intel Xeon, 4.0 Gbytes ofRAM using Newton’s method. We report the timings tocompute the desired metric in Table 1. The speed for thehyperbolic case is the slowest.

Conformality. Fig. 7 shows an irregular planar domainin Fig. 7a is mapped to a disk in Fig. 7b. The conformalityis shown with a checkerboard texture mapping in Fig. 7c.We compute the ratio between each corner angle inFigs. 7a and 7b. The histogram of the ratios is illustratedin Fig. 7d, and we can see that the ratio is highlyconcentrated around 1.

Accuracy. From our experiments, we found it isrelatively easier to compute the metric, but it is morechallenging to compute the layout due to the accumulationerror, especially for the hyperbolic case. In order to improvethe accuracy for hyperbolic flattening, we adapt thefollowing methods:

1. Control the target metric by the maximum curvatureerror. We found that the quality of the finalembedding depends on the quality of the finalmetric. On the other hand, the running time isstrongly affected by the maximum curvature errortoo. Through thorough testing, we find a goodbalance to set the maximum curvature error to be

1038 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Fig. 6. Performance of the Ricci flow. The horizontal axis represents time, and the vertical axis represents the maximal curvature error. The blue

curves are for the Newton’s method; the green curves are for the gradient descent method. The meshes have about 30k faces. The tests were

carried out on a laptop with 1.7-GHz CPU and 1 Gbyte of RAM. All the algorithms are written in C++ on a Windows platform without using any other

numerical library. (a) Euclidean. (b) Hyperbolic. (c) Spherical.

TABLE 1Time for Computing Discrete Ricci Flow

Page 10: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

1e� 6 for a mesh with 30k faces, then the embeddingresult is satisfactory, and the computation speed isreasonable.

2. Move all of the computation to the center of thePoincare disk. Because the area distortion in thePoincare disk is nonuniform, computations nearthe boundaries are highly unstable, where the areadistortion goes to infinity. We use a Mobiustransformation to move each current processingface to the center of the Poincare disk, where thearea distortion is close to 1, and the computation ismuch more stable.

3. In flattening each face, we use algebraic functionsinstead of trigonometric functions. For example, inorder to set the third vertex position of a triangle, wecompute the intersection points of two circles.

4. Instead of flattening face by face for embedding theuniversal covering space, we compute the decktransformations and flatten fundamental domainby fundamental domain. This greatly reduces theaccumulated error.

5. Divide and conquer. If the mesh is big, we partitionit into patches and flatten each patch and then useMobius transformations to glue different patchestogether. Each edge on the cut determines a Mobiustransformation; we take the average of the transfor-mations induced by all the edges on the same cut.

Fig. 5 demonstrates the hyperbolic flattening process.Fig. 5f zooms in on a region where eight fundamentaldomains join together, which illustrates the accuracy of ourembedding method.

We conduct a special experiment to test the hyperbolicaccuracy, as shown in Fig. 8. We flatten a genus two mesh inFig. 8a with hyperbolic uniformization metric onto thePoincare disk. We start from different seed faces markedwith different colors and get different layouts of itscanonical fundamental domain (its canonical fundamentalgenerators are marked with red in both Figs. 8a and 8b, asshown in Figs. 8c, 8d, and 8e. By using the Mobiustransformations given in Table 2, the layouts in Figs. 8dand 8e are transformed to align perfectly with the layout inFig. 8c. Then, we compute a deck transformation to gluetwo layouts, as shown in Fig. 8g. The deck transformation iscomputed three times using different edges on the sameside, as shown in Fig. 8f, where three edges are colored asred, green, and blue. Using (14), each Mobius transforma-tion is represented by an angle � and a center z0, listed inTable 2. The differences among the three angles are lessthan 1e� 6; the differences among three centers are also lessthan 1e� 6. This shows the accuracy of our hyperbolicembedding method.

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1039

Fig. 8. Accuracy testing for hyperbolic layout. Frames (a) and (b) show a set of fundamental group generators marked with red on a genus twoeight model with 4k faces, and three randomly chosen seed faces are marked with red, green, and blue, respectively. Frames (c)-(e) show theflattened results on the Poincare disk using the hyperbolic uniformization metric, with different seed faces. Any two of them only differ a Mobiustransformation. Frame (f) shows randomly chosen Edges marked with different colors that can be chosen to compute the same deck transformationshown in (g).

Fig. 7. Conformality Testing. Discrete euclidean Ricci flow conformallymaps an irregular shape in (a) to a disk in (b). The parameterization isillustrated as the check board texture mapping in (c), where all thecorners of the checkers are well preserved visually. The histogram of theangle ratio, which is defined as the ratio of the original angle value andthe new one after mapping, is calculated and shown in (d). Thedistribution highly concentrates at 1.

TABLE 2Accuracy Testing for Hyperbolic Layout in Fig. 8

Mobius transformation M0 moves domain in (d) to (c); M1 moves(e) to (c); M2, M3, and M4 are deck transformations computed fromdifferent edges on the same boundary segment.

Page 11: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

6.2 Global Conformal Parameterization

A parameterization of a surface can be viewed as a one-to-one mapping from a suitable domain to the surface, typicallya planar domain, which has many applications such astexture mapping, surface approximation, scattered datafitting, remeshing, etc. Unfortunately, it is impossible tomap the whole of a closed surface with nontoroid topologyto the 2D plane without any angle distortion. Therefore, inorder to parameterize a mesh of this type, researchers haveresorted to partitioning the mesh into several charts [5] orintroducing singularities on the mesh [19], [28], [22]. In thesecases, however, heuristic inputs or special algorithms tolocate seams or singularities are needed.

Discrete Ricci flow is an effective approach forautomatic and seam-free global conformal parameteriza-tions of surfaces with arbitrary topologies. Ricci flow givesus the freedom to allocate the total curvature in differentregions of the mesh: the interior or the boundary.

Fig. 9 demonstrates the flexibility of this method, where fordifferent purposes, the total curvature is distributed todifferent regions and using different background geometries.The original surfaces are shown in the first and the lastframes, which is a genus zero surface with three boundaries.

1. We can allocate all the curvature on the boundariesand make everywhere else be flat, as shown inFig. 9b. Furthermore, we can make the boundaries becircles. The centers and the radii of the boundarycircles are determined by the geometries of theoriginal surface. They can be used as the fingerprintof the surfaces, which are valuable for shaperecognition and classification applications in thevision field (see [44] for more details).

2. We can make all the interior vertex curvatures bezeros, and the curvatures on the boundary vertexalso be zeros (i.e., the boundaries become geodesics),and set the curvature to be �1 for every point on themesh, as shown in Fig. 9c. The background geometryis hyperbolic. The geodesic lengths of three bound-aries are the fingerprints of the shape, which can beused for shape classification and comparison. (see[43] for more details).

3. We can set one boundary curvature to be zero, andthe other two boundaries to be circles. All vertexcurvatures are zeros except four cone singularities,whose curvatures equal to �

2 , as shown in Fig. 9d. Thiscan be used to construct polycube splines in

geometric modeling field, (see [45] for more details).The way we construct the cube-shaped model isgiven as follows: We use discrete euclidean Ricci flowto conformally map the head model to the unit diskwith circular holes, as in Fig. 9b. We then map thecube (without the bottom face) onto the unit disk. Bymatching the two unit disks, we locate the positionsof cone singularities in the head model. We set thetarget curvatures of cone singularities to be �

2 .

We set the target curvatures on the outer boundary tozero, and the target curvatures of other boundary vertices to

be constant. A flat metric satisfying these curvature condi-

tions can be found using the discrete euclidean Ricci flow.Next, we find the geodesics from the cone singularities to the

outer boundaries under the target metric, which are

orthogonal to the outer boundary. This gives us the isometricembedding of the surface with the target curvature in IR3.

Different parameterizations have different numbers ofsingularities and different area distortions. The following

are some comparisons among different parameterization

methods, which demonstrate the versatility of the Ricciflow method.

Boundaries versus vertices. The bottom of the hoofs of thehorse mesh in Fig. 10 are removed, as shown in Fig. 10c;therefore, the mesh is a genus zero surface with fourboundaries, and the total curvature is �4�. We set the totalcurvature of each boundary to be ��, and all interior vertexcurvatures to be zero. The layout of a fundamental domainwith the flat metric is shown in Fig. 10b, where the bodyregion has a bigger area in the parameter domain, and theleg regions have smaller areas in the parameter domain.Then, we concentrate all the curvature at a single vertex,colored as red in Fig. 10c, and the layout is shown inFig. 10d. Compared to Fig. 10b, the leg regions are greatlyenlarged, and the body region shrinks greatly.

Boundary versus boundary. Fig. 11 gives the comparison ofdifferent layouts of the same David head model, which isdepicted in Figs. 9a and 9e. Since the mesh is with threeboundaries, the total curvature is �2�. Each row shows aperiodic layout induced by a flat metric, which allocates thetotal curvature on a single boundary.

Euclidean versus hyperbolic. Fig. 12 gives a comparison forthe same model using different methods. Fig. 12b wasconformally parameterized to a euclidean plane with foursingularities, where the area distortion is highly nonuni-form. Fig. 12a was conformally parameterized to the

1040 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Fig. 9. Different global conformal parameterizations based on the Ricci flow. (a) and (e) Original surface. (b) All the curvatures are allocated onthe boundaries using euclidean Ricci flow. (c) Uniformization metric by discrete hyperbolic Ricci flow, boundaries are geodesics. (d) Flat metric withsingularities by discrete euclidean Ricci flow.

Page 12: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

Poincare disk using discrete hyperbolic Ricci flow but

without singularity.

7 CONCLUSION

This work proposes a unified framework for discrete

Ricci flows, generalized from continuous Ricci flows from

modern geometry for computing Riemannian metrics with

user-defined Gaussian curvatures. The algorithms to com-

pute Riemannian metrics with user-defined Gaussian curva-

tures for general discrete meshes are presented in detail.

Experimental results for spherical, euclidean, and hyperbolic

Ricci flows are demonstrated to show the efficiency and

accuracy of the algorithms.In future research work, we will study the intrinsic

relations between discrete Ricci flow and discrete holo-

morphic 1-forms. Algorithms for designing metrics with

different conditions will be investigated. We will explore

more applications of discrete Ricci flow in graphics, visua-

lization, geometric modeling, and medical imaging fields.

APPENDIX AIn this section, we briefly list the major concepts in

hyperbolic geometry, differential geometry, and algebraic

topology, which are necessary for the algorithms. Further-

more, we give detailed formulas for the Hessian matrices of

hyperbolic and spherical Ricci energies.

A.1 Fundamental Group and Universal CoveringSpace

The closed loops on the surface can be classified byhomotopic equivalence. If two closed curves on surface Mcan deform to each other without leaving the surface, theyare homotopic to each other. Two closed curves sharingcommon points can be concatenated to form another loop.This operation defines the multiplication of homotopicclasses. All the homotopy classes form the so-called firstfundamental group of M. A collection of curves on the surfaceis a cut graph, if their complement is a topological disk,which is called the fundamental domain of the surface.

For genus g closed surface, the fundamental grouphas 2g generators. A set of fundamental group basisfa1; b1; a2; b2; . . . ; ag; bgg is canonical, if ai, bi have onegeometric intersection, but ai, aj have zero geometricintersection, and ai, bj have zero geometric intersectiontoo. Figs. 4a and 5a show the sets of canonicalfundamental group generators for the kitten model withzero Euler number and the amphora model with anegative Euler number. If we slice M along the curves,we can get a disklike domain with boundaryfa1b1a

�11 b�1

1 a2b2a�12 b�1

2 . . . agbga�1g b�1

g g, which is called thecanonical fundamental domain of the surface M.

A covering space of M is a surface �M together with acontinuous surjective map p : �M !M, such that for every

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1041

Fig. 11. Curvature allocation: boundary versus boundary. The

original surface is illustrated in Figs. 9a and 9e. All the curvatures are

allocated on one of the three boundaries. The universal covering space

is flattened periodically with the corresponding metrics onto the plane.

Fig. 12. Euclidean versus hyperbolic. (a) Was conformally parameter-ized to the Poincare disk and is singularity-free, while (b) was conformallyparameterized to a euclidean plane with four singularities.

Fig. 10. Curvature allocations: boundary versus vertex. (a) and(b) A horse model: four boundaries on its hoofs marked with red, onesingularity vertex marked with red, and the cut graph marked withblue. (c) By pushing all curvatures to boundaries, the horse model isembedded on the plane with the cut graph. (d) By concentrating allcurvatures on one singularity vertex, the horse model is embeddedon the plane with the same cut graph.

Page 13: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

q 2M, there exists an open neighborhood U of q such that

p�1ðUÞ (the inverse image of U under p) is a disjoint union

of open sets in �M each of which is mapped home-

omorphically onto U by p. If �M is simply connected, then�M is called the universal covering space of M. Suppose

� : �M ! �M, p ¼ � � p, then � is called a deck transformation.

A deck transformation maps a fundamental domain to

another fundamental domain. All the deck transformations

form the so-called deck transformation group, which is

isomorphic to the fundamental domain. We use the

algorithms in [46] to compute the canonical fundamental

group generators.

A.2 Riemannian Metric and Gaussian Curvature

All the concepts and the detailed explanations can be found

in [47]. Suppose S is a C2 smooth surface embedded in IR3

with local parameter ðu1; u2Þ. Let rðu1; u2Þ be a point on S

and dr ¼ r1du1 þ r2du2 be the tangent vector defined at that

point, where r1, r2 are the partial derivatives of r with

respect to u1 and u2, respectively. The Riemannian metric or

the first fundamental form is

< dr; dr >¼X

< ri; rj > duiduj; i; j ¼ 1; 2:

The Gauss map G : S ! SS2 from the surface S to the unit

sphere SS2 maps each point p on the surface to its normal

nðpÞ on the sphere. The Gaussian curvature KðpÞ is defined as

the Jacobian of the Gauss map. Intuitively, it is the ratio

between the infinitesimal area of the Gauss image on the

Gaussian sphere and the infinitesimal area on the surface.Let @S be the boundary of the surface S, kg the geodesic

curvature, dA the area element, ds the line element, and

�ðSÞ the Euler characteristic number of S. The total

curvature is determined by the topology:

ZS

KdAþZ@S

kgds ¼ 2��ðSÞ: ð13Þ

A.3 Hyperbolic Geometry

The hyperbolic space model we used in this paper is the

Poincare disk, which is a unit disk on the complex plane,

with the Riemannian metric

ds2 ¼ 4dwd �w

ð1� �wwÞ2:

In the Poincare disk, rigid motion is a Mobius transformation:

z! ei�z� z0

1� �z0z; z0 2 CC; � 2 ½0; 2�Þ:

The geodesics are circle arcs that are orthogonal to the unit

circle; the hyperbolic circle ðc; rÞ coincides with an

euclidean circle ðC; RÞ with

C ¼ 2� 2 2

1� 2jcj2c; R2 ¼ jCj2;� jcj

2 � 2

1� 2jcj2;

where ¼ er�1erþ1 .

A.4 Hessian Matrix

Let cðxÞ, sðxÞ be cos x, sinx for the spherical case and coshx,

sinhx for the hyperbolic case. Define a function

ij ¼ sð�iÞcð�jÞ þ cð�iÞsð�jÞ cos�ij:

The elements in the Hessian matrix of Ricci energy are

@Ki

@ui¼ sð�iÞ �

Xfijk

CB�DAA

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiA2 �B2p ;

@Ki

@uj¼ sð�jÞ �

Xfijk

EB� FAA

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiA2 �B2p ;

where

A ¼ sðlijÞsðlkiÞ;B ¼ cðlijÞcðlkiÞ � cðljkÞ;

C ¼ ij � sðlkiÞ �cðlijÞsðlijÞ

þ jk � sðlijÞ �cðlkiÞsðlkiÞ

;

D ¼ ij � cðlkiÞ þ ki � cðlijÞ;

E ¼ ji � sðlkiÞ �cðlijÞsðlijÞ

;

F ¼ ji � cðlkiÞ � jk:

ACKNOWLEDGMENTS

The authors would like to thank Professor Shing-Tung Yau,Professor Tom Sederberg, and Professor Hong Qin for thediscussions. This work was supported by the US NationalScience Foundation (NSF) under NSF 0448399 career:conformal geometry applied to shape analysis and geo-metric modeling, NSF 0528363: conformal geometry ingraphics and visualization, and NSF 0626223: discretecurvature flow. This project was partially supported byUS NSF funding for Xianfeng Gu under CCF-0448399,DMS-0528363, IIS-0713145, and for both Feng Luo andXianfeng Gu under DMS-0626223. Feng Luo was partiallysupported by the NSF under DMS 0625935. Junho Kim waspartially supported by the IITA & MIC scholarshipprogram.

REFERENCES

[1] G. Perelman, “The Entropy Formula for the Ricci Flow and ItsGeometric Applications,” technical report, arXiv.org, Nov. 2002.

[2] G. Perelman, “Ricci Flow with Surgery on Three-Manifolds,”technical report, arXiv.org, Mar. 2003.

[3] G. Perelman, “Finite Extinction Time for the Solutions to the RicciFlow on Certain Three-Manifolds,” technical report, arXiv.org,July 2003.

[4] R.S. Hamilton, “Three Manifolds with Positive Ricci Curvature,”J. Differential Geometry, vol. 17, pp. 255-306, 1982.

[5] B. Levy, S. Petitjean, N. Ray, and J. Maillot, “Least SquaresConformal Maps for Automatic Texture Atlas Generation,” Proc.ACM SIGGRAPH ’02, pp. 362-371, 2002.

[6] P. Alliez, M. Meyer, and M. Desbrun, “Interactive GeometryRemeshing,” Proc. ACM SIGGRAPH ’02, pp. 347-354, 2002.

[7] X. Gu, Y. He, and H. Qin, “Manifold Splines,” Graphical Models,vol. 68, no. 3, pp. 237-254, 2006.

[8] R.S. Hamilton, “The Ricci Flow on Surfaces,” Math. and GeneralRelativity, Contemporary Math., Am. Math. Soc., vol. 71, 1988.

[9] W.P. Thurston, Geometry and Topology of Three-Manifolds, PrincetonLecture Notes, 1976.

[10] B. Chow and F. Luo, “Combinatorial Ricci Flows on Surfaces,”J. Differential Geometry, vol. 63, no. 1, pp. 97-129, 2003.

1042 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 5, SEPTEMBER/OCTOBER 2008

Page 14: 1030 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER ...home1.kookmin.ac.kr/~junho/papers/tvcg_ricci.pdf · Discrete Ricci flow algorithms are based on a variational framework. Given

[11] M. Jin, F. Luo, and X. Gu, “Computing Surface HyperbolicStructure and Real Projective Structure,” Proc. ACM Symp. Solidand Physics Modeling, pp. 105-116, 2006.

[12] X. Gu, Y. He, M. Jin, F. Luo, H. Qin, and S.-T. Yau, “ManifoldSplines with Single Extraordinary Point,” Proc. ACM Symp. Solidand Physics Modeling, pp. 61-72, 2007.

[13] M.S. Floater and K. Hormann, “Surface Parameterization: ATutorial and Survey,” Advances in Multiresolution for GeometricModelling, pp. 157-186, 2005.

[14] A. Sheffer, E. Praun, and K. Rose, “Mesh ParameterizationMethods and Their Applications,” Foundations and Trends inComputer Graphics and Vision, vol. 2, no. 2, 2006.

[15] M.S. Floater, “Parametrization and Smooth Approximation ofSurface Triangulations,” Computer Aided Geometric Design, vol. 14,no. 3, pp. 231-250, 1997.

[16] A. Sheffer and E. de Sturler, “Parameterization of Faced Surfacesfor Meshing Using Angle Based Flattening,” Eng. with Computers,vol. 17, no. 3, pp. 326-337, 2001.

[17] M. Desbrun, M. Meyer, and P. Alliez, “Intrinsic Parameteriza-tions of Surface Meshes,” Computer Graphics Forum (Proc.Eurographics ’02), vol. 21, no. 3, pp. 209-218, 2002.

[18] A. Sheffer, B. Levy, M. Mogilnitsky, and A. Bogomyakov,“ABF++: Fast and Robust Angle Based Flattening,” ACM Trans.Graphics, vol. 24, no. 2, pp. 311-330, 2005.

[19] X. Gu and S.-T. Yau, “Global Conformal Parameterization,” Proc.Symp. Geometry Processing, pp. 127-137, 2003.

[20] S.J. Gortler, C. Gotsman, and D. Thurston, “Discrete One-Formson Meshes and Applications to 3D Mesh Parameterization,”Computer Aided Geometric Design, vol. 23, no. 2, pp. 83-112, 2005.

[21] N. Ray, W.C. Li, B. Levy, A. Sheffer, and P. Alliez, “PeriodicGlobal Parameterization,” ACM Trans. Graphics, vol. 25, no. 4,pp. 1460-1485, 2005.

[22] Y. Tong, P. Alliez, D. Cohen-Steiner, and M. Desbrun, “DesigningQuadrangulations with Discrete Harmonic Forms,” Proc. Symp.Geometry Processing, pp. 201-210, 2006.

[23] M. Fisher, P. Schroder, M. Desbrun, and H. Hoppe, “Design ofTangent Vector Fields,” ACM Trans. Graphics, vol. 26, no. 3, p. 56,2007.

[24] K. Stephenson, Introduction to Circle Packing. Cambridge Univ.Press, 2005.

[25] A.I. Bobenko and B.A. Springborn, “Variational Principles forCircle Patterns and Koebe’s Theorem,” Trans. Am. Math. Soc.,vol. 356, pp. 659-689, 2004.

[26] A. Bobenko and P. Schrooder, “Discrete Willmore Flow,” Proc.Symp. Geometry Processing, pp. 101-110, 2005.

[27] Y.C. de Verdiere, “Un Principe Variationnel pour les Empilementsde Cercles [A Variational Principle for Circle Packings],”Inventiones Mathematicae, vol. 104, no. 3, pp. 655-669, 1991 (inFrench).

[28] L. Kharevych, B. Springborn, and P. Schroder, “DiscreteConformal Mappings via Circle Patterns,” ACM Trans. Graphics,vol. 25, no. 2, pp. 412-438, 2006.

[29] F. Luo, X. Gu, and J. Dai, Variational Principles for Discrete Surfaces.High Education Press and Int’l Press, 2007.

[30] C. Gotsman, X. Gu, and A. Sheffer, “Fundamentals of SphericalParameterization for 3D Meshes,” ACM Trans. Graphics, vol. 22,no. 3, pp. 358-363, 2003.

[31] E. Praun and H. Hoppe, “Spherical Parametrization and Remesh-ing,” ACM Trans. Graphics, vol. 22, no. 3, pp. 340-349, 2003.

[32] X. Gu, Y. Wang, T.F. Chan, P.M. Thompson, and S.-T. Yau,“Genus Zero Surface Conformal Mapping and Its Application toBrain Surface Mapping,” IEEE Trans. Medical Imaging, vol. 23,no. 8, pp. 949-958, 2004.

[33] S. Haker, S. Angenent, A. Tannenbaum, R. Kikinis, G. Sapiro, andM. Halle, “Conformal Surface Parameterization for TextureMapping,” IEEE Trans. Visualization and Computer Graphics,vol. 6, no. 2, pp. 181-189, Apr.-June 2000.

[34] M. Jin, Y. Wang, S.-T. Yau, and X. Gu, “Optimal GlobalConformal Surface Parameterization,” Proc. IEEE Visualization ’04,pp. 267-274, 2004.

[35] H. Ferguson, A.P. Rockwood, and J. Cox, “Topological Design ofSculptured Surfaces,” Proc. ACM SIGGRAPH ’92, pp. 149-156, 1992.

[36] H. Ferguson and A.P. Rockwood, “Multiperiodic Functions forSurface Design,” Computer Aided Geometric Design, vol. 10, nos. 3-4,pp. 315-328, 1993.

[37] C. Grimm and J.F. Hughes, “Parameterizing N-Holed Tori,” Proc.IMA Conf. Math. of Surfaces, pp. 14-29, 2003.

[38] J. Wallner and H. Pottmann, “Spline Orbifolds,” Curves andSurfaces with Applications in CAGD, pp. 445-464, 1997.

[39] B. Chow, “The Ricci Flow on the 2-Sphere,” J. Differential Geometry,vol. 33, no. 2, pp. 325-334, 1991.

[40] S.H. Weitraub, Differential Forms: A Complement to Vector Calculus.Academic Press, 2007.

[41] W.P. Thurston, Three-Dimensional Geometry and Topology. PrincetonUniv. Press, 1997.

[42] A. Hatcher, Algebraic Topology. Cambridge Univ. Press, 2006.[43] M. Jin, S.-T. Yau, and X. Gu, “Computing Geodesic Spectra of

Surfaces,” Proc. Symp. Solid and Physical Modeling, pp. 387-393,2007.

[44] X. Gu, S. Wang, J. Kim, Y. Zeng, Y. Wang, H. Qin, and D. Samaras,“Ricci Flow for 3D Shape Analysis,” Proc. 11th IEEE Int’l Conf.Computer Vision, 2007.

[45] H. Wang, Y. He, X. Li, X. Gu, and H. Qin, “Polycube Splines,”ACM Solid and Physical Modeling, pp. 241-251, 2007.

[46] C. Carner, M. Jin, X. Gu, and H. Qin, “Topology-Driven SurfaceMappings with Robust Feature Alignment,” Proc. IEEE Visualiza-tion ’05, pp. 543-550, 2005.

[47] H.W. Guggenheimer, Differential Geometry. Dover Publications,1977.

Miao Jin received the BS degree from theComputer Sciences Department, Beijing Uni-versity of Telecommunication and Post in 2000and the MS degree from the Computer ScienceDepartment, State University of New York,Stony Brook, in 2006, where she is now a PhDcandidate. Her research interests include sur-face parameterization, computing surface geo-metric structures, discrete differential geometry,and geometric modeling. For more information,

see http://www.cs.sunysb.edu/~mjin. She is a student member of theIEEE Computer Society.

Junho Kim received the BS, MS, and PhDdegrees in computer science and engineeringfrom the Pohang University of Science andTechnology (POSTECH) in 1998, 2000, and2005, respectively. In his PhD course, heworked at RWTH Aachen University as aBK21 visiting PhD student from 2003 to 2004.After receiving the PhD degree, he worked atStony Brook University, New York, as a re-search associate from 2005 to 2008. He is

currently a full-time lecturer of game engineering at the College of VisualImage and Information Technology, Dong-Eui University, Korea. Hisresearch interests include computer graphics, computer vision, geo-metric modeling, and interactive games. He is a member of the IEEEComputer Society.

Feng Luo received the PhD degree from theUniversity of California, San Diego, in 1989. Heis a professor of mathematics at the Departmentof Mathematics, Rutgers University. His re-search interests include geometry and topologyon surfaces and 3-manifolds and computergraphics. For more information, see http://www.math.rutgers.edu/~fluo.

Xianfeng Gu received the PhD degree incomputer science from Harvard University in2003. He is an assistant professor of computerscience at the Department of Computer Science,Stony Brook University. He received the USNational Science Foundation CAREER Award in2004. His research interests are computergraphics, computer vision, and medical imaging.His major works include geometry images,global conformal surface parameterization,

manifold splines, and computational conformal geometry. For moreinformation, see http://www.cs.sunysb.edu/~gu. He is a member of theIEEE and the IEEE Computer Society.

JIN ET AL.: DISCRETE SURFACE RICCI FLOW 1043