February 10, 2013Conformal Map ViewerHave you ever wanted a visualization tool for complex functions? While reading some complex number proofs I wanted one, but online I could only find installable software or Java applets (to be avoided because of security problems). So I wrote a Javascript conformal map viewer, which you can see here (click here to view it as a full page  it is about 1000 lines of javascript on a single page, and it is a nice example of doing canvas rendering with web workers): 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, goldgreen 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^31, sin(z^31)/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.3857e2 z^5+4.5458e3 z^9). Or try this: iter(z+z'^2,z,12). Recognize it? Posted by David at February 10, 2013 01:54 AMComments
Thank you so much for your work! This is great! Posted by: Peter Webb at March 8, 2013 05:34 PMyes, 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: http://www.maa.org/publications/periodicals/mathhorizons/mathematicsmeetsphotography 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. Posted by: Roice Nelson at September 10, 2013 01:33 PMThanks David, this is fantastic. I've always wanted to see (or make) something like this that used vector fields rather than colours. Leon Posted by: Leon at October 14, 2013 09:54 PMCan Quasiconformality also be included here ! Posted by: Chetan Waghela at April 21, 2014 04:02 AMDear 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 Posted by: Steve Drambus at December 13, 2014 02:50 PMDear David, 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? 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. Posted by: Kyle Hovey at March 26, 2015 06:44 PMThis has helped me immensely. You should incorporate a drawing tool, where one can draw a circle of shape and watch as it transforms. Posted by: Randy at October 14, 2015 03:07 PMVery 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 : (1t)z+t*(e^z) You can see how '1' goes to e^(i*pi) ^^
Hello David, 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. :) Regards, Gabriel Posted by: Gabriel at January 13, 2016 02:27 PMThis 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. Posted by: efriel at February 8, 2017 07:29 AMI wish I could give you an award for this, sir. A superb visualization tool. THANK YOU Posted by: Tom Martin at September 25, 2017 02:47 AMThank you, thank you, thank you! Posted by: Jose Luis Bejarano at October 16, 2017 06:33 PMhi, may I ask what is the license? may I use it (mirror) on my website, with possible edit? thanks. Posted by: Xah Lee at December 3, 2017 05:06 AMYou made a mistake between the zē and the sqrt(z) graphs. Posted by: Simcha Waldman at March 20, 2018 08:17 AM> the conformal maps that output are actually the inverse of whatever function you enter... I know why that happens (as I am sure you do) I don't know why this happens. Anyone care to share? Posted by: Septimus at August 14, 2018 12:59 AMI wonder if you can create an option so that each we can upload a photo and the complex function that we want to define will act on our picture. I think this would be enchanting for students. It is a wonderful idea what you have done here! Posted by: Maxim Bogdan at February 23, 2019 12:18 PMPost a comment

Copyright 2013 © David Bau. All Rights Reserved. 