# ConformalMaps.jl

`ConformalMaps`

is a package for approximating the Riemann map from a
simply connected planar domain to a disk. It uses the zipper algorithm as
described in
Convergence of the zipper algorithm for conformal mapping
by Don Marshall and Steffen Rohde.

The domain (approximated by a polygon) is specified as an array which lists
the vertices of the domain in counterclockwise order. A conformal
map from `domain`

to the unit disk which maps `center`

to the origin
is initialized as `ConformalMap(domain,center)`

. The keyword argument
`pointspacing=ϵ`

inserts equally spaced points along each side of
the polygon so that the spacing between consecutive points is
everywhere less than `ϵ`

. Smaller values of `ϵ`

give greater accuracy
but require longer to compute. The default value is 1% of the diameter
of the domain.

```
using AsyPlots, ConformalMaps
vertices = [1.0 0.0;
0.0 1.0;
-1.0 0.0;
0.0 -1.0]
f = ConformalMap(vertices,0.0)
```

`f`

supports function call syntax: `f(0.1im)`

The inverse of `f`

is obtained as `inv(f)`

and is of type
`InverseConformalMap`

.

If `AsyPlots`

is installed,
then `visualize`

may be used to display the images of a hyperbolic
tiling of the disk (if called on an `InverseConformalMap`

) or grid
lines (if called on a `ConformalMap`

).

```
g = inv(f)
visualize(g)
```

`visualize`

returns a `ConformalMapVisualization`

object, whose
fields `domain`

and `range`

contain `AsyPlots.Plot2D`

objects.
`combine`

returns a single plot with the domain and the range