Graduate Student Mentor: Andrew Webb
Reimagine how we explore and understand information by applying real world physics to interactive computer systems.
The team will investigate how physically-based simulations can improve understanding of large information collections by representing semantics through physical metaphors. Making use of physics engines, hardware acceleration, and semantic libraries (provided by the Interface Ecology Lab) , the team will design new interaction techniques using physically based simulations (e.g. flocking, particle physics, springy masses, rigid bodies).
The work will be grounded in prior research. Each team member will individually expose herself to specific physically based simulation techniques through building a light-weight interactive system for exploring a personal collection (e.g. photo album). As a team, students will build upon the individual ideas developed to create a more substantial system. The team will develop a project proposal explaining what they plan to do, why it is valuable, and how they plan to accomplish it. The team will conduct an evaluation using human participants to validate their research.
bonus objectives
- make use of a physical interface or multitouch technologies in conjunction with physically based simulations.
provided development platform
- Windows PC with high performance Nvidia graphics card
- CUDA SDK (with OpenCL support)
- Microsoft Visual Studio 2008
- Eclipse
thinking about information and semantics readings
- Card, S.K., Mackinlay, J.D., Shneiderman, B. Readings in Information Visualization: Using Vision to Think, Chapter 1: Information Visualization, Morgan Kaufmann, 1999, 1-33.
- Russell, D. M., Stefik, M. J., Pirolli, P., and Card, S. K. The cost structure of sensemaking. In Proc. of the INTERACT '93 and CHI '93, 1993, 269-276.
- Yee, K., Swearingen, K., Li, K., and Hearst, M., Faceted metadata for image search and browsing. In Proc. of CHI '03, 2003, 401-408.
how simulations help understanding readings
- Rieber, L. P., Smith, M., Al-Ghafry, S., Strickland, B., Chu, G., Spahi, F., The role of meaning in interpreting graphical and textual feedback during a computer-based simulation, Computers & Education, Volume 27, Issue 1, , 1996, 45-58.
- Swaak, J., Joolingen, W. R. V., Jong, T. D., Supporting simulation-based learning; the effects of model progression and assignments on definitional and intuitive knowledge, Learning and Instruction, Volume 8, Issue 3, , June 1998, 235-252.
physically based simulation readings
- Witkin, A. and Baraff D. Physically Based Modeling Course Notes, SIGGRAPH 2001.
- Hubbard, P.M. Collision detection for interactive graphics applications, IEEE Trans. on Visualization and Computer Graphics, 1995, Vol. 1(3), 218-230.
- Reynolds, C. W. Flocks, herds and schools: A distributed behavioral model. In Proc. of Conference on Computer Graphics and Interactive Techniques, 1987, 25-34.
things to look at
additional recommended readings
- Witkin, A. and Baraff D. Physically Based Modeling Course Notes, remaining sections, SIGGRAPH 2001.
- Moore, M. and Wilhelms, J. Collision detection and response for computer animation. In Proc. of Conference on Computer Graphics and Interactive Techniques, 289-298.
project-specific deliverables
Divide into two groups (make sure that a strong graphics person is in each group). Each group will develop an interactive physically based simulation using a physics engine. One group will use bullet physics library, and the other group will use Open Dynamics Engine (ODE).
Each simulation should use at least a hundred elements (can be basic shapes), and interactions should change parameters of the physically based simulation. The groups should implement different physically based simulations. You may use a physically based simulation already implemented by a physics engine. Extra points will be awarded if you develop a simulation not existing in the physics engines (e.g. flocking). Collision detection is implemented in both physics engine and should be incorporated into both simulations.
Decide before hand which simulation each group is doing and with which physics engine. Investigate the examples and documentation (manuals and APIs) in making these decisions. One way to develop your simulation will be to modify and extend provided example code. If you take this route, you will be evaluated on how your modifications and extensions create something original and highly interactive showing a thorough investigation of the simulation.
This assignment has the following deliverables for each group:
- presentation of physically based simulation during lab
- short report on how the physically based simulation can be used in the final deliverable and what issues arose both with the simulation and the physics engine.