| |
|
| wendy
plesniak |
 |
|
| |
 |
 |
|
| |
|
|
| |
Poke
has two basic subsystems: the haptics |
 |
|
|
| module
and the holovideo module. The former |
|
| haptically
displays a pliable surface and allows |
|
|
the underlying model to be arbitrarily reshaped |
|
|
by poking with the Phantom stylus. The |
|
| holovideo
module propagates haptic model |
|
| changes
into the hologram incrementally, |
|
| and
only in regions corresponding to change. |
|
| Updated
holograms are sent via HIPPI to |
|
| the
holovideo module's display server |
|
| (running
on the Cheops Imaging System) |
|
|
which updates the holovideo display to |
|
| show
the changes due to poking. |
|
| There
is a 2s lag between feeling changes |
|
| in
the haptic model and seeing them on the |
|
| holovideo
display. And though Poke's model |
|
| can
be deformed in a more arbitrary fashion |
|
| than
Lathe's, its hologram update rate is |
|
| reduced
to 0.3fps. |
|
| |
|
 |
|
Poke's
force
model is given by a 2D Catmull-Rom |
|
| spline
whose control points are connected by a |
|
| grid
of springs. As a person presses into the |
|
| surface
with the Phantom stylus, the grid and |
|
| the
surface near the contact point are recruited |
|
| in
the resulting deformation as shown below. |
|
| In
this deformation, control points are restricted |
|
| to
move only in depth (z). |
|
| The
holographic image shows an array of points |
|
 |
|
| collocated
with the haptic model control points, |
|
|
and the surface is felt to stretch among them. |
|
| The
holographic image is updated rapidly |
|
|
using the incremental computing method which |
|
| assembles
the image from a set of precomputed |
|
| elemental
fringes. This method lets us make fast |
|
| and
flexible local changes in the hologram. |
|
 |
|
| |
|
|
A
table of elemental fringes is first
|
|
| computed
by interfering a plane wave |
|
| with
a set of spherical waves. These |
|
| spherical
waves arise from a set of |
|
| points
located at a finely-sampled set |
|
| of
distances from the hologram plane. |
|
|
Each fringe in the table reconstructs |
|
| an
image of a point at the same depth |
|
|
used to originally produce the fringe. |
|
|
A
fringe can be translated in the hologram
|
|
|
to
translate its reconstructed image, and
|
|
 |
|
|
a
fringe can be reversed to flip the depth
|
|
|
of
its image. Arbitrary images can be
|
|
|
constructed by adding appropriately
|
|
|
arranged fringes from the table into
|
|
|
a composite pattern, as shown at the
|
|
|
right for a simple 2-point image.
|
|
|
Since
the hologram of any scene
|
|
 |
|
|
modeled
by a collection of image points
|
|
|
is
simply a linear superposition of all
|
|
|
points'
elemental fringes, we can erase
|
|
|
any
point from the image by subtracting
|
|
|
its
fringe from the pattem as shown.
|
|
|
The
image of that point can be updated
|
|
|
by
adding a new fringe to reconstruct
|
|
|
the
point at a new location. Poke uses
|
|
|
this approach to update its hologram as
|
|
 |
|
|
a person deforms the pliable surface.
|
|
|
This
method requires operating on a
|
|
|
144MB
"working" hologram, which is
|
|
|
subsequently
normalized and sent to
|
|
|
the
display server on Cheops.
|
|
| |
|
| Sponsors
of this work include Honda R&D Company, |
|
| NEC,
IBM, the Digital Life Consortium at the MIT |
|
| Media
Laboratory, the Office of Naval Research |
|
| (Grant
N0014-96-11200), Interval Research Corporation, |
|
| and
Mitsubishi Electric Research Laboratories. |
|
| |
|
| |
|
 |
 |
 |
 |
 |
 |
 |
 |
|