Back in the late 80s I was in college studying mathematics at the University of Arizona. I had an Apple IIc that I played around with writing simple little programs. After building a little graphing calculator program I had a thought that I could create a similar program that instead of plotting the points of an equation in coordinate space I could compare two equations together across every point in the coordinate space – within bounds of course.
As an example consider the two following equations:
Equation 1: sin( x * y ) / x2 + 1
Equation 2: cos( x / y2 + 1 )
Now iterate over every point ( x, y ) within a given bounds and test to see if equation 1 is greater than equation 2. If so then turn that point on – white and if not then just leave it black.
Believe it or not you get something like image below.
![]() |
![]() ![]() ![]() ![]() |
You might be asking yourself, “What is the significance of those two equations that produced that graph?” My answer would be, “No idea. But it’s pretty.” Really, I just make this shit up. Toss in a sin() and cos() here and there. Divide by the natural log of something else and hit the Build and Run button in PixelBender to see what it produces.
Just to liven things up I can add some color and opacity based on the difference between the two equations at each point and then toss in a factor that lets me simulate a 3rd dimension and what you end up with is what I call my Tryg Explorer.
When I first built something like this on the Apple IIc it took all night to render some of the graphs. I’d toss in some random equations and let a few lines run – which took a few minutes. If it looked promising then I’d let it run all night just to see what I got. Years later I tried doing something like this again with Javascript. You can well imagine that it was glacial and crashed the browser. This has been kicking around on my 2Do list for years. I knew it would run much faster in AS3 than in anything I’d ever used before. But then PixelBender came out and I couldn’t resist any longer. Actually, I still procrastinated for a year or so after PixelBender was released before getting started on this.
All of the calculations for the planes/graphs in Tryg Explorer are done as PixelBender shaders. Then inside of Flash I stack them in 3D space and add controls to change various parameters of the inputs to the shaders.
This was built entirely for fun and to look at pretty things. So enjoy and I hope it doesn’t crash your browser too often. :)









