physically based information semantics simulation

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
how simulations help understanding readings
physically based simulation readings
things to look at
additional recommended readings
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.