February 10, 2013
Conformal Map Viewer
Have you ever wanted a visualization tool for complex functions?
The starting function "(z)" is the identity function, and shows how the tool colors the complex plane, with a ring at |z| = 1 and a small circle at |z| < 1/16, and 1/16th unit colored checkers on the rest of the plane. There is also a colored circle shown towards infinity, at |z| > 16. Colors are turquoise in the positive direction, red in the negative, gold-green in the "+i" direction, and they get darker as you go out towards infinity. The tool draws a quick fuzzy preview; wait a minute for it to complete the computation for a clear antialiased rendering. Lots of other functions can be typed into the box. For example, notice that |z|*e^(i*arg(z)) is the same as z.
Try visualizing the complex values in z^2, sin(z), e^z, log(z), sech(z), arctan(z), z^3-1, sin(z^3-1)/z, Jacobi elliptical functions sn(z,0.3), the Gamma function gamma(z), or a polynomial to squeeze a circle into a square 0.926(z+7.3857e-2 z^5+4.5458e-3 z^9).
Or try this: iter(z+z'^2,z,12). Recognize it?
Posted by David at February 10, 2013 01:54 AM
Thank you so much for your work! This is great!
yes, thank you David. Beautifully executed!
The earth projection reminds me of an enjoyable article in "The Best Writing on Mathematics 2012" titled "Mathematics Meets Photography: The Viewable Sphere", a portion of which is available online at:
Given that article, a nice extension to this function viewer would be to allow pointing it at an arbitrary image. Input images could be expected in the equirectangular projection.
Thanks David, this is fantastic. I've always wanted to see (or make) something like this that used vector fields rather than colours.
Can Quasi-conformality also be included here !
Dear David Bau
I have had an addiction to Doritos for over a century. Your complex grapher has freed me from my chains. I love you. Please make more. Also, sometimes i like to print out the graphs i make and hang them in my room along the wall.
I love you
Your app is very useful! Thank you to have developed and distributed to us. I was searching for a program to show me what a conformal map do in some curve of the complex plane, for instance as log(z) maps the complex unit circle, or a given straight line. Would be very interesting if you could add a option like that, for instance, the user gives the map (a complex analytic function) and a curve where the map should act, (for instance e^(I*x), where x is real, for the complex unit circle) and the app return the mapped curve. Is this possible?
Thank you very much!
Thanks for the great script! Not only is it fantastic, it also isn't Java! One thing I noticed is that the conformal maps that output are actually the inverse of whatever function you enter. I wrote a conformal mapping script in Python that does the same thing, and I know why that happens (as I am sure you do). You might want to add that caveat to the users of this script, lest people start getting intuition for the wrong maps.
This has helped me immensely. You should incorporate a drawing tool, where one can draw a circle of shape and watch as it transforms.
Very impressive, thank you for sharing this tool.
It's interesting to visualize the transformation from z to any other function with
e^z for example :
You can see how '-1' goes to e^(i*pi) ^^
I've been playing around with the tool where the satellite view of the Earth is being plotted and I find some of the formulas to look really beautiful when plotted.
For example, this one: http://davidbau.com/conformal/#cos(e%5E%7Cz%2B35%7C)%2Fsin(z%5E2)&b=earth
I'd like to give a framed art print of a different but similar plot to my spouse as a gift. Would it be possible to be able to download a jpg of a higher resolution than the website currently allows? This would be greatly appreciated by the both of us. :)
This is super neat! It'd be awesome to have a 3D adaptation of this.
I have a question about the iterated function syntax though: I can tell the first argument is the function you want iterated, and the third is the number of iterations, but I can't for the life of me figure out what the second argument is.