Michiel van de Panne Research Projects |
|
|
Applications of Machine Learning to Computer Graphics and Animation Geometric models, motion models, reflectance models, and so forth are all difficult to construct by hand. Simulated motions are difficult to control and plan. Non-player characters in games need to determine their actions. These are all potential areas of application for machine learning algorithms. While not a panacea, we believe that machine learning will play an important role in the future of computer graphics. |
|
Motion Perception
The human visual system is not a camera, which creates the potential to manipulate images and animations in convenient, imperceptible ways. Examples of this include the representation of colour (using RGB instead of a spectral distribution) and the choice of frame-rate for displaying animations. In this projet we ask other basic questions such as "To what extent can one change the length of objects during an animated motion without this being observed? How does the user's attention affect this result?". |
|
Sketch-based modeling
Conventional 3D modeling tools for computer graphics require significant expertise to use. This project explores to what extent it is possible to create "smart paper" that can build models directly from hand-drawn sketches. |
|
Sketching Character Motions
This projects asks the questions "Is it possible to model and animate a character in under 20 seconds? To what extent can we create an animation system easily usable by children?" The sketch-based system is targetted to Tablet PCs and electronic white boards. The user begins by sketching a character to be animated. An underlying skeleton is then inferred. Animated motions can then be created by using a variety of drawn gestures, composed of a continuous sequence of lines, arcs, and loops. These are parsed and mapped to a parameterized set of output motions that further reflect the location and timing of the input sketch. The current system supports a repertoire of 18 different types of motions in 2D and a subset of these in 3D. The system is unique in its use of a cursive motion specification, its ability to allow for fast experimentation, and its ease of use for non-experts. |
|
Ski Stunt Simulator
This project implements a realistic planar simulation of the physics involved in performing acrobatic ski stunts. The pose of the skier can be interactively controlled with the mouse. Thus performing any given stunt requires the right combination of both physics and skill, as in real life. A large variety of stunts can be performed, including anything ranging from a triple back flip to a triple front flip. The resulting simulator can be viewed as a game, a teaching tool for kinesiology, or as a preliminary sports prototyping tool. |
|
Composable controllers for physics-based character animations
An ambitious goal in the area of physics-based computer animation is the creation of virtual actors that autonomously synthesize realistic human motions and possess a broad repertoire of lifelike motor skills. However, designing the controllers that encompass everyday skills such as walking, running, and getting up from a chair is a very daunting task. This project proposes a framework for composing specialist controllers, possibly designed by different researchers, into more general composite controllers having broader functionality.
|
stable algorithms for animating shallow water waves
Building on previous work in fluid mechanics, we are developing an efficient, stable shallow-water model appropriate for use in computer graphics.
|
|
interactive
control for physically-based animation
Much as humans and animals control their motions with commands to their muscles, this project examines the feasibility of having an animator control the motion of a simulated character through commands to the character's virtual musculature. Such interfaces are intended to exploit human skill and intuition about the physics of motion in order to create equally skillful animated characters.
|
|
Efficient Compression
Techniques for Precomputed Visibility
In rendering large models, it is important to efficiently identify the small subset of primitives that is visible from a given viewpoint. One approach is to partition the viewpoint space into viewpoint cells, and then precompute a visibility table which explicitly records for each viewpoint cell whether or not each each primitive is potentially visible. We propose two algorithms for compressing such visibility tables in order to produce compact and natural descriptions of potentially-visible sets. Alternatively, the algorithms can be thought of as techniques for clustering cells and clustering primitives according to their visibility criteria.
|
|
|
modelling
the human arm
Generating realistic skin deformations arising from joint movement and muscle contraction is a requirement for producing realistic human character animation. We exploit range image technology to capture the human form and create parameterized animated surface models based upon this data. The work improves in several ways upon algorithms required to process and integrate the range data, as well as parameterizing the surface. Results are presented for the parameterized flexion of a human arm model. |
|
human motion planning
The automated animation of human characters continues to be a challenge in computer graphics. We present a novel kinematic motion planning algorithm for character animation which addresses some of the outstanding problems. The problem domain for our algorithm is as follows: given an environment with designated handholds and footholds, determine the motion as an optimization problem. The algorithm exploits a combination of geometric constraints, posture heuristics, and gradient descent optimization in order to arrive at an appropriate motion sequence.
|
|
walking
simulation
Some seemingly simple behaviours such as human walking are difficult to model because of their inherent instability. This research proposes an approach to generating balanced 3D walking motions for physically-based computer animations by viewing the motions as a sequence of discrete cycles in state space. First, a mechanism to stabilize open loop walking motions is presented. Once this basic "balance" mechanism is in place, the underlying open loop motion can then be modified to generate variations on the basic walking gait.
|