Dylan Hoen's Homepage
Electrical Engineer and Computer Programmer for hire in Victoria, BC, Canada
Main Page
Click Here
Things I Have Built
About Dylan

Title Page Java C with OpenGL QBASIC PHP


The java programs on this page may require the Java Runtime Environment (JRE).

August 2007 (with minor modifications up to May 2010):

Dylan Hoen's Depth of Field and Diffraction Limit Trade-Off Calculator and Grapher

February 2002, with ongoing modifications to date (July 2010):

Dylan's Image Processor

December 2000 to March 2003:

2D Geiss-like rendering

I am a fan of Geiss's screen saver and winamp plug-ins. I made some java programs that attempt to reproduce some of the scenes in the original Geiss Winamp plugin:
Verson5a: 400*400
Verson5b: 400*400 (simpler effects = faster)
Verson6b: 400*400 (optimizations to accelerate 5b due to symmetry = almost fast)
Verson7b: 400*400 ('fast'), 800*800 (slow) 1000*1000 (slower, thick lines):   Stronger Colours and, at a resolution greater than 800*800, thick lines.
Verson11b: 400*400 ('fast'), 800*800 (slow) 1000*1000 (slower, thick lines):   Works in Internet Explorer now! And 3 times as fast as version 7b.

I later learned C and OpenGl and made my own Winamp plugin, drawing these renderings on the side of a 3D cube.

December 2000 and earlier:

3D and 4D Wire-frame

I learned Java in my first year of engineering at the University of Victoria in the year 2000. I had previously been programming in QBASIC as a self-taught hobby (See the QBASIC section for history of the 3D and 4D wire-frame rotator programs and an animated gif image of a rotating 4D cube). I took the QBASIC 3D cube program and translated it to java (no user input in this version):
Java 3D cube rotator: 1280*960 pixel version and 640*480 pixel version.

I added 4D features to the program and keyboard input:
Rotate4d.java: 1280*960 (big monitors) and 640*480 (most monitors).
I figured out a backtracking algorithm that can grow crystals, so here is a modified version of the 4d program that grows a diamond crystal:
Diamond.java: 1280*960 (big monitors) and 640*480 (most monitors).

I redid the rotate4d.java to take advantage of the object-oriented-ness of java, so now there are lots of shapes, grown like crystals, in a virtual universe, that you can shoot out of the air with the space bar:

!---> Click Here for my 3 1/2 D Universe <---!