Animation Projects

HW1 Screenshot

Assignment 1

Source code:
Requires Python, PyOpenGL.

This is quite possibly some of the worst code I've written in the last year, but for a learning experience with OpenGL and Python, it was valuable. 'P' for polar camera orientation, 'C' for pan'n'zoom camera controls (default).

This code is licensed under the GPL. Here's the license itself, for the curious. After the assignment's due (obviously, because putting the code up before the assignment is due is dumb), do with the code what you wish under the terms of the GPL, aside from submitting it in a future assignment as your own. ;-)

HW2 Screenshot

Assignment 2

Source code:
Requires Python, PyOpenGL.

The object-axis representation came from seeing Jarvis's homework 1 in action, as I thought it was a good idea. I believe it worked especially well for this assignment.

HW3 Screenshot

Assignment 3

Binaries and source code: hw3.tar.gz
Requires .NET or Mono.

I changed over to C# for this assignment, as I didn't really enjoy the way Python handled variable scoping. Also, the forced-indentation thing finally got to me. Controls are similar to Assignment 1, with the addition of the space bar for generating another sphere.

There's a build script in there for *nix, but nothing for windows (although I don't suppose there's anything stopping it from being used on cygwin...). It's just something I threw together in a few moments for my own uses while building the thing. Anyway, the linux-specific binary should run on linux, and the windows one on windows. The only difference between the two is that Tao seems to hook into windows- and linux-specific stuff, so I couldn't use an exe linked against the same DLLs for both platforms. It *should* run for windows users so long as they have .NET v.1.1 installed, but I didn't care to test that very much.

HW4 Screenshot

Assignment 4

Binaries and source code: hw4.tar.gz
Requires .NET or Mono.

This assingment animates a 'walking' articulated stick-figure using inverse kinematics. It ended up being rushed at the end, so there are quite a few quirks with the code, and it lacks any appearance of being polished in any way.

Final project screenshot

Final Project

Binaries and source code: final_project.tar.gz
Requires .NET or Mono.

And what an anticlimactic end to my short run writing OpenGL code. It's a spider that can react to its surroundings enough to avoid an object in its path, while generating a smooth curve around it in the process.