Alex Pompe
Math 198: Hypergraphics
The University of Illinois in Urbana-Champaign
Instructor- Professor George Francis
______________________________________________________________________________
Math Gallery:
A Composition of Environment, Visualization, and Tutorial Based on Mathematics.
__________________________________________________________
Abstract- An environment has been created for the user to explore a virtual math museum and look at various exhibits showcasing mathematical beauty. Using the graphics abilities afforded, the visitor is able to view graphical representations of mathematics at work. The museum functions to educate as well as dazzle. Exhibits will be accompanied by tutorials or explanations laying the ground work for understanding the methods used. This project will be heavy on content, tending to concentrate on the visualization and education of the mathematics involved.
Documentation-
The scope of this project is very large, with perhaps endless possibilities for expansion and design modification and addition. This is not a weakness, but a strength as it is meant to house the work of many others besides the creator. The documentation and narrative of work done to date for the gallery also serves as a tutorial for any user who wishes to add their own work, granted they are familiar to a certain degree with computer programming and somewhat with OpenGL.
The first method of expanding the gallery is by adding a new shape or visualization for exhibit. The floor work for this process begins with an OpenGL method for graphically displaying the desired piece. For my purposes, and I would guess many in the future, this begins with the illiSkel provided by Professor Francis. This frame takes care of many items which bother the non computer-scientist, and also allows for extremely simple portation into the CAVE. Our Gallery was built from the floor up with the CAVE in mind and in its current state is CAVE ready. To ease the process of CAVE portation from the Skel, one should begin work in the CAVEskel. This simply guarantees a less stressful moving day by taking into account everything the CAVE needs. Familiarity with the Skel will be increased in the narrative portion, where I step by step lead through developing a mathematical solid and adding visualization gimmicks to make life in the Gallery more intere! st! ing. This entire process is followed with specific examples in narrative I.
The second method, and equally important method of expansion for the gallery deals more heavily with the environment itself. Expansion by this method has a choice involved. Already built into the environment is a simple and sensible method of expansion which requires minimal amount of code manipulation. However, much room is left to lay down more personal "wings" to the gallery. At this time, the architecture is simplified to allow for the easy method of expansion. Mainly, the simplest of all galleries that can be created is a tower with a basement. In all versions of my gallery the basement serves as the introduction to the gallery, providing new users with the knowledge needed to navigate the area. The first floor then contains a preliminary exhibit of choice. The built in expansion for this primitive architecture is simply adding floors. The gallery grows vertically in tower form, with ample room on each floor to contain new exhibits. The bott! om! basement will always contain the welcome and the top always is covered by a triangular roof top. This entire process is followed with specific examples in narrative II.
The third method of expansion follows on the heels of the other two. It is expected most exhibits contain brief explanation of their creation along with the visualization. This is accomplished by the inclusion of a "blackboard" that is automatically generated as each new floor is added. This rectangle should be textured with a text explanation of the exhibit. This allows for the explanations to be the user's own generated in the text editor of choice, or also from a more expert source on the web. All that is to be done is to simply take a snapshot of the portion of the screen containing the desired text, and use this image as the texture for the blackboard. To initialize this texture, the code of the gallery is a more appropriate location for this and is documented with the proper method to inserting, but requires little more than copying and pasting and changing a file name, the sizing of the texture is automatic courtesy of OpenGL and texture size ! ne! ed not be exact. This entire process is followed with specific examples in narrative III.
Narrative-
I - A. The example given here is the first object made for the gallery, the Klein bottle, and will guide through the process of creating the model, adding coloration, skin, etc., and creating animation. The Klein bottle is created by generating a collection of vertex points in 3d space via a parametric equation. Parametric equations are very simple to import into our given environment and are well suited to a structure of loop and variable manipulation. For the Klein, 7 main variables are used to develop the needed vertices:
VARIABLE | PURPOSE |
X | Determines the X coordinate in 3 space. It is found using a function which changes with r, u and v. |
Y | Determines the Y coordinate in 3 space. It is found using a function which changes with r, u and v. |
Z | Determines the Z coordinate in 3 space. It is found using a function which changes with r, u and v. |
U | U represents the outer circular orbit, similar to the Torus, at each stop along U, a circle is drawn according to V and R. Starts at 0 and steps along until reaching 2*Pi. |
V | V represents the smaller circles drawn around the outside orbit. The size of these circles is redetermined by R. Starts at 0 and steps along until reaching 2*Pi. |
R | R is the radius of the smaller circles, and variation along the orbit creates a more distinct Klein shape, however a constant R would still yield a topologically correct Klein bottle. |
Str | Merely a stretch factor built into parameters to allow for re-sizing and later animation. A global variable. |
As can be gathered from the explanation of the variables the Klein bottle is actually a torus with a half twist allowed to jump over its own surface through a fourth dimension. It is worth noting that the CAVE creates a 3d environment so our example is merely a shadow of the Klein, however it is actually more accurate in creating the bottle and common people have never seen a truer representation of it before they CAVE. The X, Y, and Z variable are necessary for OpenGL to mark a vertex in 3 space. Similar to the torus, the locus of points used to create the Klein is made by looping around U, and at each stop along the way looping through V. OpenGL will happily display only these points, but things get a lot more impressive when other methods are used. Two methods used at this point are a wire frame and triangle strips. For the wire frame, all that is required is an ordering of the points to be connected in successive order along V and then one ahead ! al! ong U. The only pitfall to this is along the last strip, which must simply avoid the step ahead on U. For a triangle strip, what is needed is to keep track of two points along V, with a third calculated using the introduction of a Gap parameter. This creates a new point a set distance away from the line along V. The three are then connected via OpenGL and can be moved to change the visualization. To create animation, Str can me modified as the autotymer advances. Along uses of both U and V in defining X, Y, and Z the Str is increased and decreased and multiplied to the use of U and V as angles. This will cause the bottle to turn itself inside-out along both circles, one being comparable to width and the other to length. Coloration is given by inputing X, Y, or Z for the RGB values.
B. The second cornerstone of the current gallery is the Moebius band, and its creation and integration are basically identical to the Klein bottle. Again a parametric equation is used and the same variables as well, only now no R is needed as the strip is of uniform thickness. The homotopy involved for the band is to add more than the standard half twist. As this occurs the coloration of the band also changes and increases along the red spectrum. The Moebius is drawn using both a wire frame and triangle strips. Coloration is determined according to the X, Y, or Z for the Green and Blue values and Str determines the Red.
II. The gallery itself is created using simple geometry shapes, with a method included for expansion. Besides the expandability the current gallery uses textures in many areas. The floor is tiled with a texture of a Penrose tiling. The educational prompts are also the product of textures. Expansion is done by multiplying the height of each room by an increment.
Future Plans-
Many items were meant to go into the initial Gallery but became the victim of time. However, I have developed some general protocals which can be followed if the gallery is to evolve. As it stands now, the gallery grows vertically, however it would be just as simple to cause growth to occur in the X and Y dimensions rather than the Z. Navigation in this first version of the gallery is simply the same fly-mode as in the standard Skel, but after modification of the control and movement axis, a more realistic movement type can easily be implemented, preferably modeled after familiar reality. Other more complicated problems will also soon arise in the gallery's present form. At some point a more efficient backdrop will be needed to accomodate more exhibits than the Skel.
Conclusions-
In its current state the gallery is indeed primitive, but it has accomplished several key goals on the way to becoming complete. Mainly it provides a stable and CAVE ready environment in which to view several examples of mathematical exhibits. The current exhibits all are dynamic, and contain animations that vary shape and color, while exhibiting traits about the math behind the visualization. The environment itself replaces a star back-drop and contains an "infinite" amoung of expandability with very little knowledge of coding needed. Overall the canvas of the math gallery is largely unfinished, but the tools are in place for those with limited knowledge to continue and add to it if they wish. However, several heavy modifications will be needed to ensure the gallery grow into a finished product.
Bibliography-
-Skel and CAVEskel architecture courtesy of Math 198, Prof. George Francis.
-Texture made possible using various Texture applications courtesy of Math 198 archives, Anton Malysliev.
-Klein Bottle courtesy of "From Here to Infinity," Ian Stewart, Oxford University Press; Revised Edition 1996.
-Moebius Band courtesy of "From Here to Infinity," Ian Stewart, Oxford University Press; Revised Edition 1996.