This document, located at http://new.math.uiuc.edu/math428/proj99, was last edited 13dec99 by gfrancis@uiuc.edu

## Math 428, Fall 1999, Course Projects

1-5pm Tuesday 14 and Wednesday 15 December 1998
Room 3414 (REL) Beckman Institute
****************************************************************************
TUESDAY   14 December 1999
****************************************************************************

****************************************************************************
****************************************************************************
Yisu Jin "illiShade: The Calculation and Painting of Real Time
Torus Shadows on a Perspective Plane"..................2:00 - 2:20
****************************************************************************
In this project we draw the shadow of a rotating torus cast from a fixed
light source to a fixed plane. A line connecting the light source to the
the vertices of a spatially extended torus continue until they meet the
plane. There the corresponding polygons are drawn just above the plane.

******************************************************************************
******************************************************************************
Andrew Olson "GLAV: An OpenGL AutoCAD 3D Viewer".................. 2:30 - 2:50
******************************************************************************
AutoCAD, now in release 15 (aka AutoCAD 2000), is possibly the most popular
drafting tool in America.  Most companies only use the 2D modeling aspects
of it, however- making blueprints and floorplans.  But using AutoLISP and
OpenGL, it is possible to display the drawings in a much more
visualization-friendly manner, in which the user can "walk-through" (the
term is used loosely) the floorplan, or any 2D or 3D drawing.  Though
currently limited in scope, in the future it will be possible to extrude the
2D drawing to 3D, where walls have height, and even adding lighting
information.

At the moment the goal is to export the AutoCAD drawing to a dxf-like text
file, then use OpenGL display routines to display a navigateable wireframe
scene.  Only the most basic support is currently included, but the code is
expandable to easily allow future enhancements.

******************************************************************************
******************************************************************************
Jeffrey Cook "Spatial Subdivision using Octrees" ..................3:00 - 3:20
******************************************************************************
In both interative and non-interactive computer animations, it is often
necessary to perform intersection tests between a ray and the scene objects or
a specific object and scene objects.  Doing such a calculation across all world
objects is both unncessary and computationally expensive.

By using an octree, a spatial subdivision method, the scene is partitioned into
regions and lists of objects in those regions are generated.  As such, only a
small subset of the objects in the scene are tested for intersection.

Presented is a real-time interactive visualization of a randomly or user-
generated scene, with tools to observe the builing of the data structure, its
physical representation in the scene, as well as observing the real-time
application and benefit of such a structure.

******************************************************************************
******************************************************************************
Shripad Thite "Polyfold: Folding a Polygon into a Polytope"........ 3:30 - 3:50
******************************************************************************
We consider the question of when and how to reconstruct a 3-D
polytopes given a planar unfolding. The converse problem of unfolding a
given polytope is also of interest. If we are able to reconstruct a
polytope from its unfolding, that would give us another simple way to
specify a polytope.

This project will consist of two programs. The first will be an interactive
tool to visualize and try out the folding process. The second program will
implement an algorithm that generates a sequence of folds.  This output will be
given as an input to the first program, which will essentially serve to animate
the algorithm.

******************************************************************************
******************************************************************************
Andrew Wu "vanGogh: Interactive 3-D Painting"......................4:00 - 4:20
******************************************************************************

Recently, much effort has been focused on the study of rendering techniques
that have non-photorealistic results. Instead of using realism as a benchmark,
many researchers have found that photorealism often entails too much detail
that hinders comprehension.  Thus, the possibility in non-photorealistic
rendering lies in visual economy -- the ability to express a large amount of
visual data without much "visual bandwidth".

Painterly rendering is a non-photorealistic style that involves the simulation
of real-life paints and brushes. The methods employed usually perform
processing on a 2D image or on a traditionally defined 3D scene of polygons.
Many of these place brush strokes algorithmically, without user intervention.
In many applications, it is important that the artist has control over brush
placement and parameters. Thus, we will investigate several ways of allowing a
user to interactively place brush strokes and modify brush parameters in 2-D
and 3-D. These control methods will be presented in an program that enables
interactive 3-D painting.

******************************************************************************
******************************************************************************
Robert Pinta "pintaBilliards: an Audible CAVEtoy"................. 4:30 - 4:50
******************************************************************************

This project is a Real Time Interactive CAVE Animation of a pool or billiard
table.  The major idea that was used in this project was the
collision detection.  Collision detection is a deep issue in RTICA's today
and even though I used several limitations, the most important is that the
objects colliding were spheres, I accomplished exact collision
interactions with pool balls in my table.

The steps that I took to get to this final piece of work was
getting a ball to bounce around the table, then I had to get two balls to
interact with each other.  Then I had to get the balls to bounce at the
exact time when the would if they were actually solid.  After I had the
pool table where the balls bounced around as they should, I added
reflections of the pool table like a lattice to show how the cue will
bounce around to calculate bank shots.

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

******************************************************************************
******************************************************************************
John Estabrook "Pinkall Tori Redux".............................. 2:00 - 2:20
******************************************************************************
Using the Hopf fibration of S^3 over S^2, Ulrich Pinkall (Inv Math 81; 1985)
showed how every compact Riemann surface of genus one can be conformally
embedded in R^3 as an algebraic surface of degree eight.

The existence of such embeddings for arbitrary compact Riemann surfaces
has been known since 1962 (Garsia).  T. Banchoff re-wrote Pinkall's
construction to make it more amenable to computer visualization, an example
of which was recently obtained by P. McCreary at UIUC.
The purpose of the current project is to revive and update
McCreary's work, so as to produce an immersive visualization of Pinkall's
result.

******************************************************************************
******************************************************************************
Kevin Vlack
"Efficient Collision Detection of Noconvex Polytopes"............. 2:30 - 2:50
******************************************************************************

The Lin-Canny Axis-Aligned Bounding Box algorithm, Kelvin Cheung's Separating
Vector algorithm, and Gilbert's closest features algorithm are extended for use
of nonconvex polytopes by automatically decomposing the polytope into a
hierarchy of convex patches.

******************************************************************************
******************************************************************************
Brett Champion "Curveball: Hyperbolic Target Practice"............ 3:00 - 3:20
******************************************************************************

The RTICA "Curveball" allows the user to walk around the Poincare Disk
Model for hyperbolic geometry, while shooting a ball at a target. The user
moves in a Euclidean manner, although the projectiles stay true to form and
follow the appropriate hyperbolic geodesics (circles.)  This should allow for a
greater intuition of hyperbolic models of geometry.

******************************************************************************
******************************************************************************
Matt Hall "Phaser Redux"......................................... 3:30 - 3:50
******************************************************************************

Historically, graphics computers were not fast enough to animate the flow
of 3-dimensional dynamical systems in real time. One wants to navigate through
the scene as the trajectories of dissipative systems like the Lorenz, the
Roessler, the May-Leonard, converge to their ``strange'' attractors. Since
the beginning of REL, Math 428 students Jonathan Manton, Alexei Bourd,
Ann Delano, Matt Woodruff and Matt Hall  have created a series of just
such real-time, interactive views into the phase-space of dynamical systems.

As software and hardware evolved, from IrisGL to OpenGL, from C to C++, from
desktop to CAVE, new design and interaction problems arose and were solved
in turn. The present incarnation of the illiPhaser is completely redesigned
for C and OpenGL to facilitate its port to Linux and Wintels platforms.

******************************************************************************
******************************************************************************
Sebastian Magda "illiGrav: A Real-time Particle
Gravitational Interactions Simulator"........... 4:00 - 4:20
******************************************************************************

The goal of the project is to design a particle system that simulates in
real-time gravitational interactions. The project will also model inelastic
collisions and thermal energy generated as a result of them. User will be
able to interact with the program by modifying the viewpoint, and several
parameters, such as gravity, mass density, inelasticity of collisions, etc.
The major challenge in the project is to efficiently implement the gravity
algorithm. The problem is of the order of O(n^2), where n is the number of
particles. To achieve better real-time performance, a number of
approximations is applied to the model.

******************************************************************************
******************************************************************************
Don Schmidt "Sonar: Sonic Experience of CAVE Objects"............. 4:30 - 4:50
******************************************************************************

While the CAVE provides a very rich immersive experience, its means of delivery
is almost exclusively visual.  Sonar is an easily embeddable tool that allows a
user to aurally ``feel'' their way around a CAVE environment.  Using Sonar,
users control a ``sound beam'' which emanates from the tip of a wand.  By
directing this beam to bear on distant objects, information on position,
orientation and other attributes is returned to the user in the form of
``reflected'' sounds.  To permit the user to easily distinguish subtle
differences in distance or other returned information, Sonar allows
exaggeration of certain characteristics, such as round-trip travel time.

Sonar also has application in more traditional visualization domains; by
attaching encoded information to the surface of an object and selectively
revealing it aurally, we can increase data density without increasing visual