Biomedical Engineering Reference
In-Depth Information
10.3 Isometric Virtual Walking
In this section we present the basic math and algorithms to implement isometric real
walking transformations, i.e., mappings that preserve distances and angles of a user's
movements.
10.3.1 One-to-One Mappings
Assuming the real and virtual workspaces are defined using the coordinate systems
introduced in Sect. 10.2 , basic one-to-one mappings can be implemented by using the
tracked position and orientation of a user's head in the laboratory to define the position
and orientation of a corresponding virtual camera object for each rendering frame.
In particular, a tracked change of one unit (e.g., meter or degree) in the physical
workspace is mapped to a translation or rotation of one unit in the virtual scene.
Examples of such mappings are often found when displaying a virtual replica of a
virtual reality laboratory to users in head-mounted display environments [ 12 , 33 ], or
in architectural passive haptics environments, in which real and virtual objects are
registered to provide users with haptic feedback when touching virtual objects [ 10 ].
In such environments, one-to-one mappings can be implemented using the following
simple pseudo code:
Algorithm 1 One-to-one mapping from tracked head to camera coordinates
for all rendering frames n
N 0 do
// Get current head tracking state:
(
x ( n )
y ( n )
z ( n )
3 )
,
,
)
tracked head position (in R
r
r
r
( y ( n )
, p ( n )
, r ( n )
3 )
) tracked head orientation (in [ 0 , 360 )
r
r
r
// Set virtual camera state:
( x ( n )
, y ( n )
, z ( n )
) ( x ( n )
, y ( n )
, z ( n )
)
// position
v
v
v
r
r
r
y ( n )
p ( n )
r ( n )
y ( n )
p ( n )
r ( n )
( ˜
, ˜
, ˜
) ( ˜
, ˜
, ˜
)
// orientation
v
v
v
r
r
r
end for
x ( n )
y ( n )
z ( n )
3 denotes the current three-dimensional
In the pseudo code,
(
,
,
) ∈ R
r
r
r
y ( n )
p ( n )
r ( n )
3 the current yaw, pitch and roll orientation
of the user's head in the physical workspace as provided by the tracking system
for rendering frames n
position, and
( ˜
, ˜
, ˜
) ∈[
0
,
360
)
r
r
r
x ( n )
y ( n )
z ( n )
3 the computed new
∈ N 0 ,aswellas
(
,
,
) ∈ R
v
v
v
y ( n )
p ( n )
r ( n )
3 the new orientation of the camera object
that is used as the basis for rendering the current frame to be displayed to the user.
position and
( ˜
, ˜
, ˜
) ∈[
0
,
360
)
v
v
v
 
 
Search WWH ::




Custom Search