This document, located at http://new.math.uiuc.edu/math198/proj2K, was last edited 5may2K by gfrancis@uiuc.edu

This file was corrupted and has not yet been fully restored from its scattered components. GF 16may06.

## Math 198, Spring 2000, Course Projects

2-5pm Monday 8 May and Wednesday 10 May 2000
Room 3414 (REL) Beckman Institute and the CAVE
```****************************************************************************
MONDAY  8 May 2000
****************************************************************************

****************************************************************************
****************************************************************************
Carl Dohrman "CAVElattice: a simulation of vibration and wave phenomena
in three-dimensional media"
................................................................2:00 - 2:20
****************************************************************************
```
```The development of high-powered computing in recent years
has had a tremendous impact in the physical sciences.  While scientists
could once only envision the workings of molecules and atoms in their
heads, computers have now allowed them to also see these events on the
computer screen in the form of computer models.  Computer modeling has
provided scientists with a powerful tool for examining scientific
theories in a way never before possible.

The program CAVElattice is such an attempt at modeling a physical
phenomenon.  This program models the interaction of atoms in a lattice
based on differing starting conditions of the lattice.  The program
uses a Hooke's Law relationship to calculate the forces among atoms in
the lattice and displaces the atoms accordingly.  The program displays
the results in a three-dimensional grid simulating the atomic lattice.
Using various starting conditions of the lattice, a number of
interesting wave phenomena have been observed, with results that
qualitatively agree with theoretical predictions.
****************************************************************************
****************************************************************************
Nathan Van der Kraats "Fish++: a Virtual Aquarium"
................................................................ 2:30 - 2:50
****************************************************************************
```
```This project is a virtual aquarium designed to support various kinds of
fish and their behavior patterns.  Written in C++, the project is
currently a "framework" for future development, and can support numerous
kinds of fish which may interact with each other and with other species.
The program was also developed in several versions to work in platforms

Math 198 Spring 2000 Projects

This document, located at  http://new.math.uiuc.edu/math198/proj2K,
was last edited 5may2K by
gfrancis@uiuc.edu

You are cordially invited to the public presentation of the

Math 198, Spring 2000, Course Projects

2-5pm Monday 8 May and Wednesday 10  May  2000

Room 3414 (REL) Beckman Institute and the CAVE

****************************************************************************
MONDAY  8 May 2000
****************************************************************************

****************************************************************************
****************************************************************************
Carl Dohrman "caveWave"
.................................................................2:00 - 2:20
****************************************************************************

****************************************************************************
****************************************************************************
Nathan Van der Kraats "Fish++: a Virtual Aquarium"
................................................................ 2:30 - 2:50
****************************************************************************
This project is a virtual aquarium designed to support various kinds of
fish and their behavior patterns.  Written in C++, the project is
currently a "framework" for future development, and can support numerous
kinds of fish which may interact with each other and with other species.
The program was also developed in several versions to work in platforms
such as UNIX environments, Microsoft Windows (OpenGL), and in the CAVE.
My presentation will describe the development process of the "Fish++"
program to this point, including the difficulties I encountered, and a
description of how I hope this project will be enhanced in the future by
myself and other students.

******************************************************************************
******************************************************************************
Doug Nachand "illiCircuit"
...................................................................3:00 - 3:20
******************************************************************************
This illiSkel application is a construction tool for building logic
ciruits by hand using the mouse to pick and drag. Components include
binary switches, AND-gates, OR-gates, NOT-gates. The components are
relocatable. The user chooses the inputs and the RTICA uses an incidence
matrix to compute the output.
******************************************************************************
******************************************************************************
Ron Roth "Solar System Simulator"
................................................................. 3:30 - 3:50
******************************************************************************
This program will simulate planets moving about according to Newton's laws.
The orbits will be calculated in real-time.  The user will be able to rotate
the viewpoint around the center of the solar system, and move in and out.
They will also be able to view the solar system from the point of view of one
of the planets, which they can select. The user will also be able to select a
planet and specify a new velocity, so that the orbit can be changed. Other
paramaters, such as mass and radius, may also be changed.  The motion of the
planets will be determined by the forces caused by all the other objects in
the scene.
******************************************************************************
******************************************************************************
Steve Behling "Magic Mirror"
..................................................................4:00 - 4:20
******************************************************************************
Magic Mirror is an interactive exploration of reflective surfaces in
OpenGL.  The user can choose to view one of several animated objects, each
of which is reflected in a virtual floor.  The objects also reflect one of
several scenes through spherical environment mapping.  In the CAVE the
wand is used to manipulate the scene and toggle between objects and
environments.

Location of the files:
/afs/ncsa/projects/MATH198/sbehling/env

Software requirements:
SGI IRIX 5.3 or later with OpenGL 1.1 or greater
(program relies on OpenGL 1.1's texture objects for efficiency)

Hardware:
CAVE, SGI Indigo2 IMPACT, O2, Octane, Onyx, or newer systems
(requires good texture-mapping performance for optimal viewing)

******************************************************************************
******************************************************************************

******************************************************************************
******************************************************************************
WEDNESDAY  15 December 1999
******************************************************************************

******************************************************************************
******************************************************************************
Erik Schmitt "Blobbyman2K: Using Nested Matrix Transformations "
.............................. 2:00 - 2:20
******************************************************************************
Blobbyman2k is an attempt to implement Blobbyman as described in Chapter 3
of Blinn's "A Trip Down the Graphics Pipeline." Briefly, a transformation
matrix is used to translate, scale, and rotate the coordinates of the
various objects (in this case, a person's limbs) in space. One goal was to
make an implementation faithful to Blinn's descripton as opposed to those
previously implemented in this course. In addition to being faithful to
Blinn, it was desired to make the code compact, i.e. the same
transformation algorithm is to be used for all parts of the body, similar
to Jim Blinn's DRAW command in his book. This latter goal is difficult, as
the flexibility required overrules the use of overloaded constructors. The
result is an human figure whose limbs can by manipulated by the using the
keyboard to adjust the angles of the various joints.

******************************************************************************
******************************************************************************
Ben Shanbaum "soniSkel and Sound Synthesis"
.................................................................. 2:30 - 2:50
******************************************************************************
This project will go into detail on the technical and aesthetic properties of
the additive synthesis and FM synthesis generator found in VSS 3.1.  It will
discuss what goes into generating a simple sound by using additive and/or FM
synthesis, as well as the mechanics required creating these sounds using the
Sound Server.  I also plan on giving an example of a skel program that has been
sonified by using the additive and FM synthesis engine, and finish the project
by providing a brief tutorial on how to sonify your own client program using
the forementioned engines.  This tutorial will cover two types of sonification:
ambient (background, or passive) sound and triggered (active) sound.

******************************************************************************
******************************************************************************
Ben Farmer "illiCoaster"
.................................................................. 3:00 - 3:20
******************************************************************************
This illiSkel application simulates a roller-coaster on a 3-D Lissajous
curve for a track, and its Frenet frame for its orientation. In addition
to the customary view, there is an option that puts a camera into the
nose of the coaster.
******************************************************************************
******************************************************************************
Alison Rodden  and Lindsay Kusmierek "Bouncie: Spheres in the 4D-hypercube"
.................................................................. 3:30 - 3:50
******************************************************************************
The program, 'bouncie', is a 4-dimensional representation of the classic
childhood toy, the bouncie ball, within the hypercube.  The rotating
hypercube is projected orthogonally to 3-space. The balls collide by an
exchance of momentum, assuming equal mass. Although the balls
'leak' from the perimeters of the hypercube, they return (a puzzle still
unsolved).  A change in color intensity denotes distance in fourth direction.
******************************************************************************
******************************************************************************
Mark Flider "SchpRel: Special Relativity in OpenGL"
.................................................................. 4:00 - 4:20
******************************************************************************
Perhaps the greatest scientific achievement of the century, Einstein's
Relativity Theory turned time and the world as we saw it upside down.
It gave us the speed limit of the universe and at the same time put Science
Fiction writers to shame and allowed us more accurate satellite navigation.
speed of light and the strangeness of fast-moving objects.

SchpRel answers the question of what the world looks like when traveling
at relativistic speeds, by altering the actual speed of light.
This program applies the Lorentz contraction and optical aberration effects
to 3D objects as the viewer moves in space. The speed of light can be cranked
down to make the effects of these two phenomena more apparent.

******************************************************************************

such as UNIX environments, Microsoft Windows (OpenGL), and in the CAVE.
My presentation will describe the development process of the "Fish++"
program to this point, including the difficulties I encountered, and a
description of how I hope this project will be enhanced in the future by
myself and other students.

******************************************************************************
******************************************************************************
Doug Nachand "illiCircuit"
...................................................................3:00 - 3:20
******************************************************************************
```
```This illiSkel application is a construction tool for building logic
ciruits by hand using the mouse to pick and drag. Components include
binary switches, AND-gates, OR-gates, NOT-gates. The components are
relocatable. The user chooses the inputs and the RTICA uses an incidence
matrix to compute the output.
******************************************************************************
******************************************************************************
Ron Roth "Solar System Simulator"
................................................................. 3:30 - 3:50
******************************************************************************
```
```This program will simulate planets moving about according to Newton's laws.
The orbits will be calculated in real-time.  The user will be able to rotate
the viewpoint around the center of the solar system, and move in and out.
They will also be able to view the solar system from the point of view of one
of the planets, which they can select. The user will also be able to select a
planet and specify a new velocity, so that the orbit can be changed. Other
paramaters, such as mass and radius, may also be changed.  The motion of the
planets will be determined by the forces caused by all the other objects in
the scene.
******************************************************************************
******************************************************************************
Steve Behling "Magic Mirror"
..................................................................4:00 - 4:20
******************************************************************************
```
```Magic Mirror is an interactive exploration of reflective surfaces in
OpenGL.  The user can choose to view one of several animated objects, each
of which is reflected in a virtual floor.  The objects also reflect one of
several scenes through spherical environment mapping.  In the CAVE the
wand is used to manipulate the scene and toggle between objects and
environments.

Location of the files:
/afs/ncsa/projects/MATH198/sbehling/env

Software requirements:
SGI IRIX 5.3 or later with OpenGL 1.1 or greater
(program relies on OpenGL 1.1's texture objects for efficiency)

Hardware:
CAVE, SGI Indigo2 IMPACT, O2, Octane, Onyx, or newer systems
(requires good texture-mapping performance for optimal viewing)

******************************************************************************
******************************************************************************

******************************************************************************
******************************************************************************
WEDNESDAY  15 December 1999
******************************************************************************

******************************************************************************
******************************************************************************
Erik Schmitt "Blobbyman2K: Using Nested Matrix Transformations "
.............................. 2:00 - 2:20
******************************************************************************
```
```Blobbyman2k is an attempt to implement Blobbyman as described in Chapter 3
of Blinn's "A Trip Down the Graphics Pipeline." Briefly, a transformation
matrix is used to translate, scale, and rotate the coordinates of the
various objects (in this case, a person's limbs) in space. One goal was to
make an implementation faithful to Blinn's descripton as opposed to those
previously implemented in this course. In addition to being faithful to
Blinn, it was desired to make the code compact, i.e. the same
transformation algorithm is to be used for all parts of the body, similar
to Jim Blinn's DRAW command in his book. This latter goal is difficult, as
the flexibility required overrules the use of overloaded constructors. The
result is an human figure whose limbs can by manipulated by the using the
keyboard to adjust the angles of the various joints.

******************************************************************************
******************************************************************************
Ben Shanbaum "soniSkel and Sound Synthesis"
.................................................................. 2:30 - 2:50
******************************************************************************
```
```This project will go into detail on the technical and aesthetic properties of
the additive synthesis and FM synthesis generator found in VSS 3.1.  It will
discuss what goes into generating a simple sound by using additive and/or FM
synthesis, as well as the mechanics required creating these sounds using the
Sound Server.  I also plan on giving an example of a skel program that has been
sonified by using the additive and FM synthesis engine, and finish the project
by providing a brief tutorial on how to sonify your own client program using
the forementioned engines.  This tutorial will cover two types of sonification:
ambient (background, or passive) sound and triggered (active) sound.

******************************************************************************
******************************************************************************
Ben Farmer "illiCoaster"
.................................................................. 3:00 - 3:20
******************************************************************************
```
```This illiSkel application simulates a roller-coaster on a 3-D Lissajous
curve for a track, and its Frenet frame for its orientation. In addition
to the customary view, there is an option that puts a camera into the
nose of the coaster.
******************************************************************************
******************************************************************************
Alison Rodden  and Lindsay Kusmierek "Bouncie: Spheres in the 4D-hypercube"
.................................................................. 3:30 - 3:50
******************************************************************************
```
```       The program, 'bouncie', is a 4-dimensional representation of the classic
childhood toy, the bouncie ball, within the hypercube.  The rotating
hypercube is projected orthogonally to 3-space. The balls collide by an
exchance of momentum, assuming equal mass. Although the balls
'leak' from the perimeters of the hypercube, they return (a puzzle still
unsolved).  A change in color intensity denotes distance in fourth direction.
******************************************************************************
******************************************************************************
Mark Flider "SchpRel: Special Relativity in OpenGL"
.................................................................. 4:00 - 4:20
******************************************************************************
```
```Perhaps the greatest scientific achievement of the century, Einstein's
Relativity Theory turned time and the world as we saw it upside down.
It gave us the speed limit of the universe and at the same time put Science
Fiction writers to shame and allowed us more accurate satellite navigation.