Final Project: Fractal and Water

Number of images: 4
Created on: Monday 16 August 2004

524 x 410
Fourth Step
524 x 410
Third Step
524 x 410
Second Step
524 x 410
First Step
Determination of the normal vectors of 3D scalar fields presents a software engineering problem if we are to approximate the gradient with a finite differencing scheme. This project presents a method for approximating the gradient a without the need of passing specific viewing orientation information. New images are comming soon....
Quaternion Julia fractals are created by the same principle as the more traditional Julia set except that it uses 4 dimensional complex numbers instead of 2 dimensional complex numbers. A 2D complex number is written as z = r + a i where i^2 = -1. A quaternion has two more complex components and might be written as q = r + a i + b j + c k where r, a, b, and c are real numbers. I learned and used the four dimensional data information from the Web Site
First Step: My first step in rendering was to ray trace participating media fractals. These images are not as realistic as they are in the next step, but it still was pretty interesting.
Second Step: The second step was finding surface normal vectors of fractals and general implicit functions. The images immediately began to look more realistic after incorporating the normal vectors and applying Phong shading.
Third Step: The third step was to render a gold fractal on a wooden/marble checker board colored with perlin noise. This step tested the path-tracing abilities of my ray tracer.
Fourth Step: My fourth step was to render the fractals, while reflecting and refracting the rays off of water simulated by perlin noise.
Fifth Step: Render a non-trivial scene under water -- demonstrating photon mapping, participating media, and subsurface scattering. Hopefully I will be able to pull off a couple cool lighting effects, such as underwater caustics, translucency, light-bleeding, volumetric scattering, and so-called god rays.