E-stuffThis page contains code from some previous personal projects, course projects, as well as patches to some open-source programs I've used extensively. The page is still in the process of being "ported" to the current (new) website. Quick index: course projects / Python code / patches / ancient scraps / Course projectsA couple of fun and nifty projects from computer graphics & animation courses I took:
(mostly) Python codeann-pythonann-python.tar.gz: simple set of Python bindings for the ANN library (approximate nearest neighbour). Read the README file inside the tarball for instructions on building and using the library.arcballarcball.py: defines a subclass of 'Opengl' widget that supports the use of arcball method of rotation, which is frequently used in the graphics field. Run the script to see a very rough and quick demo. You'll probably want to bring up a different pyopengl app to compare the rotation methods.Arcball summary: one of the main benefits is that it has no hysterisis: once you start dragging out a rotate, coming back to the same spot with the mouse cursor always gives the same rotation, no matter what path was taken to get the cursor to that spot. Also, if you drag the rotation outside the ball's perimeter (alas, it is currently not drawn; it's on the TODO), the axis of rotation is perpendicular to the screen/projection surface. tkwallpapertkwallpaper.py: a silly wallpaper rotater utility. This is a Python rewrite of a TclTk older version: tkwallpaperobbobb.py: a quick implementation of collision detection for OBBs (orientable bounding boxes). This module makes use of a quick-n-dirty vector module, provided below.vectorvector.py: a quick'n'dirty implementation of 3D vector class, and the usual vector operations found in graphics, etc.point_in_polygonpoint_in_polygon.py: a Python-translation of "point in polygon" test code by softSurfer.CSG 2DTODO: not yet packaged. This will be: a simple set of classes for using 2D flavour of CSGs (computational solid geometry) in graphics. Supports containment testing (i.e., "in"/"out"), and rendering using pyopengl (using OpenGLs' winding rules for polygons).glbiffThis is probably one of the first programs I wrote for OpenGL. It's an imitation of SGI's "mailbox" command. It's a mail arrival notification program that uses pretty (uhm... it's rather debatable whether this implementation is pretty) 3D pictures and animation to show the status and contents of your email inbox.Patchesicewmicewm is a Linux/UNIX window manager.
dosemudosemu is a Linux/UNIX emulator of MS DOS.
muttmutt is a Linux/UNIX mail user agent.
albumAlbum is a neat utility that prepares themable web albums of your photo collections, including thumbnails. For an example, visit my gallery of photos.
Ancient scrapsThis section holds links to some really ancient stuff I did, which might be still of interest to some. Most of these projects did not get the love they needed to get completed. :|
|