Skip to content

Commit

Permalink
conformal
Browse files Browse the repository at this point in the history
  • Loading branch information
brsr committed Feb 26, 2019
1 parent c969fef commit c21e44c
Show file tree
Hide file tree
Showing 6 changed files with 146 additions and 178 deletions.
58 changes: 23 additions & 35 deletions docs/euclidian_spherical_maps.aux
Original file line number Diff line number Diff line change
Expand Up @@ -15,52 +15,40 @@
\newlabel{fig:bary}{{1}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\tocsubsubsection {}{1.1.7}{Skewness}}{3}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{1.2}{Triangle and quadrilateral coordinates}}{3}}
\citation{nehari}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces $uv$ coordinates on quadrilateral, showing intersection of lines.}}{4}}
\newlabel{fig:uv}{{2}{4}}
\@writefile{toc}{\contentsline {section}{\tocsection {}{2}{Mappings between Euclidean and spherical polygons}}{4}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.1}{Conformal}}{4}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.2}{Gnomonic}}{4}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.3}{Spherical areal}}{4}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.2}{Gnomonic}}{5}}
\citation{antiprism}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Intersection of great circle arcs inside a spherical triangle, and the small spherical triangle formed by the arcs. Exaggerated so that the small triangle is visible; not to scale.}}{5}}
\newlabel{fig:intlines}{{3}{5}}
\newlabel{eq:sphareal}{{16}{5}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.4}{Great Circle}}{5}}
\newlabel{eq:gct}{{18}{5}}
\newlabel{eq:gcq}{{19}{6}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.5}{Nested Slerp}}{6}}
\newlabel{eq:nst}{{20}{6}}
\newlabel{eq:nsq}{{21}{6}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.6}{Naive Slerp}}{6}}
\citation{fong15}
\citation{fong16}
\citation{fong18}
\citation{lambers}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.7}{Projection of $\mathbf v^*$}}{7}}
\@writefile{toc}{\contentsline {section}{\tocsection {}{3}{Mappings between Euclidean polygons and disks}}{7}}
\citation{fong16}
\citation{fong15}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Intersection of great circle arcs inside a spherical triangle, and the small spherical triangle formed by the arcs. Exaggerated so that the small triangle is visible; not to scale.}}{6}}
\newlabel{fig:intlines}{{3}{6}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.3}{Spherical areal}}{6}}
\newlabel{eq:sphareal}{{23}{6}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.4}{Great Circle}}{6}}
\newlabel{eq:gct}{{25}{6}}
\newlabel{eq:gcq}{{26}{7}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.5}{Nested Slerp}}{7}}
\newlabel{eq:nst}{{27}{7}}
\newlabel{eq:nsq}{{28}{7}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.6}{Naive Slerp}}{7}}
\bibstyle{plain}
\bibdata{references}
\bibcite{eriksson}{{1}{}{{}}{{}}}
\bibcite{fong15}{{2}{}{{}}{{}}}
\bibcite{fong16}{{3}{}{{}}{{}}}
\bibcite{fong18}{{4}{}{{}}{{}}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{3.1}{Conformal}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{3.2}{Radial stretching}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{3.3}{Naive Slerp}}{8}}
\@writefile{toc}{\contentsline {section}{\tocsection {}{4}{Applications}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{4.1}{Cartographic use}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{4.2}{Optimization of geodesic polyhedra}}{8}}
\bibcite{kahn}{{5}{}{{}}{{}}}
\bibcite{kenner}{{6}{}{{}}{{}}}
\bibcite{lambers}{{7}{}{{}}{{}}}
\bibcite{antiprism}{{8}{}{{}}{{}}}
\bibcite{oosterom}{{9}{}{{}}{{}}}
\bibcite{kahn}{{2}{}{{}}{{}}}
\bibcite{kenner}{{3}{}{{}}{{}}}
\bibcite{nehari}{{4}{}{{}}{{}}}
\bibcite{antiprism}{{5}{}{{}}{{}}}
\bibcite{oosterom}{{6}{}{{}}{{}}}
\newlabel{tocindent-1}{0pt}
\newlabel{tocindent0}{12.7778pt}
\newlabel{tocindent1}{66.11127pt}
\newlabel{tocindent2}{32.33316pt}
\newlabel{tocindent3}{0pt}
\providecommand\NAT@force@numbers{}\NAT@force@numbers
\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{9}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{2.7}{Projection of $\mathbf v^*$}}{8}}
\@writefile{toc}{\contentsline {section}{\tocsection {}{3}{Applications}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{3.1}{Cartographic use}}{8}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{3.2}{Optimization of geodesic polyhedra}}{8}}
\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{8}}
25 changes: 5 additions & 20 deletions docs/euclidian_spherical_maps.bbl
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,6 @@ Folke Eriksson.
\newblock {\em Mathematics Magazine}, 63(3):184--187, 1990.
\newblock doi:10.2307/2691141. JSTOR 2691141.

\bibitem{fong15}
Chamberlain Fong.
\newblock Analytical methods for squaring the disc.
\newblock {\em arXiv preprint arXiv:1509.06344}, 2015.

\bibitem{fong16}
Chamberlain Fong.
\newblock The conformal hyperbolic square and its ilk.
\newblock In {\em Bridges Conference Proceedings}, pages 9--13, 2016.

\bibitem{fong18}
Chamberlain Fong.
\newblock Homeomorphisms between the circular disc and the square.
\newblock {\em Handbook of the Mathematics of the Arts and Sciences}, pages
1--26, 2018.

\bibitem{kahn}
Lloyd Kahn.
\newblock {\em Domebook 2}.
Expand All @@ -32,10 +16,11 @@ Hugh Kenner.
\newblock {\em Geodesic math and how to use it}.
\newblock Univ of California Press, 1976.

\bibitem{lambers}
Martin Lambers.
\newblock Mappings between sphere, disc, and square.
\newblock {\em Journal of Computer Graphics Techniques Vol}, 5(2), 2016.
\bibitem{nehari}
Zeev Nehari.
\newblock The schwarzian $s$-functions.
\newblock In {\em Conformal Mapping}, chapter 6.5, pages 308--3017. Courier
Corporation, 2012.

\bibitem{antiprism}
Adrian Rossiter.
Expand Down
60 changes: 30 additions & 30 deletions docs/euclidian_spherical_maps.blg
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,44 @@ Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: euclidian_spherical_maps.aux
The style file: plain.bst
Database file #1: references.bib
You've used 9 entries,
You've used 6 entries,
2118 wiz_defined-function locations,
549 strings with 4913 characters,
and the built_in function-call counts, 2376 in all, are:
= -- 237
> -- 69
537 strings with 4590 characters,
and the built_in function-call counts, 1732 in all, are:
= -- 173
> -- 48
< -- 2
+ -- 31
- -- 20
* -- 127
:= -- 405
add.period$ -- 28
call.type$ -- 9
change.case$ -- 34
+ -- 22
- -- 14
* -- 99
:= -- 285
add.period$ -- 20
call.type$ -- 6
change.case$ -- 22
chr.to.int$ -- 0
cite$ -- 9
duplicate$ -- 110
empty$ -- 215
format.name$ -- 20
if$ -- 501
cite$ -- 6
duplicate$ -- 80
empty$ -- 161
format.name$ -- 14
if$ -- 373
int.to.chr$ -- 0
int.to.str$ -- 9
missing$ -- 10
newline$ -- 49
num.names$ -- 18
pop$ -- 41
int.to.str$ -- 6
missing$ -- 7
newline$ -- 34
num.names$ -- 12
pop$ -- 31
preamble$ -- 1
purify$ -- 28
purify$ -- 19
quote$ -- 0
skip$ -- 76
skip$ -- 52
stack$ -- 0
substring$ -- 135
swap$ -- 21
substring$ -- 113
swap$ -- 17
text.length$ -- 2
text.prefix$ -- 0
top$ -- 0
type$ -- 32
type$ -- 20
warning$ -- 0
while$ -- 28
width$ -- 10
write$ -- 99
while$ -- 18
width$ -- 7
write$ -- 68
Binary file modified docs/euclidian_spherical_maps.pdf
Binary file not shown.
162 changes: 69 additions & 93 deletions docs/euclidian_spherical_maps.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
\oddsidemargin=0in \evensidemargin=0in
\textwidth=6.6in \textheight=8.7in

\title{Mappings between Euclidean and spherical polygons}
\title{Some homeomorphisms between Euclidean and spherical polygons}
\author{B R S Recht}
\date{December 2018}

Expand Down Expand Up @@ -286,15 +286,80 @@ \subsection{Triangle and quadrilateral coordinates}

\section{Mappings between Euclidean and spherical polygons}
\subsection{Conformal}
Conformal mapping has deep connections to the theory of complex functions.
The Schwarz triangle maps conformally transform the upper half-plane to a
triangle whose edges are circular arcs. It it given by:
\begin{equation}
\varphi(z) = z^{1-c} \frac{_2 F_1(a',b';c',z)}{_2 F_1(a,b;c,z)}
\end{equation}
where $_2 F_1(a,b;c,z)$ is the hypergeometric function and
\begin{equation}\begin{split}
a & = \frac{1 - \alpha + \beta - \gamma}{2}\\
b & = \frac{1 - \alpha - \beta - \gamma}{2}\\
c & = 1 - \alpha\\
a' &= \frac{1 + \alpha + \beta - \gamma}{2} = 1 + a - c\\
b' &= \frac{1 + \alpha - \beta - \gamma}{2} = 1 + b - c\\
c' &= 1 + \alpha
\end{split}\end{equation}
and the angles at each vertex of the triangle are $\pi \alpha, \pi \beta,
\pi \gamma$. If $\alpha + \beta + \gamma < 1$, then the triangle is hyperbolic;
if $=1$ it is Euclidean, and if $>1$ it is spherical. \cite{nehari} Hyperbolic
triangles seem to be the most investigated cases in the literature, but here the
other two cases are of interest.

The Schwarz triangle map maps the boundary of the half-plane (i.e. $\mathbb{R}$)
to the boundary of the triangle. The vertices are the points. $z=0$, $1$, and
$\infty$ on that line. The map maps $z=0$ to $0$ and $z=1$ to the value $g$:
\begin{equation}
g = \frac{\Gamma(c-a)\Gamma(c-b)\Gamma(2-c)}{\Gamma(1-a)\Gamma(1-b)\Gamma(c)}
\end{equation}.

The stereographic transformation is the conformal mapping between the sphere and
the plane. If $z=x + i y$, and $u$, $v$, and $w$ are points on the sphere, then
\begin{equation}\begin{split}
u &= \frac{x}{1+x^2+y^2} \\
v &= \frac{y}{1+x^2+y^2} \\
w &= \frac{x^2 + y^2 - 1}{1+x^2+y^2}
\end{split}\end{equation}
or the inverse map,
\begin{equation}\begin{split}
x &= \frac{u}{1-w} \\
y &= \frac{v}{1-w}
\end{split}\end{equation}
Denote the map from the plane to the sphere as $S(z)$. Then a conformal mapping
between the upper half-plane and a spherical triangle is given by
$S\left(\phi(z)\frac{h}{g}\right)$, where $h$ is a scaling factor given by
\begin{equation}
h = \sqrt{ -\frac{\cos \left(\pi (\alpha+\beta)\right)
\cos\left(\pi\gamma\right)}
{\cos \left(\pi (\alpha-\beta)\right)
\cos\left(\pi\gamma\right)}}
\end{equation}
The derivation of $h$ can be performed using the spherical law of cosines.

Schwarz triangle maps
What remains is to find a conformal mapping between a Euclidean triangle and the
half-plane. This is also given by the $\varphi(z)$.
\begin{equation}
S\left(\phi_{\alpha,\beta,\gamma}
\left(\phi_{\alpha^*,\beta^*,\gamma^*}^{-1}(z)\right)
\frac{h_{\alpha,\beta,\gamma}}{g_{\alpha,\beta,\gamma}}\right)
\end{equation}
where $\alpha,\beta,\gamma$ denotes the angles of the spherical triangle (over
$\pi$), and $\alpha^*,\beta^*,\gamma^*$ denotes the angles of the Euclidean
triangle. (One choice to relate the two sets of angles is $\alpha^* =
\frac{\alpha}{\alpha+\beta+\gamma}$ etc.)
That said, calculating $\phi^{-1}(z)$ is not straightforward. No closed-form
inverse is known to the author, even though in the Euclidean case $b=0$
and the denominator of $\varphi(z)$ is 1. The function has branch cuts on
$(-\infty,0]$ and $[1, \infty)$, and points are transformed to arbitrarily
large values, making a naive numerical inversion difficult to execute.

\subsection{Gnomonic}
The gnomonic projection was known to the ancient Greeks, and is the simplest
of the transformations listed here. It has the nice property that all lines in
Euclidean space are transformed into great circles on the sphere: that is,
geodesics stay geodesics, and polygons stay polygons. This is in fact the
motivation for the name "geodesic dome": Fuller used this projection to project
motivation for the name ``geodesic dome'': Fuller used this projection to project
triangles on the sphere. This is referred to as Method 1 in geodesic dome
terminology. The main downside is that the transformation causes shapes
near the corners to appear bunched up;
Expand Down Expand Up @@ -524,96 +589,7 @@ \subsection{Projection of $\mathbf v^*$}
$p$ may be replaced by $\widetilde{p}$. If our goal is to optimize a
measurement of the mapping, we can do a 1-variable optimization on $k$.

\section{Mappings between Euclidean polygons and disks}
Some of the mappings mentioned above adapt nicely to maps between regular
Euclidan polygons and disks in the Euclidean plane. Mappings between squares
and disks are well-represented in the literature, but mappings between
triangles and disks have been neglected.
\cite{fong15}\cite{fong16}\cite{fong18}\cite{lambers}

In this section, we will use a square with vertices
\begin{equation}
\mathbf{v}_1 = \frac{[-1,-1]}{\sqrt 2}, \,
\mathbf{v}_2 = \frac{[1,-1]}{\sqrt 2}, \,
\mathbf{v}_3 = \frac{[1,1]}{\sqrt 2}, \,
\mathbf{v}_4 = \frac{[-1,1]}{\sqrt 2},
\end{equation}
and a triangle with vertices
\begin{equation}
\mathbf{v}_1 = \left[1, 0\right], \,
\mathbf{v}_2 = \left[-\frac{1}{2}, \frac{\sqrt{3}}{2}\right], \,
\mathbf{v}_3 = \left[-\frac{1}{2}, -\frac{\sqrt{3}}{2}\right].
\end{equation}
$[u, v]$ designates the point on the disk.

The mappings in this section can be adapted into mappings between a polygon and
a hemisphere. The stereographic projection conformally maps
the unit disk to a hemisphere, and is given by:
\begin{equation}\begin{split}
\hat{\mathbf v} &= \frac{[2x, 2y, x^2+y^2-1]}{1+x^2+y^2}, \\
[x, y] & = \frac{[v_x, v_y]}{1-v_z}.
\end{split}\end{equation}
The orthographic projection also maps the disk to the hemisphere,
and is given by:
\begin{equation}
\hat{\mathbf v} = [x, y, \sqrt{1-x^2-y^2}].
\end{equation}

\subsection{Conformal}
\begin{equation}
f(z) = \int_0^z \prod_{k=1}^n (\zeta - z_k)^{\alpha_k-1} d\zeta
\end{equation}
Like the Schwarz triangle map above,
computing this integral usually results in a hypergeometric function,
which is not particularly convenient. For squares it results in an elliptic
function, which is slightly more convenient.\cite{fong16}

\subsection{Radial stretching}
Consider the disk in polar coordinates. These mappings only change the radius
$r$ by a multiple, and leave $theta$ the same. They are not smooth. We give
only the triangular and square mappings here, but radial stretching is
extensible to any polygon. The square mapping is given in \cite{fong15} as:
\begin{equation}
[u, v] = \frac{\max(|x|,|y|)}{\sqrt{x^2+y^2}} [x,y]
\end{equation}
The triangular mapping is somewhat easier to express in polar form:
\begin{equation}\begin{split}
r &= 1-3 \min( \beta_i ) \\
\theta &= \arctan\left(\sqrt{3}(\beta_2-\beta_3),
3\beta_1 - 1 \right)
\end{split}\end{equation}
which can be converted back into Cartesian coordinates if needed.

\subsection{Naive Slerp}

Quadrilateral:
\begin{equation}\begin{split}
u &= \sqrt 2 \left(\sqrt{2+\sqrt 2} \sin \left( \frac{\pi}{8} x \right)
\cos \left( \frac{\pi}{8} y \right) \cos \left( \frac{\pi}{8} xy \right)
- \sqrt{2-\sqrt 2} \cos \left( \frac{\pi}{8} x \right) \sin
\left( \frac{\pi}{8} y \right) \sin \left( \frac{\pi}{8} xy \right)\right), \\
v &= \sqrt 2 \left(\sqrt{2+\sqrt 2} \cos \left( \frac{\pi}{8} x \right)
\sin \left( \frac{\pi}{8} y \right) \cos \left( \frac{\pi}{8} xy \right)
- \sqrt{2-\sqrt 2} \sin \left( \frac{\pi}{8} x \right)
\cos \left( \frac{\pi}{8} y \right) \sin \left( \frac{\pi}{8} xy \right)\right)
\end{split}\end{equation}
2nd Quadrilateral:
\begin{equation}\begin{split}
u &= \sqrt 2
\sin \left(\frac{\pi}{4}x\right) \cos \left(\frac{\pi}{4}y\right),\\
v &= \sqrt 2 \cos \left(\frac{\pi}{4}x\right) \sin \left(\frac{\pi}{4}y\right)
\end{split}\end{equation}
Note that the 2nd Quadrilateral Naive Slerp map preserves diagonal lines.

Triangular:
\begin{equation}\begin{split}
u& = \frac{1}{\sqrt{3}} \left(2 \sin\left(\frac{2\pi}{3} \beta_1 \right)
- \sin\left(\frac{2\pi}{3} \beta_2 \right)
- \sin\left(\frac{2\pi}{3} \beta_3 \right) \right)\\
v& = \sin\left(\frac{2\pi}{3} \beta_2 \right)
- \sin\left(\frac{2\pi}{3} \beta_3 \right)
\end{split}
\end{equation}
%http://mathproofs.blogspot.com/2005/07/mapping-cube-to-sphere.html

\section{Applications}
\subsection{Cartographic use}
Expand Down

0 comments on commit c21e44c

Please sign in to comment.