Skip to contentAdvanced Interfaces Group - School of Computer Science, The University of Manchester
Mashhuda | Projects | Publications  
Mashhuda Glencross' PhD Research Page

Jacob's ladder image
Newton image
Fish image

The Iota Framework

During my PhD project I developed a framework for physically based modelling in virtual reality, which consists of a tightly coupled simulator engine, a complexity management module and a graphics kernel. The simulator itself was purpose built from scratch to support a hybrid particle-rigid body motion solver. Graphics and navigation were supported through the use of the Maverik graphics kernel. Above the low level component layer exists a Perl glue layer which exposes the functionality to the Perl scripting language. A collection of Perl modules then provide extra high level functionality to support model construction, rendering customisations and any other extensible user customisations. Consequently simulation environments could be rapidly constructed in the scripting language.
Iota's simulator engine was designed purely for simulating physical behaviour for computer graphics purposes, therefore a trade-off between performance and accuracy was made in the complexity management module. Where possible the simulation is reduced to the simplest model required to achieve the desired behaviour. Furthermore, the simulator supports dynamic creation and destruction of simulation primitives such as particle, forces and rigid connections. By enabling this dynamic re-structuring of a model being simulated, complexity can be managed at run-time while still maintaining a consistent perception of the simulation. More information about Iota is available from my publications page.

Case Studies

Jacob thumb
Ladder
Bullet point A Jacob's ladder - This movie shows two blocks in the Jacob's Ladder being interactively tipped in quick succession. They cancel out each others propagation down the ladder, while the ladder itself is spun. I navigate such that the entire ladder can be seen. Subsequently two further blocks are tipped with sufficient delay to enable multiple ripples to propagate along the ladder. During this time I navigate again to follow the ripple.
Newton movie image
Cradle
Bullet point A Newton's cradle - In this movie the second ball from the right in a Newton's Cradle is interactively selected and lifted. It is then released notice that the ball colour changes back to silver from red. As the group of two balls swing back towards the cradle, a single ball at the far left is selected, lifted and then released. The cradle is simulated, while I navigate closer to the model; select, lift and release the centre ball and finally spin the cradle.
Fish movie image
Fish
Bullet point A shoal of fish is interactively dragged around via a force function that attracts them to a mouse particle. Notice how the shoal's motion is complicated by currents (modelled using fBm functions) in the environment and long range attractive short range repulsive forces between each fish.
Undersea movie image
Undersea
Bullet point A shoal of fish swims towards a driver particle moving along a Lissajous path. Currents complicate their motion and the  motion of the seaweed. A single fish is scripted to dive towards the seaweed and linger before pulling away a piece and attempting to rejoin the shoal. Notice how this fish has difficulty keeping up with the shoal while dragging the seaweed. Finally, it is scripted to release the seaweed thus allowing it to properly rejoin the shoal while the seaweed drifts away.
Chain movie image
Chain
Bullet point A chain is pinned and allowed to swing about the pinned point. The second link from the bottom is interactively selected and the re-attached to the node above. Finally, it is interactively selected dragged, separated and allowed to fall away.

Bucky movie image
Bucky
Bullet point The Bucky ball pulsates a few times as the forces between the nodes in the model settle down, before I navigate and place my viewpoint inside the structure.
Molecule movie image
Molecule
Bullet point A rigid molecule is pinned from the blue sphere at the bottom right, and allowed to swing about it like a three dimensional pendulum. Then I navigate closer to the model.
Molecule 2 movie image
Breaking
Bullet point Again a rigid molecule is pinned from the blue sphere at the bottom right, and allowed to swing about it like a three dimensional pendulum. The bond connecting the top two blue spheres is broken but has no effect because the structure is rigid and cyclic. Sometime later another connection is broken while I navigate down. Finally the detached portion falls away under gravity. Notice how the remaining portion swings a little differently due to its change in shape.
Molecule 3 movie image
Flexible
Bullet point A soft molecule is pinned and allowed to swing like a three dimensional pendulum. Then I navigate closer to the model and interactively adjust the viewpoint in order to see the whole molecule.
AIG lab movie image
Lab
Bullet point The setting is the AIG lab, I navigate towards A Newton's Cradle on a desk, interactively play and then navigate towards a Jacob's Ladder where I tip a block, watch the simulation for a moment before returning to the Newton's Cradle. To finish, I spin the cradle on the desk while it simulates.

| Dr. M. Glencross |
School of Computer Science | The University of Manchester | Room 2.94 | Kilburn Building | M13 9PL | +44(0)161 275 6141