Computer Graphics.

Here is a graph of the (nonrelativistic) Schrodinger wave functions of the first few energy levels of the Hydrogen atom. The images are actually of the squares of the functions, so red saturation roughly corresponds to charge density.

Here is the C source code which generates BMP format images, which I pasted together to create the above chart. This program can calculate any of the Hydrogen energy levels, if you give it the quantum numbers. It does not do this by solving the Schrodinger equation; instead it has the general solution for the 1/r potential function coded into it directly. I got this solution from Eisberg and Resnick's Quantum Physics of Atoms, Molecules, Solids, Nuclei, and Particles.


Here is a raytraced image of an hourglass. It was rendered for a poster for the tour named Live on the Sands of Earth Before the Time Runs Out by the (mostly) fictitious band Truth.

Here is the C source code for the raytracer which produced this image. It is a simple but general purpose ray tracer which supports multiple light sources, reflection and transparency. It isn't the world's fastest program; a version almost identical to the one posted here took over 24 hours to generate this image on my old Amiga 500. On my new PowerPC machine the same image takes about 20 seconds. Computers have gotten a lot faster in the last couple of years...

Here is the input file you point the ray tracer at in order to get the picture above. Look in the source code of the ray tracer itself for a description of the file format. Since making this I've written a front end parser that makes describing scenes for the ray tracer a lot easier. See the Castle on the Rock for some examples of what can be done with this.


This is the C source code for Docstrip, a program I wrote to extract comments from a C program. The idea is that you can write fairly complete documentation for a program inside the comments, then use Docstrip to automatically extract it for printing. Docstrip can be run on its own source code to produce it's documentation.

Most of the documentation text which you can get by running docstrip over these source files can be typeset using TeX if you also have a file full of my personal TeX macros named doccode.tex.


Also, check out the (probably now dead from neglect) game project, Lift.


About my choice of languages and file formats...