-
Notifications
You must be signed in to change notification settings - Fork 0
/
Chapter1_Uniformization_old.tex
1892 lines (1648 loc) · 122 KB
/
Chapter1_Uniformization_old.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass[Thesis]{subfiles}
\begin{document}
%\setkeys{Gin}{draft=false}
\chapter{Discrete uniformization of Riemann surfaces}
\label{chp:uniformization}
\section{Introduction}
\begin{figure}
\centering
\resizebox{0.8\linewidth}{!}{
\includegraphics[height=5cm]{introduction/genus0_image.pdf}
\quad
\includegraphics[height=5cm]{introduction/genus0_domain.pdf}
}
\resizebox{0.8\linewidth}{!}{
\includegraphics[height=5cm]{introduction/genus1_image.pdf}
\quad
\includegraphics[height=4.8cm]{introduction/genus1_domain.pdf}
}
\resizebox{0.8\linewidth}{!}{
\includegraphics[height=5cm]{introduction/genus3_image.pdf}
\quad
\includegraphics[height=5cm]{introduction/genus3_domain.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/introduction/genus\{0/1/3\}\_data.xml}
\caption{
Top: Uniformization of compact Riemann surfaces.
The uniformization of topological spheres is treated in Section~\ref{sec:spheres}.
All spheres are conformally equivalent, we show a map to the round sphere.
To visualize the conformality we map a grid by Mercator projection with non-standard poles.
Middle: Tori are covered in Section~\ref{sec:tori}.
Conformal tori can be parameterized over complex lattices.
In this case the torus can be mapped to a rectangle lattice.
We adjust the ratio of the the mapped grid to match the ratio of the rectangle in order to map the grid seamlessly onto the embedding.
Bottom: We describe uniformizations of surfaces of higher genus in Section~\ref{sec:higher_genus}.
The fundamental domain of the parameterization is a (canonical) hyperbolic polygon.
It tessellates the hyperbolic plane by hyperbolic translations that generate the uniformizing group of the corresponding Riemann surface.
How to find a seamless grid pattern matching this domain is an open problem.
}
\label{fig:intro_uniformization}
\end{figure}
In this chapter we investigate various mathematical applications of discrete conformal maps.
We build upon the work of Bobenko, Pinkall, and Springborn~\cite{BPS2015:dconf} and Springborn, Schr\"{o}der, and Pinkall~\cite{Springborn2008} for the euclidean case. We present examples for uniformizations of Riemann surfaces of genus $0$, $1$, and $g>1$ based on this theory, see Figure~\ref{fig:intro_uniformization}.
We generalize the setting in a way such that not only the scaling factors $u$ are variables of the functional but also the $\lambda$s itself can be varied.
By this we can formulate the theory of conformally equivalent meshes on cyclic polyhedral surfaces.
This was briefly noted in the previous work~\cite[p. 2211]{BPS2015:dconf}.
We state the euclidean, hyperbolic, and spherical variational principles together with the gradients and hessian matrices of the corresponding functional.
As touched upon by Bobenko~\emph{et~al.} letting the $\lambda$s be variables we are able to create maps to regions bounded by circles~\cite[p. 2212]{BPS2015:dconf}.
This text is accompanied by a compact disk which contains the data for all of the examples presented in this part of the work.
Where applicable we give the path to the data on the disk directly under the corresponding figure.
We describe the usage of the software and the XML data format that was used to create all the results in Chapter~\ref{chp:conformallab}.
%There is no existence, can be remedied using recent techniques developed by Luo et. al.~\cite{Luo13, Luo14}.
%Maybe reference Beardon and Stephenson~\cite{BS90}.
This chapter is organized as follows. We review the basic definitions of discrete conformal equivalence and conformal maps in Section~\ref{sec:basic_definitions}. Here we extend the notion of conformal equivalence to cyclic polyhedral surfaces.
In Section~\ref{sec:vari-princ} we state the variational principles for discrete conformal mappings to spherical, euclidean, and hyperbolic domains.
We give examples for discrete conformal maps between planar cyclic domains in Section~\ref{sec:planar_domains}.
Among others we treat examples for cyclic circle domains and special multiply-connected domains.
Uniformizations of cyclic spheres are investigated in Section~\ref{sec:spheres}.
Section~\ref{sec:tori} is about the uniformization of Riemann surfaces of genus $1$.
We look into the convergence behavior of discrete conformal maps using discrete elliptic curves.
Surfaces with genus $g>1$ are treated in Section~\ref{sec:higher_genus}.
We describe how to construct Fuchsian uniformizations and the corresponding fundamental domains.
The uniformization of hyperelliptic Riemann surfaces is a special case of the methods developed in the previous sections, see Section~\ref{sec:hyperelliptic}.
\section{Basic definitions and discrete conformal maps}
\label{sec:basic_definitions}
\subsection{Cyclic polyhedral surfaces }
A \emph{euclidean polyhedral surface} is a surface obtained from
gluing euclidean polygons along their edges. (A \emph{surface} is a
connected two-dimensional manifold, possibly with boundary.) In other
words, a euclidean polyhedral surface is a surface equipped with,
first, an intrinsic metric which is flat except at isolated points
where it has cone-like singularities, and, second, the structure of a
CW complex with geodesic edges. The set of vertices contains all
cone-like singularities. If the surface has a boundary, the boundary
is polygonal and the set of vertices contains all corners of the
boundary.
\emph{Hyperbolic polyhedral surfaces} and \emph{spherical polyhedral
surfaces} are defined analogously. They are glued from polygons in
the hyperbolic and elliptic planes, respectively. Their metric is
locally hyperbolic or spherical, except at cone-like singularities.
We will only be concerned with polyhedral surfaces whose faces are all
cyclic, i.e., inscribed in circles. We call them \emph{cyclic
polyhedral surfaces}. More precisely, we require the polygons to be
cyclic before they are glued together. It is not required that the
circumcircles persist after gluing; they may be disturbed by cone-like
singularites. A polygon in the hyperbolic plane is considered cyclic
if it is inscribed in a curve of constant curvature. This may be a
circle (the locus of points at constant distance from its center), a
horocycle, or a curve at constant distance from a geodesic.
A \emph{triangulated surface}, or \emph{triangulation} for short, is a
polyhedral surface all of whose faces are triangles. All
triangulations are cyclic.
\subsection{Notation}
\label{sec:notation}
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{notation_triangle_circle.pdf}\\
\vspace{0.2cm}
\caption{Notation of lengths and angles in a triangle $\it ijk \in F$.}
\label{fig:triangle_notation}
\end{figure}
We will denote the sets of vertices, edges, and faces of a CW complex~$\Sigma$ by $V_{\Sigma}$, $E_{\Sigma}$, and $F_{\Sigma}$, and we will often omit the subscript when there is no danger of confusion.
For notational convenience, we require all CW complexes to be \emph{strongly regular}.
This means that we require that faces are not glued to themselves along edges or at vertices, that two faces are not glued together along more than one edge or one vertex, and that edges have distinct end-points and two edges have at most one endpoint in common.
This allows us to label edges and faces by their vertices.
We will write $\mathit{ij}\in E$ for the edge with vertices $i,j\in V$ and $\mathit{ijkl}\in F$ for the face with vertices $i,j,k,l\in V$.
We will always list the vertices of a face in the correct cyclic order, so that for example the face $\mathit{ijkl}$ has edges $\mathit{ij}$, $\mathit{jk}$, $\mathit{kl}$, and $\mathit{li}$.
The only reason for restricting our discussion to strongly regular CW complexes is to be able to use this simple notation.
Everything we discuss applies also to general CW complexes.
In some formulas we need to iterate over directed edges.
We denote the set of directed edges by $\vect{E}$.
For each edge $\mathit{ij}\in E$ the set $\vect{E}$ contains two
directed edges $\mathit{ij}\in \vect{E}$ and $\mathit{ji}\in \vect{E}$.
See also Chapter~\ref{chp:halfedge} for details on the implementation of a half-edge data structure.
For a triangle $\it ijk$ we denote the angle at vertex $i\in V$ as $\alpha^i_{\it jk}$.
Further we define the angle $\beta^i_{\it ij}$ to be the angle between the tangent of the circum-circle of the triangle at $j$ or $k$ and the edge $\it jk$, see Figure~\ref{fig:triangle_notation}.
The angles $\beta$ are functions of $\alpha$. At the triangle $\it ijk$ it is
\begin{eqnarray*}
2\cdot\beta_{\it jk}^i &=& \pi + \alpha_{\it jk}^i - \alpha_{\it ki}^j - \alpha_{\it ij}^k\\
2\cdot\beta_{\it ki}^j &=& \pi - \alpha_{\it jk}^i + \alpha_{\it ki}^j - \alpha_{\it ij}^k\\
2\cdot\beta_{\it ij}^k &=& \pi - \alpha_{\it jk}^i - \alpha_{\it ki}^j + \alpha_{\it ij}^k.
\end{eqnarray*}
\subsection{Discrete metrics}
\label{sec:discrete-metrics}
The \emph{discrete metric} of a euclidean (or hyperbolic or spherical) cyclic polyhedral surface $\Sigma$ is the function $\ell:E_{\Sigma}\rightarrow\R_{>0}$ that assigns to each edge $\it ij \in E_{\Sigma}$ its
length $\ell_{\it ij}$.
It satisfies the polygon inequalities (one side is shorter than the sum of the others):
\begin{equation}
\label{eq:polygon_ineq}
% \forall i_{1}i_{2}\ldots i_{n}\in F_{\Sigma}:
% \quad
\left.
\quad
\begin{aligned}
-\ell_{i_{1}i_{2}}+\ell_{i_{2}i_{3}}+&\ldots+\ell_{i_{n-1}i_{n}}
>0\\
\ell_{i_{1}i_{2}}-\ell_{i_{2}i_{3}}+&\ldots+\ell_{i_{n-1}i_{n}}
>0\\
&\vdots\\
\ell_{i_{1}i_{2}}+\ell_{i_{2}i_{3}}+&\ldots-\ell_{i_{n-1}i_{n}}
>0
\end{aligned}
\quad
\right\}
\quad
\text{for all $i_{1}i_{2}\ldots i_{n}\in F_{\Sigma}$}
\end{equation}
In the case of spherical polyhedral surfaces, we require also that
\begin{equation}
\label{eq:polygon_ineq_spherical}
\ell_{i_{1}i_{2}}+\ell_{i_{2}i_{3}}+\ldots+\ell_{i_{n-1}i_{n}}
<2\pi.
\end{equation}
The polygon inequalities~\eqref{eq:polygon_ineq} are necessary and
sufficient for the existence of a unique cyclic euclidean polygon and
a unique cyclic hyperbolic polygon with the given edge
lengths. Together with inequality~\eqref{eq:polygon_ineq_spherical}
they are necessary and sufficient for the existence of a unique cyclic
spherical polygon. For a new proof of these elementary geometric
facts, see~\cite{KSS15}. Thus, a discrete metric determines the geometry of
a cyclic polyhedral surface:
If $\Sigma$ is a surface with the structure of a CW~complex and a function $\ell:E_{\Sigma}\rightarrow\R_{>0}$ satisfies the polygon inequalities~\eqref{eq:polygon_ineq}, then there is a unique euclidean
cyclic polyhedral surface and also a unique hyperbolic cyclic
polyhedral surface with CW~complex~$\Sigma$ and discrete
metric~$\ell$. If $\ell$ also satisfies the
inequalities~\eqref{eq:polygon_ineq_spherical}, then there is a unique spherical
cyclic polyhedral surface with CW~complex~$\Sigma$ and discrete
metric~$\ell$.
% The edge lengths of a cyclic polygon in the sphere satisfy another independent inequality: The perimeter is less than $2\pi$.
% The discrete metric of a spherical cyclic polyhedral surface satisfies the additional inequalities
% \begin{equation}
% \label{eq:spherical_polygon_ineq}
% \ell_{i_{1}i_{2}}+\ell_{i_{2}i_{3}}+\ldots+\ell_{i_{n-1}i_{n}}<2\pi
% \quad
% \text{for all $i_{1}i_{2}\ldots i_{n}\in F_{\Sigma}$.}
% \end{equation}
% Given a function $\ell:E_{\Sigma}\rightarrow\R_{>0}$ satisfying the inequalities~\eqref{eq:polygon_ineq}
% and~\eqref{eq:spherical_polygon_ineq}, then there is a unique cyclic spherical polyhedral surface with discrete metric $\ell$.
\subsection{Discrete conformal equivalence of cyclic polyhedral surfaces}
\label{sec:discr-conf-equiv}
We extend the definition of discrete conformal equivalence from
triangulations~\cite{Luo2004,BPS2015:dconf} to cyclic
polyhedral surfaces in a straightforward way
(Definition~\ref{def:dconf}). This has quite different consequences
for special classes of polyhedral surfaces. In the following
Section~\ref{sec:triangulations}, we review the well known case of
triangulations. In Sections~\ref{sec:even_cycles} and~\ref{sec:quads},
we comment on polyhedral surfaces with even cycles, and the special
case of surfaces with quadrilateral faces.
We define discrete conformal equivalence only for polyhedral surfaces
that are combinatorially equivalent. Thus, we may assume that the
surfaces share the same CW complex $\Sigma$ equipped with different
metrics.
\begin{remark}
For triangulations, the definition of discrete conformal equivalence
has been extended to meshes that are not combinatorially
equivalent~\cite[Defintion 5.1.4]{BPS2015:dconf},
\cite{Luo13, Luo14}. It is not
clear if and how the following definitions for cyclic polyhedral
surfaces can be extended to combinatorially inequivalent CW
complexes.
\end{remark}
\begin{definition}
\label{def:dconf}
\begin{compactitem}
\item Two \emph{euclidean} cyclic polyhedral surfaces with discrete
metrics $\ell,\tilde\ell:E_{\Sigma}\rightarrow\R_{>0}$ are
\emph{discretely conformally equivalent} if there exists a
function $u:V_{\Sigma}\rightarrow\R$ such that
\begin{equation}
\label{eq:tilde_ell_euc}
\tilde\ell_\mathit{ij}=e^{\frac{1}{2}(u_{i}+u_{j})}\ell_\mathit{ij}.
\end{equation}
\item Two \emph{hyperbolic} cyclic polyhedral surfaces with discrete
metrics $\ell,\tilde\ell:E_{\Sigma}\rightarrow\R_{>0}$ are
\emph{discretely conformally equivalent} if there exists a
function $u:V_{\Sigma}\rightarrow\R$ such that
\begin{equation}
\label{eq:tilde_ell_hyp}
\sinh\Big(\frac{\tilde\ell_\mathit{ij}}{2}\Big)
= e^{\frac{1}{2}(u_{i}+u_{j})}\,
\sinh\Big(\frac{\ell_\mathit{ij}}{2}\Big).
\end{equation}
\item Two \emph{spherical} cyclic polyhedral surfaces with discrete
metrics $\ell,\tilde\ell:E_{\Sigma}\rightarrow\R_{>0}$ are
\emph{discretely conformally equivalent} if there exists a
function $u:V_{\Sigma}\rightarrow\R$ such that
\begin{equation}
\label{eq:tilde_ell_sph}
\sin\Big(\frac{\tilde\ell_\mathit{ij}}{2}\Big)
= e^{\frac{1}{2}(u_{i}+u_{j})}\,
\sin\Big(\frac{\ell_\mathit{ij}}{2}\Big).
\end{equation}
\end{compactitem}
We will also consider mixed versions:
\begin{compactitem}
\item
A euclidean cyclic polyhedral surface with discrete
metric $\ell:E_{\Sigma}\rightarrow\R_{>0}$ and a hyperbolic cyclic
polyhedral surface with discrete metric
$\tilde\ell:E_{\Sigma}\rightarrow\R_{>0}$ are discretely conformally
equivalent if
\begin{equation*}
\sinh\Big(\frac{\tilde\ell_\mathit{ij}}{2}\Big)
= e^{\frac{1}{2}(u_{i}+u_{j})}\ell_\mathit{ij}.
\end{equation*}
\item
A euclidean cyclic polyhedral surface with discrete
metric $\ell:E_{\Sigma}\rightarrow\R_{>0}$ and a spherical cyclic
polyhedral surface with discrete metric
$\tilde\ell:E_{\Sigma}\rightarrow\R_{>0}$ are discretely conformally
equivalent if
\begin{equation*}
\sin\Big(\frac{\tilde\ell_\mathit{ij}}{2}\Big)
= e^{\frac{1}{2}(u_{i}+u_{j})}\ell_\mathit{ij}.
\end{equation*}
\end{compactitem}
\end{definition}
\begin{remark}
Note that the relation~\eqref{eq:tilde_ell_sph} for spherical edge
lengths is equivalent to relation~\eqref{eq:tilde_ell_euc} for the
euclidean lengths of the chords in the ambient $\R^{3}$ of the
sphere (see Figure~\ref{fig:geometries}).
\begin{figure}
\centering \resizebox{0.6\textwidth}{!}{
\input{figures/geometries/spherical.pdf_t}
\input{figures/geometries/hyperbolic.pdf_t} }
\caption{Relations between spherical and hyperbolic lenghts and
the corresponding euclidean chord lengths.}
\label{fig:geometries}
\end{figure}
Likewise, relation~\eqref{eq:tilde_ell_hyp} for hyperbolic edge
lengths is equivalent to~\eqref{eq:tilde_ell_euc} for the euclidean
lengths of the chords in the ambient $\R^{2,1}$ of the hyperboloid
model of the hyperbolic plane.
\end{remark}
% \begin{remark*}[Orientation]
% We need and will only consider oriented surfaces because the
% solutions of the conformal mapping problems that we treat are
% sufficiently unique. The situation is like in the classical smooth
% case: While one could consider the uniformization of nonorientable
% Riemann surfaces (by allowing anticonformal chart transition
% functions and discrete groups containing orientation reversing
% M\"obius transformations), this would not lead to anything
% essentially new: Due to uniqueness, the uniformization of an
% unorientable surface lifts to the oriented double cover.
% \end{remark*}
\subsection{Triangulations: Characterization by length cross-ratios}
\label{sec:triangulations}
For triangulations we have an alternative characterization of conformal equivalence in terms of length cross-ratios. For two adjacent triangles $\it ijk\in F$ and $\it jil\in F$ the length cross-ratio of the common edge $\it ij\in E$ is defined as
\begin{equation}
\lcr_{\it ij}\vcentcolon=\frac{\ell_{\it il}\ell_{\it jk}}{\ell_{\it lj}\ell_{\it ki}}.
\end{equation}
\begin{proposition}
Two euclidean triangulations $(\Sigma, \ell)$ and $(\Sigma, \tilde \ell)$ are discretely conformally equivalent if and only if for each interior edge $\it ij\in E$, the induced length cross-ratios agree.
\end{proposition}
In addition to this characterization we can recover a representative metric from the length cross-ratios.
The length cross-ratios satisfy the product equation at each vertex $i\in V$
\begin{equation}
\prod_{\it ij\ni i} \lcr_{\it ij} = 1.
\end{equation}
Define values attached to angles of the triangulation, e.g.,
\begin{equation}
c^i_{\it jk}=\frac{\ell_{\it jk}}{\ell_{\it ij}\ell_{\it ki}}\label{eq:angle_parameter}
\end{equation}
is attached to angle at vertex $i$ of the triangle $\it ijk\in F$.
With this parameter the length cross-ratios can we written as
\begin{equation}
\lcr_{\it ij}=\frac{c^i_{\it jk}}{c^i_{\it lj}}.
\end{equation}
for a given function $\lcr$ defined on edges of the triangulation we can find parameters $c$ on angles that satisfy Equation~\ref{eq:angle_parameter} by choosing one of the $c$ at each vertex.
The corresponding metric $\ell$ is then given by the relations
\begin{equation}
\ell_{\it ij} = \frac{1}{\sqrt{c^i_{\it jk}c^j_{\it ki}}} = \frac{1}{\sqrt{c^i_{\it lj}c^j_{\it il}}}.
\end{equation}
What is now the generalization of this concept to cyclic polyhedral surfaces?
\subsection{Quadrangulations: Characterization by cross-ratios and the Hirota systems}
\label{sec:quads}
\subsection{Even cycles: Characterization by length multi-ratios}
\label{sec:even_cycles}
\begin{itemize}
\item even polygons
\item even cycles
\end{itemize}
Note: Even polygons and quadrangulation of the disk.
Until now we have only talked about discrete conformal equivalence of discrete euclidean/spherical/hyperbolic metrics.
We now turn to discrete conformal mappings between discrete cyclic polyhedral surfaces.
\subsection{Discrete conformal maps}
Let $\Sigma$ be a cyclic polyhedral surface. Define a derived cyclic polyhedral
surface $\tilde \Sigma$ by triangulating all faces with more than three vertices. The way of triangulation
is arbitrary. Let $E_0$ be the set of original edges and let $E_1$ be the set of new edges
in the triangulation, i.e., $E=E_0\cup E_1$.
\begin{problem}[prescribed angle sums]
\label{prob:total_angles}
\textbf{\itshape{Given}}
\begin{compactitem}
\item the discrete metric $\ell:E\rightarrow\R_{>0}$ of a euclidean cyclic polyhedral surface,
\item a desired total angle $\Theta_{i}>0$ for each vertex $i\in V$,
\end{compactitem}
\smallskip\noindent%
\textbf{\itshape{find}} the discrete metric $\tilde\ell:E\rightarrow\R_{>0}$ of a discretely conformally equivalent euclidean/hyperbolic/spherical cyclic polyhedral surface that has the desired total angle $\Theta_{i}$ around each vertex $i\in V$.
\end{problem}
For interior vertices, $\Theta_i$ denotes a desired cone angle.
For boundary vertices, $\Theta_i$ denotes a desired interior angle of the polygonal boundary.
If $\Theta_{i}=2\pi$ for all interior vertices, then Problem~\ref{prob:total_angles} asks for a flat metric in the discrete conformal class (with prescribed boundary angles if the surface has a boundary).
Note that the solution of this problem is a discretely conformally equivalent metric only on $E_0$ and for the original complex $\Sigma$.
We also consider the more general mapping problem.
\begin{problem}[prescribed scale factors and angle sums]
\label{prob:factors_and_angles}
\textbf{\itshape{Given}}
\begin{compactitem}
\item the discrete metric $\ell:E\rightarrow\R_{>0}$ of a euclidean cyclic polyhedral surface,
\item a partition $V=V_0\cup V_1$ of the vertex set
\item a prescribed logarithmic scale factor $u_i\in \R$ for each vertex $i\in V_0$
\item a prescribed angle $\Theta_{i} > 0$ for each vertex $i\in V_1$,
\end{compactitem}
\smallskip\noindent%
\textbf{\itshape{find}} the discrete metric $\tilde\ell:E\rightarrow\R_{>0}$ of a discretely conformally equivalent euclidean/hyperbolic/spherical cyclic polyhedral surface that has the desired total angles $\Theta_{i}$ around each vertex $i\in V_1$.
\end{problem}
Solving these problems amounts to the solution of a system of non-linear equations in terms of $u_i$ for $i\in V$ and $\lambda_{\it ij}$ for $\it ij \in E_1$:
\begin{eqnarray}
0 &=&\Theta_i-\sum_{\it ijk \ni i}\alphat_{\it ji}^i \quad\quad i\in V\label{eq:vertex_system}\\
0 &=& \beta_{\it ij}^k+\beta_{\it ij}^l - \pi \quad\quad \textit{ij} \in E_1\label{eq:edge_system}
\end{eqnarray}
The angle $\alphat_{\it ji}^i$ is the new angle at vertex $i$ in the triangle $\it ijk\in F$, see Figure~\ref{fig:triangle_notation}.
It is a function of the new edges lengths $\tilde\ell_{\it ij}$.
Equation~\ref{eq:vertex_system} is the condition for the angles around each vertex $i \in V$ to sum up to a prescribed $\Theta_i$.
Condition~\ref{eq:edge_system} is satisfied if and only if the quadrilateral $\it ijkl\in \Sigma$ consisting of triangles $\it ijk\in \tilde \Sigma$ and $\it jil\in \tilde \Sigma$ is inscribed in a circle, see Figure~\ref{fig:triangle_notation}.
Note that this condition is valid in all geometries. For the euclidean case the condition reduces to $\pi=\alphat_{\it ij}^k + \alphat_{\it ij}^l$.
\section{Variational principles for discrete conformal maps}
\label{sec:vari-princ}
\begin{definition}
Let $\ell_{\it ij}:E\to R_{>0}$ be the edge lengths of $\tilde \Sigma$ and $u:V_{\tilde\Sigma}\rightarrow\R$. Define
\begin{eqnarray*}
\lambda_{\it ij} &\vcentcolon=& 2\log \ell_{\it ij}\label{eq:lambda_def}\\
\tilde\lambda_{\it ij} &\vcentcolon=& \lambda_{\it ij}+u_i+u_j\\
\tilde \ell_{\it ij} &\vcentcolon=& e^{\frac{1}{2}\tilde \lambda_{\it ij}}=e^{\frac{1}{2}(u_i + u_j)}\ell_{\it ij}
\end{eqnarray*}
\end{definition}
In the latter we denote angles that are functions of new lengths $\ellt$ with tilde marks, e.g., $\alphat_{\it jk}^i$.
We consider three functionals defined on the triangulation $\tilde \Sigma$:
\begin{eqnarray*}
E^{\rm euc}(\lambda,u) &\to& \R\\
E^{\rm hyp}(\lambda,u) &\to& \R\\
E^{\rm sph}(\lambda,u) &\to& \R.
\end{eqnarray*}
By $\lambda, u$ we mean the vector of all $\lambda_{\it ij}$ for $\it ij \in E_1$ and $u_i$ for all $i\in V$, i.e., $(\lambda, u)\in \R^{\# E_1}\times\R^{\#V}$.
We treat all $u_i$ with $i\in V$ and all $\lambda_{\it ij}$ $\ij \in E_1$ as free variables. The values for $\lambda_{\it ij}$ with $\it ij\in E_0$ are fixed and are given by Equation~\ref{eq:lambda_def}. By allowing the $\lambda$s in $E_1$ to be variable the critical point of each of the functionals has a circular quadrilateral at each edge $\it ij\in E_1$, see, e.g., Equation~\ref{eq:lambda_deriv_euc}.
The functionals can be defined generically as
\begin{definition}{Generic functional}
\begin{eqnarray}
E(\lambda, u) &\vcentcolon=& \sum_{\it ijk\in F}\left(f_{\it ijk}(\tilde\lambda) - \frac{\pi}{2}\left(\tilde \lambda_{jk} + \tilde \lambda_{ki} + \tilde \lambda_{ij}\right)\right) + \sum_{i\in V} \Theta_i u_i.
\end{eqnarray}
\end{definition}
The function $f_{\it ijk}$ is defined as
\begin{eqnarray}
f_{\it ijk}(\lambda) &\vcentcolon=&\beta_{\it jk}^i \lambda_{jk} + \beta_{\it ki}^j \lambda_{ki} + \beta_{\it ij}^k \lambda_{ij}\\
&&+\ML(\alpha_{\it jk}^i) + \ML(\alpha_{\it ki}^j) + \ML(\alpha_{\it ij}^k) + \ML(\beta_{\it jk}^i) + \ML(\beta_{\it ki}^j) + \ML(\beta_{\it ij}^k)\nonumber\\
&&+\ML\left(\frac{1}{2}\left(\pi - \alpha_{\it jk}^i - \alpha_{\it ki}^j - \alpha_{\it ij}^k\right)\right).\nonumber
\end{eqnarray}
See Section~\ref{sec:notation} for the definition of the angles $\alpha$ and $\beta$.
The triangle angles $\alpha$ are functions of the lengths $\ell$ and are different for each of the geometries.
Thus $f$ is different for each of the geometries.
Note that using $\alpha_{\it jk}^i + \alpha_{\it ki}^j + \alpha_{\it ij}^k = \pi$ for $\it ijk \in F$ in the euclidean case we get a simplified version of the functional. It is
\begin{eqnarray*}
f^{\rm euc}_{\it ijk}(\lambda) &=& \alpha_{\it jk}^i \lambda_{jk} + \alpha_{\it ki}^j \lambda_{ki} + \alpha_{\it ij}^k \lambda_{ij} + 2\ML(\alpha_{\it jk}^i) + 2\ML(\alpha_{\it ki}^j) + 2\ML(\alpha_{\it ij}^k).
\end{eqnarray*}
\begin{proposition}{Partial derivatives of $f_{\it ijk}$}
\begin{gather}
\frac{\partial f_{\it ijk}}{\partial \lambda_{\it ij}}=\beta^k_{\it ij},\quad\quad
\frac{\partial f_{\it ijk}}{\partial \lambda_{\it jk}}=\beta^i_{\it jk},\quad\quad
\frac{\partial f_{\it ijk}}{\partial \lambda_{\it ki}}=\beta^j_{\it ki}\\
\frac{\partial f_{\it ijk}}{\partial u_i}=\beta^j_{\it ki}+\beta^k_{\it ij},\quad\quad
\frac{\partial f_{\it ijk}}{\partial u_j}=\beta^k_{\it ij}+\beta^i_{\it jk},\quad\quad
\frac{\partial f_{\it ijk}}{\partial u_k}=\beta^i_{\it jk}+\beta^j_{\it ki}.
\end{gather}
\end{proposition}
The partial derivatives of $E$ are
\begin{eqnarray}
\frac{\partial E}{\partial u_i} &=& \Theta_i - \sum_{\it ijk\ni i}\alphat_{\it jk}^i \\
\frac{\partial E}{\partial \lambda_{\it ij}} &=& \betat_{\it ij}^k + \betat_{\it ij}^l -\pi.\label{eq:lambda_deriv_generic}
\end{eqnarray}
Note that in the euclidean case Equation~\ref{eq:lambda_deriv_generic} reduces to
\begin{eqnarray}
\frac{\partial E^{\rm euc}}{\partial \lambda_{\it ij}} &=& \alphat_{\it ij}^k + \alphat_{\it ji}^l - \pi.\label{eq:lambda_deriv_euc}
\end{eqnarray}
We give formulas for $\alphat$ and derive the Hessian matrices for the functionals in each of the three cases.
\subsection{Euclidean version}
\label{sec:euclidean_fuctional}
Let $\alphat^i_{\it jk}$ be the angle opposite to edge $\it jk$ in the triangle $\it ijk\in F$ with edge lengths $\ell_{\it ij}$, $\ell_{\it jk}$, and $\ell_{\it ki}$. In euclidean geometry we calculate $\alphat^i_{\it jk}$ using the half-angle formula
\[\tan\Big(\frac{ \alpha_{\it jk}^i}{2}\Big) = \sqrt{\frac
{(-\ell_{\it ij} +\ell_{\it jk} +\ell_{\it ki})(\ell_{\it ij} +\ell_{\it jk} -\ell_{\it ki})}
{(\ell_{\it ij} -\ell_{\it jk} +\ell_{\it ki})(\ell_{\it ij} + \ell_{\it jk} +\ell_{\it ki})}}.\]
We now derive the hessian matrix from the previously calculated hessian with variables $u$ only:
\begin{eqnarray}
d^2E^{\rm euc}(u)&=&\frac{1}{2}\sum_{\it ij \in \vect{E}} \cot \alphat_{\it ij}^k \cdot (du_i - du_j)^2.
\end{eqnarray}
From the definition of $\tilde\lambda_{\it ij} \vcentcolon= \lambda_{\it ij}+u_i+u_j$ we obtain
\[du_i-du_j=d\tilde\lambda_{\it ki}-d\tilde\lambda_{\it jk}.\]
using $d\lambda = 0$. If now the original $\lambda$s are variables we get extra terms in the hessian coming from
\[d\tilde\lambda_{\it ij}=d\lambda_{\it ij}+du_i+du_j\]
with non-vanishing $d\lambda_{\it ij}$. It is
\begin{eqnarray*}
d^2E^{\rm euc}(\tilde\lambda)
&=&\frac{1}{2}\sum_{\it ij \in \vect{E}} \cot \alphat_{\it ij}^k \cdot (d\tilde\lambda_{\it ki}-d\tilde\lambda_{\it jk})^2.
\end{eqnarray*}
and
\begin{eqnarray*}
d^2E^{\rm euc}(\lambda, u)&=&\frac{1}{2}\sum_{\it ij \in \vect{E}} \cot \alphat_{\it ij}^k \cdot (d\lambda_{\it ki}-d\lambda_{\it jk} + du_i - du_j)^2.
\end{eqnarray*}
\subsection{Hyperbolic version}
\label{sec:hyperbolic_fuctional}
For the hyperbolic case $\lambda$ and $\tilde\lambda$ are defined as before. We define hyperbolic edge lengths as
\begin{equation}
\ell^{\rm hyp}_{\it ij} \vcentcolon= 2\arsinh(\tilde \ell_{\it ij}).\label{eq:hyperbolic_lengths}
\end{equation}
All angles $\alphat$ are calculated using these new hyperbolic edge lengths.
Thus in the hyperbolic case the function $\alphat$ is defined using the hyperbolic half-angle formula with hyperbolic edge lengths
\[
\tan\Big(\frac{\alpha^k_{\it ij}}{2}\Big)=
\sqrt{\frac{
\sinh(\frac{\ell_{ij}-\ell_{jk}+\ell_{ki}}{2})
\sinh(\frac{\ell_{ij}+\ell_{jk}-\ell_{ki}}{2})
}{
\sinh(\frac{-\ell_{ij}+\ell_{jk}+\ell_{ki}}{2})
\sinh(\frac{\ell_{ij}+\ell_{jk}+\ell_{ki}}{2})
}}.
\]
The hessian matrix of $E^{\rm hyp}(u)$ if $\lambda$s are fixed is given by
\begin{eqnarray*}
d^2E^{\rm hyp}(u)
&=&\frac{1}{2}\sum_{\it ij\in \vect{E}} \cot\betat^k_{\it ij} \cdot \left((du_i-du_j)^2+
\tanh^2\left(\tfrac{\tilde \ell_{\it ij}}{2}\right)(du_i+du_j)^2\right).
\end{eqnarray*}
As in the euclidean case we can derive a version with variable $\lambda$s from the fact that
\begin{equation*}
d\tilde \lambda_{\it ij}=d\lambda_{\it ij}+du_i+du_j.
\end{equation*}
Writing the functional as a function of $\tilde \lambda$s we get
\begin{eqnarray*}
d^2E^{\rm hyp}(\tilde \lambda) &=&
\frac{1}{2}\sum_{\it ij\in \vect{E}} \cot\betat^k_{\it ij} \cdot \left((d\tilde\lambda_{\it ik}-d\tilde\lambda_{\it kj})^2+\tanh^2\left(\tfrac{\tilde \ell_{\it ij}}{2}\right)(d\tilde\lambda_{\it ij})^2\right)
\end{eqnarray*}
With non vanishing $d\lambda_{\it ij}$ we get
\begin{eqnarray*}
d^2E^{\rm hyp}(\lambda, u)
&=& \frac{1}{2}\sum_{\it ij\in \vect{E}} \cot\betat^k_{\it ij} \cdot
\left((d\lambda_{\it ik}-d\lambda_{\it kj} + du_i-du_j)^2+\tanh^2\left(\tfrac{\tilde \ell_{\it ij}}{2}\right)(d\lambda_{\it ij} +du_i+du_j)^2\right)
\end{eqnarray*}
\subsection{Spherical version}
\label{sec:spherical_fuctional}
We define new spherical edge lengths as
\begin{equation}
\ell^{\rm sph}_{\it ij} \vcentcolon= 2\arcsin(\tilde \ell_{\it ij}).\label{eq:spherical_lengths}
\end{equation}
In the spherical case the angles $\alphat$ are calculated on the sphere using spherical lengths as defined in
Equation~\ref{eq:spherical_lengths} and the spherical half-angle formula
\[
\tan\Big(\frac{\alpha^k_{\it ij}}{2}\Big)=
\sqrt{\frac{
\sin(\frac{\ell_{ij}-\ell_{jk}+\ell_{ki}}{2})
\sin(\frac{\ell_{ij}+\ell_{jk}-\ell_{ki}}{2})
}{
\sin(\frac{-\ell_{ij}+\ell_{jk}+\ell_{ki}}{2})
\sin(\frac{\ell_{ij}+\ell_{jk}+\ell_{ki}}{2})
}}
\]
Analogously to the hyperbolic case we find the formula for the second derivative:
\begin{eqnarray*}
d^2E^{\rm sph}(\lambda, u)
&=& \frac{1}{2}\sum_{\it ij\in \vect{E}} \cot\betat^k_{\it ij} \cdot
\left((d\lambda_{\it ik}-d\lambda_{\it kj} + du_i-du_j)^2-\tan^2\left(\tfrac{\tilde \ell_{\it ij}}{2}\right)(d\lambda_{\it ij} +du_i+du_j)^2\right).
\end{eqnarray*}
Note the change of the sign in front of the $\tan$ in the formula and the $\tan$ instead of a $\tanh$.
Apart from that the hyperbolic and spherical derivatives look the same.
\subsection{Convexity and extension of the domain}
\label{sec:convexity_extension}
The most powerful numerical methods for non-linear optimization are applicable for convex unconstraint problems \cite{boyd2004convex}.
The non-linear part of the euclidean and hyperbolic functionals is convex \cite{BPS2015:dconf}.
However for all geometries the functionals are defined on a domain bounded by the inequalities of Equation~\ref{eq:polygon_ineq}.
This renders the domain non-convex.
It is possible to extend this domain and continue the function smoothly across the boundary.
Since we only deal with triangulations the inequalities are just ordinary triangle inequalities.
Let
\[\ellt_{\it ij} < \ellt_{\it jk} + \ellt_{\it ki}\]
be a violated triangle inequality of the triangle $\it ijk \in F$. We define the corresponding angles as
\begin{equation*}
\alphat^k_{\it ij} = \pi,\quad \alphat^i_{\it jk} = 0,\quad \alphat^j_{\it ki} = 0
\end{equation*}
and analogously for the other two inequalities of the triangle $\it ijk$.
For constant $\alphat$ in the extended domain the functionals are linear.
Thus we replace the corresponding $\cot$ weights in the second derivatives by $0$.
Considering the extended domain we can use unconstraint convex optimization techniques to find critical points of the euclidean and hyperbolic functionals.
The spherical functional is more delicate to optimize.
In addition to the ordinary triangle inequalities that we treat as before we have the additional constraint~\ref{eq:polygon_ineq_spherical} for the domain.
Let
\[2\pi < \ellt_{\it ij} + \ellt_{\it jk} + \ellt_{\it ki}\]
be the violated inequality for the triangle $\it ijk$, i.e., $\it ijk$ is a great circle.
Define the corresponding angles as
\begin{equation*}
\alphat^k_{\it ij} = \pi,\quad \alphat^i_{\it jk} = \pi,\quad \alphat^j_{\it ki} = \pi.
\end{equation*}
Again this extends the functional smoothly across the boundary of the domain.
As for the triangle inequalities set the corresponding $\cot$ weights equal to $0$ in the Hessian matrix.
We have another constraint in the spherical case, i.e., Equation~\ref{eq:spherical_lengths} is only defined for $\tilde\ell_{\it ij} \leq 1$.
Thus we have additional linear constraints for each edge $\it ij$ of the triangulation
\[\lambda_{\it ij} + u_i + u_j \leq 0.\]
We give more details on how we find critical points of the non-convex spherical functional in Section~\ref{sec:spherical_computation}.
\section{Conformal uniformization of planar domains}
\label{sec:planar_domains}
The conformal mapping of planar domains in the context of discrete conformal equivalence has been studied before for triangulations.
In its basic incarnation it amounts to the assignment of suitable angles $\Theta$ at the boundary vertices of the domain to obtain a map from a planar domain to a polygon with the prescribed boundary angles.
In this section we experiment with the generalized notion of conformal equivalence of cyclic polyhedral surfaces.
In particular we aim to find a solution to the euclidean version of Problem~\ref{prob:total_angles} involving one ore more boundary components.
\subsection{Simply connected domains}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{planar_circles/all.pdf}
\setstretch{0.0}{\scriptsize\tt data/planar\_circles/circular\_\{non\_\}schramm02.xml}\\
\caption{
Mapping a rectangle to a parallelogram.
All quadrilaterals in the image are cyclic quadrilaterals.
Note, in addition to the circle pattern generated by the quadrilaterals the upper example yields an S-isothermic circle pattern whereas the lower one does not.
}
\label{fig:cyclic_parallelogram}
\end{figure}
A simple example of a discrete conformal map between planar cyclic polyhedral surfaces if shown in Figure~\ref{fig:cyclic_parallelogram}.
We start with a rectangle domain consisting of squares.
This surface is in particular a cyclic polyhedral surface.
We prescribe boundary angles such that we obtain a map to a parallelogram.
Corners of the domain are mapped to corners in the image.
Technically we introduce auxiliary edge by triangulating the squares. $\lambda$s on these edges are treated as free variables.
In a solution to the mapping problem we end up with cyclic polygons, see Equation~\ref{eq:lambda_deriv_euc}.
Note that if a Schramm-circle-pattern \cite{S97} exist for the given combinatorics and boundary data of the polyhedral surface than the minimizer realizes this pattern since its solution is the unique circle pattern with the given boundary conditions.
If it does not exist we get a cyclic solution and no circle pattern, see Figure~\ref{fig:cyclic_parallelogram} top-row versus bottom-row.
\begin{theorem}[Necessary conditions for the existence of a solution]
Let $\Sigma$ be bipartite. Let $V_w$ be the set of white boundary vertices and $V_b$ be the set of black boundary vertices.
Let $\alpha_i$ be the sum of angles at boundary vertex $i$ in the domain of the map and $\Theta_i$ be the corresponding angle sum in the conformally equivalent image.
A necessary condition for the solvability of the system is that the change of boundary curvature in both vertex sets cancel out:
\begin{eqnarray}
\sum_{i\in V_w}(\alpha_i - \Theta_i) &=& 0\label{eq:boundary_white}\\
\sum_{i\in V_b}(\alpha_i - \Theta_i) &=& 0\label{eq:boundary_black}.
\end{eqnarray}
\end{theorem}
\begin{proof}
Let $p:V\to \C$ the domain of the map consisting of squares. Each of the squares has a cross-ratio of $-1$.
It forms a parallelogram realization of the corresponding cross-ratio system \cite[pp. 311--318]{BobenkoSuris2008}.
Let $z:V\to \C$ be the conformally equivalent image of the discrete conformal map with given boundary conditions $\Theta_i:V\to \R_{>0}$.
There is a function $w:V\to \C$ together with following system of equations (Hirota system):
\begin{equation*}
z_i-z_j=w_iw_j(p_i-p_j)
\end{equation*}
for each directed edge $\it ij \in \vect{E}$.
We express the sum of white and black boundary angles with the help of this system.
Let $k_1,\ldots,k_n$ be the boundary vertices in cyclic order.
We use the indices $1,\ldots,n$ to refer to these vertices and obtain
\begin{eqnarray*}
\sum_{i=1}^{n/2}\Theta_{2i} &=&\sum_{i=1}^{n/2}\arg\left\{\frac{z_{i-1}-z_i}{z_{i+1}-z_i}\right\}\\
&=&\sum_{i=1}^{n/2}\arg\left\{\frac{w_{2i}w_{2i-1}(p_{2i-1}-p_{2i})}{w_{2i}w_{2i+1}(p_{2i+1}-p_{2i})}\right\}\\
&=&\arg\prod_{i=1}^{n/2}\frac{p_{2i-1}-p_{2i}}{p_{2i+1}-p_{2i}}\\
&=&\sum_{i=1}^{n/2}\alpha_{2i}
\end{eqnarray*}
If $k_1$ is a black vertex we get Equation~\ref{eq:boundary_white} and Equation~\ref{eq:boundary_black} for a white $k_1$.
\end{proof}
In the examples of Figure~\ref{fig:cyclic_parallelogram} this condition is met.
In the top example all corners have the same color, thus all curvature changes add up and cancel.
In the second example the two bottom corners have a different color than the two top corners.
As the result is a parallelogram again the change of angles cancels out.
On the contrary, a square made from $7$ squares in each direction does not meet the condition with the given boundary angles.
Here opposite corners have the same color.
The change of curvature has the same sign for opposite corners, hence the conditions are not true.
Experiments show that we cannot solve the problem in such a case.
\subsection{Riemann map with cyclic quadrilaterals}
\label{sec:riemann_map}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{planar_circles/riemann_shape_image.pdf}
\quad
\raisebox{0.75cm}{
\includegraphics[height=3.5cm]{planar_circles/riemann_shape_closeup.pdf}
}
}
\resizebox{0.9\textwidth}{!}{
\includegraphics[height=5cm]{planar_circles/riemann_shape_halfplane.pdf}
}
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{planar_circles/riemann_shape_domain.pdf}
\includegraphics[height=5cm]{planar_circles/riemann_shape_circles.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/planar\_circles/riemann\_shape.xml}
\caption{
Riemann-map with cyclic quadrilaterals.
Corners with valence two in the original domain are modeled as triangles, upper left.
We first map to the upper half-plane.
Quadrilaterals adjacent to the point at infinity are removed.
Points opposite to the point at infinity have a prescribed boundary angle of $\pi$.
The four vertices in between have a fixed $u=0$.
By that quadrilaterals adjacent to the point at infinity are cyclic after the Moebius transformation to the disk, bottom.
}
\label{fig:circular_riemann}
\end{figure}
We show how to calculate discrete Riemann maps for cyclic quadrilateral domains, i.e., a discrete analog of conformal maps from a simply connected planar region to the unit disk.
In particular this yields a method for the generation of circle pattern Riemann maps, see Figure~\ref{fig:circular_riemann}.
The procedure is in many aspects analogous to the previously described method for triangulations \cite{BPS2015:dconf}.
Let $\Sigma$ be a cyclic planar domain that consists solely of quadrilaterals and $\ell$ be a discrete metric on $\Sigma$.
Proceed as follows:
\begin{enumerate}
\item
Choose a vertex $k$ on the boundary of $\Sigma$ and apply a discrete conformal change of metric such that all edges incident with $k$ have the same lengths.
\item
Let $\Sigma'$ be the complex with all quadrilaterals that are incident to vertex $k$ removed.
\item
Solve Problem~\ref{prob:factors_and_angles} for $\Sigma'$ with prescribed $\Theta_i=2\pi$ for interior vertices in $\Sigma'$, $\Theta_i=\pi$ for boundary vertices in $\Sigma'$ that are not neighbors of $k$ in $\Sigma$ and $u_i=0$ for neighbors of $k$.
The result is a planar cyclic domain.
The boundary edges that belong to faces at vertex $k$ in $\Sigma$ are contained in straight lines for each face.
All other boundary edges are contained in a common straight line.
\item
Apply a M{\"o}bius transformation to the vertices that maps this straight line to a circle and the other vertices to the inside of this circle.
Reinsert $k$ at the image point of $\infty$ under this M{\"o}bius transformation.
Each face $\it ijmk \in \Sigma$ incident with $k$ is cyclic because the three vertices $i$, $j$, and $m$ are contained in a line before transformation.
\item
Optionally apply a planar version of the M{\"o}bius normalization as described in Section~\ref{sec:moebius_normalization}.
\end{enumerate}
The result is a planar cyclic domain that is conformally equivalent to $(\Sigma, \ell)$ and its boundary polygon is inscribed in a circle.
Note that as for triangulations we cannot have ears, i.e., a quadrilateral with two consecutive boundary edges, in the complex $\Sigma$ when solving Problem~\ref{prob:factors_and_angles}. To address this we replace ears by triangles, see Figure~\ref{fig:circular_riemann}.
\begin{proposition}
The result of this procedure is discretely conformally equivalent to $(\Sigma, \ell)$ and its boundary polygon inscribed in a circle.
\end{proposition}
\begin{proof}
We have to show that the cross-ratio of all quadrilaterals agree.
Since the quadrilaterals are cyclic their cross-ratios are real and negative.
After step 1 the cross ratio of the quadrilaterals at vertex $k$ are given by the length ratio of the two edges that are not connected to $k$.
After step 3 each three vertices $i$, $j$, and $k$ belonging to a face at $k$ lie on a straight line.
Thus the cross-ratio of the points $\infty$, $i$, $j$, and $k$ is the ratio of the two lengths $\it ij$ and $\it jk$.
This ratio is equal to the ratio after step 1 because there is only one scale factor involved.
The others are fixed to zero.
The cross-ratio is invariant under M{\"o}bius transformation therefor the ratios agree.
\todo{link to cross-ratio generalization}
\end{proof}
\subsection{Discrete circle domains}
\label{sec:circle_domains}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{
\includegraphics[width=0.5\textwidth]{circle_domain_euclidean/three_holes_image.pdf}
\includegraphics[width=0.5\textwidth]{circle_domain_euclidean/three_holes_domain.pdf}
\includegraphics[width=0.5\textwidth]{circle_domain_euclidean/three_holes_map.pdf}
}
\setstretch{0.8}{\scriptsize\tt data/circle\_domain\_euclidean/three\_holes.xml}
\caption{
Discrete conformal map of a multiply-connected domain to a region bounded by circles.
}
\label{fig:euclidean_circle_domain}
\end{figure}
We call a cyclic planar domain a circle domain if the vertices of each boundary component are inscribed in a circle.
In this section we present discrete conformal maps from planar domains to circle domains, see Figure~\ref{fig:euclidean_circle_domain}.
There is an analogous theorem for surfaces with higher genus, see Section~\ref{sec:hyperbolic_circle_domain} and Figure~\ref{fig:hyperbolic_circle_domain}.
In the smooth setting the corresponding theorem has been conjectured by Koebe.
Every domain in $\C$ is conformally equivalent to a domain bounded by circles.
The process to calculate a discrete map from a discrete planar cyclic domain to a discrete circle domain is as follows.
Suppose there is a unique exterior boundary component. Fill all interior boundary components by attaching faces.
Triangulate the new faces to produce a set of new edges $E_2$.
Let $\lambda_{\it ij}$ with $\it ij\in E_2$ be free variables of the mapping problem.
Map the domain to a circle as described in Section~\ref{sec:riemann_map} by solving Problem~\ref{prob:factors_and_angles} with these extra variables.
Remove extra edges $\it ij\in E_2$.
The boundary vertices of the result are inscribed in circles, see Figure~\ref{fig:euclidean_circle_domain}.
\subsection{Special multiply connected domains}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{planar_streams/arrow_cylinder.pdf}
\hskip 0.01\textwidth
\includegraphics[height=5cm]{planar_streams/arrow_cylinder_image.pdf}\hfill
\hskip 0.01\textwidth
\includegraphics[height=5cm]{planar_streams/arrow_cylinder_domain.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/planar\_streams/arrow\_cylinder\_planar.xml}
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{planar_streams/triangle_cylinder.pdf}
\hskip 0.01\textwidth
\includegraphics[height=5cm]{planar_streams/triangle_cylinder_image.pdf}\hfill
\hskip 0.01\textwidth
\includegraphics[height=5cm]{planar_streams/triangle_cylinder_domain.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/planar\_streams/triangle\_cylinder\_planar.xml}
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{planar_streams/circular_stream_03_lines.pdf}
\includegraphics[height=5cm]{planar_streams/circular_stream_03_mesh.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/planar\_streams/circular\_stream\_03.xml}
\caption{
Mapping of multiply connected regions.
Conformal map of a topological cylinder with boundary components.
In all images the vertical boundaries are identified.
The boundary of the domain consists of the upper and lower boundary loops and a slit in the interior of the domain.
This can be interpreted as modeling a stream of incompressible fluid flowing around an obstacle with periodic boundary conditions.
\\
Top: Map from an arrow shaped slit to a horizontal slit with straight boundary conditions on the upper and lower boundary loops.
The point on the left of the arrow tip is mapped to the left end of the horizontal slit.
The point on the right side is mapped to the right end.
\\
Middle: Same setup as above using a triangle as third boundary component.
Note that by symmetry the upper and lower corner of the triangle are mapped to the same point in the image of the map.
\\
Bottom: Three circular boundary components are mapped to horizontal slits.
}
\label{fig:fluid_flows}
\end{figure}
In this section we show how to conformally map multiply connected planar domains.
Our examples are inspired by planar potential flows with periodic boundary conditions, see Figure~\ref{fig:fluid_flows}.
The basic idea is to map a given domain with boundary components to periodic region with parallel slits.
We do not solve the general problem of discretely mapping an arbitrary region to a domain with parallel slits here but provide a few examples where we could obtain nice results using discrete conformal mappings as defined above.
In general the main challenge for the computation of such a map is to find the points on the boundary components that map to the ends of the slits. As these points may even not be located at vertices of the underlying mesh in general this involves a mesh refinement procedure. To solve the problem for the general case one would also have to solve an optimization problem to find the location of the points such that the slits become parallel and are oriented in a prescribed direction.
In the first two examples we can derive the pre-images of the slit ends by symmetry.
We take a rectangle with two identified sides, i.e. a part of a topological cylinder and place a symmetric cut in the shape of an arrow, see Figure~\ref{fig:fluid_flows} upper-left.
By symmetry the vertices to the left and to the right of the arrow tip get mapped to the ends of the slits.
This implies that we want to calculate a symmetric flow with respect to the configuration.
The boundary conditions are trivial.
All $\theta_i$ at the boundary are equal to $\pi$ except for the vertices at the tip of the arrow where $\theta$ is equal to $2\pi$.
In the second example we cut a symmetric triangle to form a boundary component. The pre-images of the slit ends are the left corner of the triangle and the mid-point of the right side, see Figure~\ref{fig:fluid_flows} middle row.
The third example is different from the other two as we inverse the direction of calculation.
The goal is to create a map from a domain with round holes to a region with parallel slits, see Figure~\ref{fig:fluid_flows} bottom row.
As we do not want to solve the global optimization problem for the location of the pre-images of slit ends we use a simple trick.
We start with a cylinder with parallel slits.
We add additional edges to triangulate the slits with the condition that none of the edges has zero length.
Remember that the functional is linearly extended to triangulations with angles greater or equal than $\pi$.
We treat the additional edges as auxiliary edges in a circular polygon, i.e., the corresponding $\lambda$s in the functional are variables of the optimization.
Thus adjacent triangles form a circular polygon in the resulting image.
\section{Uniformization of spheres}
\label{sec:spheres}
In this section we describe how to calculate discrete conformal maps to the sphere.
In Section~\ref{sec:spheres_euclidean} we use a similar construction as for the Riemann map to treat meshes without boundary using the euclidean functional.
As the corresponding spherical version of the variational principle is non-convex it is numerically difficult to find direct solutions.
If we want to state boundary conditions we however cannot avoid using the spherical version.
We describe how we proceed with the spherical functional in Section~\ref{sec:spherical_computation}.
\subsection{Uniformization with euclidean functional}
\label{sec:spheres_euclidean}
\begin{figure}
\centering
\resizebox{0.7\textwidth}{!}{
\includegraphics[height=5cm]{spherical_cyclic/cube_cyclic_domain.pdf}
\includegraphics[height=4.8cm]{spherical_cyclic/cube_cyclic_image.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/spherical\_cyclic/spherical\_circular.xml}
\caption{
Discrete cyclic conformal map to the sphere.
The map was calculated with the euclidean functional and stereographic projection.
We apply M{\"o}bius normalization to the spherical surface to achieve the symmetry
}
\label{fig:spherical_circular}
\end{figure}
Mapping a discrete cyclic surface with spherical topology to discretely conformally the round sphere can be achieved with a similar procedure as described in Section~\ref{sec:riemann_map}.
We treat the special case of a quad surface.\todo{some combinatorics seem not to work, why?}
We first remove a vertex and map the remaining part of the surface to the plane.
Then apply stereographic projection to map the surface to the sphere.
Again we can apply M{\"o}bius normalization to find a unique map up to rigid motion.
The process works step by step as follows: Let $\Sigma$ be a discrete cyclic surface with spherical topology and $\ell_{\it ij}$ be a metric on $\Sigma$.
\begin{enumerate}
\item
Choose a vertex $k$ and apply a discrete conformal change of metric to $\ell_{\it ij}$ such that all edges incident with $k$ have the same lengths.
\item
Let $\Sigma'$ be the complex with all faces that are incident to vertex $k$ removed.
\item
Solve Problem~\ref{prob:factors_and_angles} for $\Sigma'$ with prescribed $\Theta_i=2\pi$ for interior vertices in $\Sigma'$, $\Theta_i=\pi$ for boundary vertices in $\Sigma'$ that are not neighbors of $k$ in $\Sigma$ and $u_i=0$ for neighbors of $k$ in $\Sigma$ .
The result is a planar cyclic domain.
The boundary edges that belong to faces at vertex $k$ in $\Sigma$ are contained in straight lines for each face.
\item
Apply stereographic projection to the vertices to map the result to the unit sphere.
Reinsert $k$ at the image point of $\infty$.
Each face incident with $k$ is still cyclic because the three vertices are contained in a line before projection.
\item
Optionally apply M{\"o}bius normalization, see Section~\ref{sec:moebius_normalization}.
\end{enumerate}
The result is discretely conformally equivalent to $(\Sigma, \ell)$. The proof is analogous to Section~\ref{sec:riemann_map}.
We use this procedure to calculate spherical maps of triangulations, see Figure~\ref{fig:intro_uniformization}, as well as cyclic surfaces, see Figure~\ref{fig:spherical_circular}.
\subsection{Computation with spherical functional}
\label{sec:spherical_computation}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{
\includegraphics[height=5cm]{spherical/cube_image.pdf}
\includegraphics[height=5cm]{spherical/cube_domain.pdf}
\includegraphics[height=5cm]{spherical/tetrahedron_image.pdf}
\includegraphics[height=5cm]{spherical/tetrahedron_domain.pdf}
}
\setstretch{0.0}{\scriptsize\tt data/spherical/cube\_data.xml}\quad\quad\quad\quad{\scriptsize\tt data/spherical/tetrahedron\_data.xml}
\caption{Mapping conformally to the sphere using the spherical functional and a direct spherical layout process. The image is normalized such that the center of mass of vertices is the center of the sphere.}
\label{fig:spherical_examples}
\end{figure}
It is possible to use the spherical functional to calculate spherical uniformizations even if it is non-convex. In this case a numerical optimization has to find a saddle point in the energy landscape. This is due to the fact that the direction $v=(1,\ldots,1)$ is a negative direction of the Hessian. That means shrinking or enlarging all scale factors at once decreases the value of the energy. We use a simple yet effective trick that enables us to find a critical point for certain examples. Define the reduced functional
\begin{equation}
\label{eq:reduced_spherical}
\tilde E^{\rm sph}(u)=\max_t \left\{E^{\rm sph}(u + tv)\right\}
\end{equation}
Now minimize the reduced functional $\tilde E^{\rm sph}$.
Following this scheme we create examples that would not be possible using simple minimization with arbitrary initialization, see Figure~\ref{fig:spherical_examples}.
\subsection{M{\"o}bius normalization}
\label{sec:moebius_normalization}
The description of conformal equivalence is M{\"o}bus invariant.
To select a unique representative on the sphere we find the M{\"o}bius transformation $T$ such that
\[\sum_{i=1}^{n}T\cdot v_i = 0,\]
i.e., the center of mass of the points is the origin, see~\cite{Springborn05}.
To find the point of minimum hyperbolic distance sum as stated by Springborn we minimize the following functional.
\begin{eqnarray*}
E(x) &=& \sum_{v\in V}\log\left(\frac{-\left<x,v\right>}{\sqrt{-\left<x,x\right>}}\right)\\
\frac{\mathrm d E}{\mathrm dx} &=& \sum_{v\in V}\left(\frac{v}{\left<x,v\right>} - \frac{x}{\left<x,x\right>}\right)\\
\frac{\mathrm d^2 E}{\mathrm dx^2} &=& \sum_{v\in V}\left(2\frac{x^Tx}{\left<x,x\right>^2}-\frac{v^Tv}{\left<x,v\right>^2} - \mathrm{diag}\left(\frac{1}{\left<x,x\right>}\right)\right)
\end{eqnarray*}
Here $\left<.,.\right>$ is the Minkowski scalar product. Note that the problem is
$3$-dimensional and as such we define $\left<x,y\right>\vcentcolon=x_1y_1+x_2y_2+x_3y_3-1$ in
the implementation.
\subsection{Euclidean uniformization of spheres}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{
\includegraphics[height=10cm]{bear_torus/baer_quads.pdf}
\includegraphics[height=10cm]{bear_torus/baer_cuts.pdf}
\includegraphics[height=10cm]{bear_torus/cover_triangulation_rectangle.pdf}
\includegraphics[height=10cm]{bear_torus/cover_triangulation.pdf}
}\\
\setstretch{0.8}{\scriptsize\tt data/bear\_torus/bear60.xml}
\caption{
A discrete bear model is mapped to the plane.
Four cone-like singularities of angle $\pi$ are chosen at the arms and legs to reduce the conformal distortion.
The singularities can be interpreted as branch points of a two-sheeted cover of the bear forming a topological torus.
The corresponding universal cover is generated by euclidean translations, the fundamental domain can be chosen to be an approximate rectangle, middle.
The group of translations is a subgroup of the group generated by the rotations around the singularities about and angle of $\pi$. In a fundamental domain the branch vertices lie in the middle of edges, right.
}
\label{fig:bear}
\end{figure}
A branched cover of a topological sphere with four branch points is a topological torus.
We exploit this fact to calculate parameterizations of triangulations with spherical topology.
There are two ways to realize this.
We pick four vertices of the spherical triangulation. We create a two-sheeted branched cover of the triangulation by glueing two copies along paths connecting the selected vertices.
This procedure is parallel to the creation of discrete elliptic curves described in Section~\ref{sec:discrete_algebraic_curves}.
The resulting surface is a topological torus and can be uniformized using the euclidean functional and a layout in the plane.
The uniformizing group is generated by two translations.
This group is a subgroup of the group generated by rotations around the branch vertices.
Hence we can as well prescribe cone angles of $\pi$ at the selected vertices and calculate a direct map to the plane.
The universal cover is then generated by rotations.
We apply this procedure to a model of a bear, see Figure~\ref{fig:bear}. To create the triangle layout we cut the model open along an edge tree including the branch vertices, see the second picture in the Figure.
\section{Uniformization of tori}
\label{sec:tori}
Every torus is conformally equivalent to a flat torus.
The conformal classes of flat tori can be parameterized by parallelogram lattices.
Two lattices are equivalent if their complex edge ratios $\tau = \frac{\omega_1}{\omega_2}$ agree.
In this section we describe how to use discrete conformal maps to find analog constructions for discrete cyclic tori, see, e.g., Figure~\ref{fig:intro_uniformization}, middle.