top of page

Conformal maps in action:  Transforming vases

Tova Brown, 10/25/2015

Summary:  I wrote a program that turns shapes into other shapes.  This is what it does to vases.  

The top row shows original images from photographs, the other two rows show these images post-modification.  

How it works:  The Riemann Mapping Theorem

For every pair of vases, the program constructs an invertible function from one shape to the other.  This function is conformal -- it doesn't necessarily preserve scale, but does preserve angles.  

 

For any sufficiently nice two-dimensional shape, there is always a conformal function that transforms this shape into a disk.  This is (more or less) the statement of the Riemann Mapping Theorem.  Once we've found conformal maps (functions) transforming the vases into disks, we may compose one function with the inverse of the other to obtain the function we want.  

Finding conformal maps:  An iterative process

We know there's a conformal map turning any "nice" shape into a disk, but finding that map is another matter.  These maps typically can't be expressed in terms of elementary functions.  

 

To construct our conformal maps, we use an iterative process based on the proof of the Riemann Mapping Theorem described in "Real and Complex Analysis", by Walter Rudin.  It works roughly like this:  

1)  Place the vase in the disk, with its center of mass at the center of the disk.  

 

2)  Pick a point on the disk which is not part of the vase.  

 

3)  Slide that point to the center, conformally.  

 

4)  Now there is a path from the edge of the disk to the center that doesn't touch the vase.  We may use that path as a branch cut for a square root function on the complex plane.  Apply that square root function to the vase.  

 

5)  Find the center of mass of the vase, and slide it back to the center of the disk.  

 

6) Repeat steps 2-5 until the vase more or less fills up the disk.  We used 700 - 1000 iterations, for these images.

Pictured:  Iterations 0, 10, 50, 100, 200, and 500.

bottom of page