7. Appendix: Formulas

7.1. Constants

The current system uses the following values.

The standard distance between user eyes: 62 mm.

The standard distance from the surface of the upper screen to the user: 316.5 mm (the average of SNAKE (301 mm) and CLOSER (332 mm)).

The screen width: 95.4 mm (the average of SNAKE (84.6 mm) and CLOSER (106.2 mm)).

The distance from the center of the screen to the center of the camera: 37.62 mm (the average of SNAKE (34.38 mm) and CLOSER (40.86 mm)).

7.2. Converting Between Virtual and Real Spaces

Figure 7-1. Left: Real Space Frame of Reference; Right: Virtual Space Frame of Reference

Virtual Space    Real Space    Frame of Reference

The frames of reference in real space and virtual space were defined as shown in Figure 7-1. In both frames of reference, the origin is the center point of the screen.

Assume that the orthogonal projection of the camera position on the window is the center of the window.

The following scale is used for converting the distance from real coordinates to virtual coordinates.

Wwindow is the width of the window in virtual space,

Wviewport is the width of the corresponding viewport in real space.

7.3. User Position

Xlefteye and Xrighteye are defined as the positions of the user's eyes in real space. These positions are only known by their angular tangents.

Assuming that the user is placed at optimal distance, where the 3D effect is best perceived, the user’s eye positions can be extrapolated.

These positions can be broken down into a user position Xuser and an inter-eye vector ⊿eyes (the vector from the left eye to the right eye).

The unit vector in the direction of ⊿eyes is called δeyes.

The position of the user is also represented as a displacement X′user from the standard position.

7.4. Computing the Distance Between Cameras

I is the distance between the cameras for the left and right images.

This distance is equal to the realistic inter-camera distance Irealistic when configured for realism. It can be computed from the distance between eyes, Ieye..

7.4.1. Computing Wide FOV

If the camera distance is not at the ideal distance (wide FOV configuration), the distance between cameras must be scaled down with the factor.

dwindow is the distance between the window and the camera, computed as an interpolation between the distance specified by the developer, dwindow base, and the standard distance dideal in virtual space.

ƒ realistic is the realistic FOV factor.

7.4.2. Computing the Parallax Distance Limit

To guarantee the comfort of the user, the developer can specify a parallax distance limit Plimit and ensure that this limit is not exceeded. A maximum inter-camera distance Imax is derived from the following constraints.

dfar is the depth of the far plane, derived from the value of dfar base specified by the developer.

7.4.3. Inter-Camera Distance Factor

The final inter-camera distance I is used for rendering.

The inter-camera distance factor  ƒI, which represents how much the realistic distance between cameras has been scaled down, can be derived from I.

7.5. Computing the Central Camera Position

Let Xleftcam and Xrightcam be the positions of the cameras for the left and right eyes in the virtual space frame of reference. The center point between the two cameras is defined as Xcam.

The reference camera position, Xcamref, lies on the z-axis, at the standard distance in virtual space.

Xcam is obtained by calculating the user's displacement to this reference camera position.

ƒ amplitude is the dynamic perspective amplitude factor.

kfov motion is the amplitude factor computed from the wide FOV motion factor.

clamp(X'user) is the user displacement, clamped to the maximum detectable user displacement.

7.6. Computing Final Eye Camera Positions

The final positions of the eye cameras are computed by displacing both cameras from the central camera position. This computation can include or exclude the tilt parameter.

7.6.1. When Tilt Is Enabled

7.6.2. When Tilt Is Disabled


CONFIDENTIAL