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