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


History of Rotate4D:

Other than some small attempts to customize other people's java scripts when I was in grade 10, the first time I ever learned to program was when a friend taught me to program my ti83 graphing calculator using graphing calculator BASIC. My first program was the quadratic formula. Next was a prime number finder. Then a friend challenged me to make a 3d wire frame cube rotator. I managed to do it, but the graphing calculator was very slow and had a low resolution of only 96*64 pixels. My friend told me that the language was similar to QBASIC, so I downloaded QBASIC4.5 and went to http://www.qbasic.com/ and tried their tutorials. QBASIC was easy, and within an hour or so I had done hello world, the quadratic formula, and my prime finder. By the end of the day I had translated the 3D wire frame rotator program from graphing calculator language to QBASIC.
I had also been interested in 4D cubes. From patterns between 0, 1, 2 and 3 dimensional objects I figured out what properties a 4 dimensional cube would have and tried to visualize it, which is virtually imposable for anyone living in a 3D universe, but I did visualize what it's 3 dimensional shadow would look like. By the end of the next day after I first downloaded QBASIC, I had made a program that could rotate a 4D cube in stereo. I oriented the cube at a certain angle and rotated it and took a few screenshots and compiled it into a gif image, shown below:

4D Cube animation

Go cross-eyed and line the images up so the 2 in the middle combine into 1. Keep your head directly in front of your monitor and between 2 to 3 feet back. The image will go blurry, especially if you are too close. Keep the 2 images lined up and it will suddenly appear to pop out of your monitor in 3D and gradually get less blurry.

Over time I added more and more shapes and features to that program and eventually the QBASIC compiler couldn't handle it anymore(64K character limit?), but it could still be run as a script.
Here is my old bloated QBASIC version of rotate4d and here is the source code. I didn't record the date back when I put them up, but the files in the .zip file appear to be dated January 2001. You will need an operating system that supports dos to run them. They don't appear to run in cmd in Windows 2000.
If any potential employers are reading this, that was my first major program which I did without ever taking a programming course and learning proper coding style. My code had certainly improved since then.
I took the 4d program and deleted all the confusing stuff and left just what you need to rotate a 3D cube.
Here is the cube rotator and here is the source code.
In September of 2000, I took my first programming course, taught in Java, and I never really touched QBASIC since.