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:
![\begin{displaymath}
\begin{array}
{rcl}
R' T(\vec{t}') &=& T(-\vec{t}) T(-\vec{...
... \vec{x} - \vec{t}} \\ & 1 \end{array} \right ]$}
\end{array}\end{displaymath}](img43.gif)
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