Next: Transferring Disparity Values
Up: Hybrid rigid and non-rigid
Previous: Computing new fist/elbow/shoulder positions
The image-based rendering problem of simulating camera movement for a fixed, Lambertian
scene with depth/disparity/correspondence has been solved by several
authors, such as [15,22,21,13]. The motion of
a single object with a fixed camera is exactly equivalent to the
opposite camera motion around a fixed object. Therefore, we can use
these IBR techniques as a black box for simulating 3D object motion.
(Dally et al. [6] describe an efficient image-based object
representation.)
Specifically, we assume that an IBR algorithm takes an image, a
rotation (specified by a rotation matrix R') and a translation
(specified by a vector ). The algorithm produces a new view
of a scene, with the translation and rotation applied to the 3D camera
position and orientation.
We want to use such an algorithm to simulate the appearance of an
object rotating by R about some pivot point x, and translated by
. The problem is: given R, x, and , find R'
and .
The desired translation is composed of four translations and
rotations:
- 1.
- Translate the camera center from the origin to x.
- 2.
- Rotate the camera by R-1.
- 3.
- Translate the camera center back to the origin.
- 4.
- Translate the camera center by .
(Recall that a object translation or rotation corresponds to the
opposite camera transformation.)
This gives a linear system:
where is a translation by , and is the
vector from the origin to x. Solving, we get
Next: Transferring Disparity Values
Up: Hybrid rigid and non-rigid
Previous: Computing new fist/elbow/shoulder positions
Trevor Darrell
10/29/1998