complex image grapher

i'm taking math 185 at berkeley right now. it deals with complex numbers and a bunch of other stuff that I don't really understand.

so, when you graph a normal function like "f(x) = 2x+1" you can use a normal cartesian coordinate system because you're dealing with R->R. However, since complex functions are C->C, the graph of a complex equation is really an image from one two-dimensional coordinate system to another.

drawing these images is a real bitch because they're usually very unintuative. you have to calculate a crapload of different points and try figure out what it's supposed to look like.

it's not like i really have to graph images for this math class, so this program is pretty worthless to me. i just thought it would be a cool to see if i could make something like this. maybe it'll be useful to someone more math inclined than me.

it's pretty easy to use the program. enter the complex function into the top edit box (look at the sample screenshots to see examples). remember that the complex function uses "z" as the variable (z = x + iy).

once the complex function is entered, you can do two things: 1) just click the "Recalculate" button or 2) enter a standard real-valued function of x into the second edit box and press the "Recalculate" button.

if you don't enter a second function, the program will create a blanket (see screenshots on right) that covers the entire right graph. this "blanket" is then translated onto the second graph by using the complex equation.

if you do enter a second function the program will just translate the function you entered (see the left screenshots.)

after calculating, you can draw on the left graph by dragging the left mouse button and see how the drawing is imaged to the right graph (see middle-left screenshot.)

you can move the graphs by dragging the right mouse button, and zoom with the buttons below.

oh ya, there's probably a lot of extra cool things i could have done with this program (ya.. COOL.) unfortunately no one on earth will ever care about this, so i decided not to bother doing them. if you really do care and want to see added functionality, then email me at

oh ya, the graphics are done in openGL, so you need openGL shit on your computer. i've never tested this on a box without a 3d card, so it might be slow for people with shitty computers.

random program statistics

days to complete: 3
hours to complete: ~12
lines of code: no idea
part most proud of: my complex equation solver thingy
reason for making: sick, nothing else to do
revelations while coding: i'm the biggest fucking nerd ever
girls impressed by coding ability: 0


ComplexGraph.exe (84k)
source code (38k)
opengl software dlls (only if you need them - 347k)

screenshots (click to enlarge)

complex numbers are rad