[ janzen ]
This program contains an algorithm which, when given an electronic circuit, automatically generates a schematic diagram. For each connection, a "feeler" is sent out from one pin, gravitating toward its destination, and backtracking if it becomes trapped. Spatial rendering gives each component and connection its own territory on the diagram. Several randomly-altered diagrams are created, and the best one is chosen as the output. The algorithm design is quite versatile: by making a few changes to the drawing rules, it could generate the copper trace patterns used for manufacturing printed circuit boards.
Shown above are some simple diagrams. The text output is what results from making only one connection -- more connections involve much more computation.
[ kennedy ]
This program simulates a mechanical system of any given number of particles. The program was developed so that most types of forces could be used in the simulation. It accomplishes this by using several basic abstract classes that define the behaviours and properties of particles and forces in the system. By inheriting from these classes and implementing the virtual functions defined within them several different types of forces can be simulated.
Pictured in the screen shot: On the left is the program simulating a system of springs, and on the right is the same program simulating a system of particles attracted to one another by gravity.
[ khalid ] A 3D animated rendition of the Sierpinski's Gasket, generated by using GLUT and OpenGL. The Data Structure used for storing this object is a Tertiary Tree, and a maximum of five iterations is allowed to avoid clutter. Works with 3D glasses!
[ lerouxi ]
Project Description: A data compression program using the LZW dictionary-based data-compression algorithm was implemented. Optimizations include use of variable-size codewords and intelligent flushing of the dictionary.
Image Description: The upper part of the image shows the code for the two hash functions used in the program, as highlighted by gvim. The lower terminal shows the command line to compress a file and the resulting reduction in size, with gratuitous use of aterm in transparent mode, albeit on a fairly bare-bones background (so my desktop is minimal).
Image format: GIF, which is appropriate since most GIF systems are implemented using an LZ-type compressor.
[ litia ]
Project: To solve a maze with a new technique. A class that converts any formatted 2D array into an undirected graph, by traversing the graph, a maze can be solved between any 2 points.
Image: In the maze, the little head figures are supposed to be Mickey mice (drawn by OpenGL). Mickey starts at the left-upper corner and exits somewhere on the right. The head figures of Mickey are placed at all intersections that Mickey must pass to get to the exit. Red Mickeys are the dumb ones, they recursively finds the exit. The green Mickeys are more intelligent, they find the shortest path to exit. The yellow ones are common intersections for both red and yellow Mickeys. The terminal to the left displays paths in coordinates as well as the information contained in every node (intersection).
[ loftusj ] A text based implementation of the traditional game of tetris.
[ marouch ] The above universe consists of a variety of planets orbiting a single body. Optimal stability of the simulation exists with three planets as shown above. In this case the two orbiting bodies are the Earth and Mars. The last screenshot shows the same scene but from a different perspective and using wireframe rendering. Note: Planetary sizes are not drawn to scale.
[ mcdermo ] My program provides visualization of the latentcy and temporal distance between hosts in a computer network. A series of hosts are probed with the `traceroute` command, and the resulting times rendered as a wireframe graph with OpenGL. The image above shows a mapping all hosts in the Class C subdomain 128.100.8.*, which contains the ECF network's web server and pentium workstations. The blue line in the upper right shows my route into the network, the green lines are for hops of less than 50ms, and there is a single red line showing a hop of more than 50ms (some non-responsive host).
[ nezic ] Random 3d maze generator, with OpenGL/Glut 3d visualization. More information at http://www.ecf.utoronto.ca/~nezic/3dmaze/
[ nguyenr ]
Project Description: A Checkers program that allows user vs. computer play as well as user vs. user play. Quiescence search with a search depth of 10 was used as the most difficult setting.
Image Description: This is what the gui looks like. As an added bonus, try to solve this problem. Red to play and win.