# Interactive Manipulation of Rigid Body Simulations

Jovan Popović, Steven M. Seitz, Michael Erdmann, Zoran Popović, Andrew Witkin

## Description

Physical simulation of dynamic objects has become commonplace in computer graphics because it produces highly realistic animations. In this paradigm the animator provides few physical parameters such as the objects' initial positions and generates realistic motions. The resulting motion, however, is difficult to control because even a small adjustment of the input parameters can drastically affect the subsequent motion. Furthermore, the animator often wishes to change the end-result of the motion instead of the initial physical parameters.

We describe an interactive technique for intuitive manipulation of rigid multi-body simulations. Using our system, the animator can select bodies at any time and simply drag them to desired locations. In response, the system computes the required physical parameters and simulates the resulting motion. Surface characteristics such as normals and elasticity coefficients can also be automatically adjusted to provide a greater range of feasible motions, if the animator so desires. Because the entire simulation editing process runs at interactive speeds, the animator can rapidly design complex physical animations that would be difficult to achieve with existing rigid body simulators.

## Examples

A 2-D example illustrates the main features of our interactive manipulation technique. The two white lines display the entire motion by showing the trajectories of the center of mass and a point on the surface. First, we drag the egg position to have the egg land in the cup. The system computes and displays the motion in real time. The resulting motion does not have the desired style---we would like the egg to spin before landing in the cup. We ensure the cup landing with a nail constrain which is visually represented by the green hoop. We rotate the egg at an earlier time until the motion achieves the desired spin. Observe that the egg goes through the hoop as required before nestling in the cup. Second, we want the eggs to collide before the egg lands in the cup. To do so, we first force a collision and then drag the negg to the cup. The system re-computes the initial velocities of both eggs to accomplish this effect. Third, we may have additional constraints and would like both eggs to land in cups. Like before we ensure the landing with a nail constraint and drag the red-white egg into its cup. The visual pops occur when our tool cross the simulation function discontinuities. Observe that the blue-yellow egg goes through the hoop as required before nestling in the cup.

In the next example we can land the hat onto a coatrack by selecting its landing position and dragging it onto the coatrack. We can adjust the style---for example to have the hat tumble before the landing---by first fixing the landing position on the coatrack to ensure the desired landing location and then rotating the hat at an earlier time until the hat motion achieves the desired tumble. Here, we lift the die to force its landing on the stand. Luckily, the die lands showing six as we had hoped. Had we wanted to change the outcome, we tilt the die forward. The system automatically computes the required surface properties at collisions to accomplish this effect.

To assemble the table, we drag the tabletop above the table legs. The tabletop lands on the legs but the alignment is incorrect. We change the tabletop orientation before the landing to correct the alignment. We complete the animation by simulating further in time.

In the last example we used the interaction to design the free-flight motion of the scissors landing on the coat rack. We transformed the style of this free-flight motion by having it bounce off the floor, perform a flip and still land on the coat rack. The movie shows three stages during this process: forcing the bounce, performing the flip and placing the scissor onto the hook.

## References

Jovan Popović, Steven M. Seitz, Michael Erdmann, Zoran Popović, and Andrew Witkin. Interactive Manipulation of Rigid Body Simulations. In Computer Graphics (Proceedings of SIGGRAPH 2000), ACM SIGGRAPH, Annual Conference Series, pp. 209-217. [pdf]