This page is a documentation of the Quaternion Julia Sets in Virtual Reality project for SUPERCOMPUTING '95. I worked on this project in collaboration with Daniel J. Sandin, also of EVL, and Louis H. Kauffman and Yumei Dang, of the Department of Mathematics, Statistics, and Computer Science at the University of Illinois at Chicago.

what they are

A Julia Set is the map of the behavior of an equation when its output is fed back into its input (recursive). The equation mapped is z=z**2+k. In general, the most common Julia Set is a map of that equation in complex numbers (2D numbers). In this case the equation is being mapped in quaternions, which are 4D hyper-complex numbers. This project investigates a method for visualizing Julia Sets based on estimating the distance from the viewpoint to the surface of the Julia Set.

Here are some example images:

(larger version)

for more images, check out Yumei's page.

in the CAVE

Because the process of rendering these forms is so computationally heavy, there was a need to use as much computational power as was possible. My primary contribution to this project was to supply this power. To do this I used the CAVEcomm library developed at the Mathematics and Computer Science Division of Argonne National Laboratory to communicate between the onyx that runs the CAVE and three seperate supercomputers that did all the calculations.

Even with three supercomputers working on ray tracing the Julia Set, displaying it in real time is impossible. In order to eleviate the problem of having nothing to look at while all this computation was going on, we successively refined the image. This meant first ray tracing the set in low resolution and displaying it on the walls of the CAVE. We could then use the information from the low resolution image to determine which areas had the most contrast. Those areas could then be refined first, as they tend to be more interesting.

It was my responsability to establish the connections between the CAVE and the supercomputers, and keep track of all the information that was being sent back and forth. I received the pertinent data that would be needed to do the calculations from the CAVE. That data was then sent to which ever of the three supercomputers was least busy. The supercomputer would calculate the appropriate section of the image based on the information it received, and send the result back. I took those results and gave them back to the CAVE, which displayed it in the appropriate position.

back to NOW

back to insley on the internet