Computer Animation 206
Euler angles and quaternations; articulated figure motion (including Denavit-Hartenberg notation); forward and inverse kinematics; kinematic, physically based, and behavioral motion control (Reynolds "Boids"); rendering problems (temporal aliasing); sound synthesis and synchronization; recording and editing techniques. Programming assignments were given in each subject area. The computational framework was Renderman/BMRT. The final project was to design, code, render and record an animation sequence to video. (James K. Hahn, professor)
Interactive Computer Graphics 219
OpenGL rendering, camera, lighting, modeling; Level of Detail, Clipmaps; Quaternion ARC-ball; Joystick and mouse input interaction; procedural modeling and texturing; Ray tracing techniques and QAEB tracing. The programming assignments for this course involved construction of rendering and interaction implementations from the topics discussed in class. Basic ray-tracing was implemented and a simple acceleration data structure added. (F. Kenton Musgrave, professor)
Graduate Research Computer Graphics 791A
Procedural modeling; Procedural texturing; Fractals; Fractional Brownian Motion, Perlin noise, aliasing, surface and volume texturing; Atmospheric modeling. Programming assignments included generating a virtual moon from procedural textures and displacement on a sphere, generating atmospheric rendering using Beer’s Law, Terrain rendering and modeling using multi-resolution noise. (David S. Ebert, professor)
Independent Study, Computer Graphics 699
Over the course of two semesters, I developed a simulation of grass and other low-height vegetation based upon procedural modeling techniques and botanical characteristics of the plants involved. The artist/user specifies a volume to be populated with plants. At render time, the procedural algorithm intersects the ray with a volumetric function. The intersection test determines what plants are candidates for intersection and a selection is made from prototype plants for actual intersection. The volumetric function acts as an acceleration structure for a large set of candidate plants. This work was presented as a technical sketch at SIGGraph 1998 and won acclaim as the best student work. (David S. Ebert, professor)
Independent Study, computer graphics 699
Procedural Grass II (see above)
Advance operating systems 621
A detailed study of advanced topics in operating systems including: synchronization mechanisms, virtual memory, deadlocks, distributed resource sharing, computer security, and modeling of operating systems. Programming assignments included clocking and synchronization of arbitrary processes, multi-threaded process scheduling, and algorithms employing various synchronization and mutual exclusion operations. (Anupam Joshi, professor)
Adv Computer Architecture 611
Memory system design, pipeline structures, vector computers, scientific array processors,
multiprocessor architecture. Within each topic, the emphasis is on fundamental
limitations: memory bandwidth, inter-processor communication, processing bandwidth,
and synchronization. Class programming assignment was to implement a distributed filesystem with attach/detach and replication similar to CODA or Andrew. My additional project for the class was performing testing of various computer architectures using the BRL-CAD benchmark suite. The results of my testing and benchmarking were presented at the Computer Measurement Group International Conference in 2000 (Ethan L. Miller, professor)
Data Visualization 636
This course addresses the theoretical and practical issues in creating visual representations
of large amounts of data. It covers the core topics in data visualization: data
representation, visualization toolkits, scientific visualization, medical visualization,
information visualization, and volume rendering techniques. Additionally, the related
topics of applied human perception and advanced display devices are introduced. Assignments included producing visualization of medical MRI and CT data, information visualization of Census bureau data, and visualizing relationships between topics mentioned in document collections. (Penny Rheingans, professor)
Master's Thesis Research 799
Visualization of ballistic penetration results. This was a research follow on to the Data Visualization class. I developed a tool for viewing a 5 dimensional data set from a ballistic penetration simulation code. This tool allowed the user to navigate the 5 dimensional space of the data and select elements to be further revealed. The tool allows the user to select the attack angle, the particular shot within the attack angle, and view parameters of the resultant shot such as probability of Kill, probability of mobility kill, probability of firepower kill, crew casualty, residual penetration, etc. The tool was demonstrated for the ballistic Vulnerability/Lethality analysts of the US. Army Research Laboratory. This research work resulted in a funded project at the Laboratory. (Penny Rheingans, professor)