%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\chapter{Integrated Virtual Environments}\label{chapter:vr}

This chapter discusses the basics of Virtual Reality and describes
the various hardware and software available to create an Integrated
Virtual Environment (IVE). Potential applications of IVE in future
Air-Traffic Control systems are also discussed here.

\section{Virtual Reality}

\subsection{Definition}

Virtual Reality (VR) represents a Human-Computer Interface (HCI)
technology that is designed to leverage our natural human capabilities.
Today's familiar interfaces--the keyboard, mouse, monitor, and the
Graphical User Interface force us to adapt to working within
tight, unnatural, two-dimensional constraints. VR changes that by
allowing the user to interact with real-time 3D graphics in a more
intuitive and natural manner. This approach enhances our ability to
understand, analyze, create and communicate. VR is a way for humans to
visualize, manipulate and interact with computers and extremely complex
data. 

However, the term Virtual Reality is often considered to be unsuitable
since it happens to be an oxymoron consisting of contradictory terms.
Some other terms that have been used to describe work in this field
include Virtual Environments (VE), Synthetic Environments, Artificial
Reality, and Simulator Technology.

A VR system that interactively simulates a particular environment
or scenario in real-time is termed an IVE. An IVE lets the user
experience the data directly. It generates an interactive simulation by
providing the user a graphics representation of a virtual environment
via an output device. Today's advanced interfaces let the user look
and move around inside a virtual environment, drive through it, lift
items, hear sounds, feel objects, and in other ways experience graphical
objects and scenes much as one might experience objects and places in
the physical world. As a result, VR serves as a problem-solving tool
that lets us accomplish what was previously deemed impossible. It is
also a new medium of communication, and ultimately, an artistic tool.

Wickens and Baker~\cite{wickens} have defined VR as incorporating
the following five features,
\begin{enumerate}
\item The system should be setup for three-dimensional viewing using
perspective transforms and/or stereoscopic displays.

\item The display should be dynamic as such a display appears more
realistic than a series of static images of the same geometry.

\item The system should support closed-loop interaction where the user
is the active navigator as well as the observer.

\item The system should have an inside-out (ego-referenced) frame of
reference where the image of the VE displayed is from the
point of view of the user's head as it is positioned in the world.

\item The system should support multimodal interaction via several input
techniques and feedback through several sensory modalities.

\end{enumerate}

\subsection{Classification of VR Systems}

VR systems are distinguished based on the way they interface with the user.
Some of the common VR systems are (adapted from Isdale~\cite{vrtypes}):

\begin{itemize}

\item {\bf Desktop VR} or {\bf Window on World Systems (WoW)}:
These systems use a conventional computer monitor to display the
virtual world. This is sometimes called ``Desktop VR'' or a ``Window on
a World'' (WoW). This is one of the earliest concepts that traces its
lineage back through the entire history of computer graphics. In 1965,
Ivan Sutherland laid out a research program for computer graphics in
a paper called ``The Ultimate Display''~\cite{sutherland65} that has
driven the field for the past three decades.

\item {\bf Video Mapping}:
This is a variation of the WoW approach that merges a video input of the user's
silhouette with a 2D/3D computer graphic. The user watches a monitor that
shows their body's interaction with the world. This concept is used
in popular computer games such as Doom and Quake.

\item {\bf Immersive Systems}:
The ultimate VR systems completely immerse the user's personal viewpoint
inside the virtual world. These {\em immersive} VR systems are often
equipped with a Head Mounted Display (HMD). The HMD is a helmet or a
face mask that holds the visual and auditory displays. The helmet may
be free ranging, tethered, or it might be attached to some sort of a
boom armature. A variation of the immersive systems use multiple large
projection displays to surround the user in a ``cave'' or room with
the virtual world projected on the walls from the user's perspective.
An advantage of this approach is that other viewers can share this
environment.

\item {\bf Telepresence}:
Telepresence~\cite{telepresence} is a variation on visualizing complete
computer generated worlds. This technology links remote sensors in the
real world with the senses of a human operator. The remote sensors
might be located on a robot. Fire fighters use remotely operated
vehicles to handle some dangerous conditions. Surgeons are using very
small instruments on cables to do surgery without cutting a major hole
in their patients. The instruments have a small video camera at the
business end. Robots equipped with telepresence systems have already
changed the way deep sea and volcanic exploration is done. NASA plans
to use telerobotics for space exploration. There is currently a joint
US/Russian project researching telepresence for space rover exploration.

\item {\bf Augmented/Mixed Reality Systems}:
Merging of Telepresence and Virtual Reality systems gives the Augmented
Reality systems~\cite{ar}. Here the computer generated inputs are merged
with telepresence inputs and/or the users view of the real world. A
surgeon's view of a brain surgery is overlaid with images from earlier
CAT scans and real-time ultrasound. A fighter pilot sees computer
generated maps and data displays inside his fancy helmet visor or on
cockpit displays.

\item {\bf Fish Tank Virtual Reality}:
The most pervasive display ``fixture'' is the conventional computer
monitor which can be augmented to view stereoscopic, three dimensional
environments as well as the more traditional interfaces. Such an
immersive effect obtained by using a pair of stereographic Liquid
Crystal Display (LCD) shutter glasses attached to a mechanical head
tracker to look at the display on the monitor is referred to as
``fish-tank'' VR, as it is analogous to looking through the screen
into another environment. The resulting system is superior to simple
stereo-WoW systems due to the motion parallax effects introduced by
the head tracker. However, because of its limited field of view and
poor sense of immersion, it has been generally ignored by most Virtual
Reality researchers.

\end{itemize}

VR has become a popular field of study in recent years. Books by
Stuart~\cite{vrbook1} and Vince~\cite{vrbook2} discuss the various
intricacies and applications related to VR from the extensive literature
that has been developed.

\section{VR Hardware}

\subsection{Input and Tracking Devices}

There are a variety of input and tracking devices available
for VR systems. Most can easily be added to an existing VR
installation like a CAVE or a RAVE. Various motion trackers,
gloves, wands, 6D spaceballs, force/haptic feedback device and 3D
digitizers are just a few examples of these devices. Motion tracking
devices are an important part of VR hardware as they automatically
determine the viewer and eye location and adapt the display perspective
accordingly. They also offer an easy and intuitive way of navigation in a
virtual environment by providing velocity vectors of the user's motion
to the simulation software.
Tracking technologies are broadly classified as~\cite{vrbook1}:
\begin{enumerate}

\item {\bf Mechanical tracking systems}: These systems are physically
connected to the user and measure the user's position mechanically
using the jointed linkages. For example, Goniometers are used in Sutherland's
HMD system~\cite{goniometer}, and FakeSpace Systems uses a BOOM (Binocular
Omni-Orientation Monitor) system. Although these systems are responsive
and accurate, they restrict the movement of the user due the presence of
rigid linkages.

%\myfigureW{figs/boom.ps}{boom}{7cm}
%{FakeSpace System BOOM 3C~\cite{fakespace}}

\item {\bf Magnetic tracking systems}:
These systems are based on alternating current (AC) emitters or direct
current (DC) emitters. The more commonly used AC systems typically have
three electromagnetic coils that are wound around mutually perpendicular
axes on ferrite cores on both the emitters and the sensors. When a
current is sent to the three coils of the emitter in sequence, a
magnetic field is generated which in turn generates currents in the
coils of the sensor. The strength of the current generated depends on
the distance between the sensor and the emitter. The nine currents
induced during this three-state cycle are then processed using an
algorithm to calculate the position and orientation of the sensor with
respect to the emitter. Since the sensor is usually connected only via
a thin wire and the range of the emitter is at least 8-10 feet, there
is a lot more room for user movement as compared to the other tracking
systems. Magnetic tracking systems are therefore the most widely-used
tracking systems for virtual environments. The Flock of Birds from
Ascension Technology~\cite{fob} is an example of one such popular system.

\item {\bf Acoustic tracking systems}: These systems typically
use ultrasonic frequencies for determining the position of the sensor.
The three main approaches to acoustic tracking are time of flight, time
delay, and phase-coherent systems. Acoustic waves, which travel at the
speed of sound (approximately $347$ m/s), are generated in acoustic
trackers by an emitter. The most commonly used time-of-flight systems
emit acoustic waves in pulses at known times from the emitter, and
measure the time it takes takes for the waves to reach the sensor. This
measured time is used to compute the distance between the emitter and
the sensor. By using three emitters spread in space, the three different
distances of the sensor from each of the emitters is used to compute the
exact position of the sensor. However, the line of sight between the
emitters and the sensor must be maintained to get the correct position,
as reflection of acoustic waves by hard walls and other surfaces can
induce significant errors. Power Glove by Nintendo/Mattel and 3D
Mouse by Logitech are examples of popular acoustic tracking systems.

\item {\bf Optical tracking systems}:
Optical tracking makes use of small markers on the body, either flashing
infrared LEDs or small infrared-reflecting dots. A series of two or
more cameras surround the subject and pick out the markers in their
visual field. Image processing technology is then used to correlate
the marker positions in the multiple viewpoints and use the different
lens perspectives to calculate a 3D co-ordinate for each marker. Since
the system is computationally intensive, six degree-of-freedom (DOF)
systems of this type are not very common as yet. Most of the systems
operate in a batch mode, where the trajectories of the markers are
captured live, followed by a period of analysis to calculate 3D space
positions from the 2D images. Optoelectric tracker at the
University of North Carolina is an example of such a system.

\end{enumerate}

\subsection{CAVE/RAVE}

The CAVE (Cave Automatic Virtual Environment) is currently the most
popular, as well as sophisticated VR installation for scientific and
artistic projects. It was developed in 1992 by a team headed by Tom
DeFanti and Dan Sandin at the Electronic Visualization Laboratory (EVL)
of the University of Illinois, Chicago~\cite{cruzphd,cave1,cave2} and is now
being produced commercially by FakeSpace Systems~\cite{fakespace}.

The CAVE is a projection-based VR system that surrounds the viewer with
1 to 6 screens. The screens are arranged in
a cube made up of three rear-projection screens for walls and a
down-projection screen for the floor; that is, a projector overhead
points to a mirror, which reflects the images onto the floor. A viewer
wears stereo shutter glasses and a six DOF head-tracking
device. As the viewer moves inside the CAVE, the correct stereoscopic
perspective projections are calculated for each wall. A second sensor
and buttons in a wand held by the viewer provide interaction with the
virtual environment. A diagram of the CAVE environment is shown in
Figure~\ref{fig:cavediagram}. A screenshot depicting a four-walled CAVE in
use is shown in Figure~\ref{fig:cave}. The CAVE has been used for wide
variety of applications, some of them being architectural walkthroughs,
cosmic exploration, fractal exploration, viewing the behavior of
algorithms implemented on parallel machines, and understanding weather
and molecular dynamics~\cite{cave3}.

\myfigureW{figs/cavediagram.ps}{cavediagram}{13cm}
{CAVE diagram (Courtesy EVL~\cite{caveguide})}

\myfigureW{figs/cavesnapshot1.ps}{cave}{10cm}
{Screenshot of a CAVE application (Courtesy: SARA, Netherlands)}

\myfigureW{figs/rave_debbie.ps}{rave}{10cm}
{Snapshot of the IHPCA RAVE}

The RAVE (Reconfigurable Automatic Virtual Environment) and Immersadesk are
cheaper alternatives to the CAVE. The RAVE is reconfigurable and can
consist of one to four projected screens, whereas Immersadesk consists
of a single projected screen. HMDs, once very popular devices for VR,
are now losing ground to sophisticated displays like RAVEs and CAVEs.
Fig.~\ref{fig:rave} shows a snapshot of the Penn State Institute for
High Performance Computing Applications (IHPCA) RAVE. The IHPCA RAVE
uses the Flock of Birds magnetic tracking system. For the input, a
pair of Crystal Eyes shutter glasses and a wand both fitted with an
electromagnetic sensor are used (Fig.~\ref{fig:wandeyes}). The wand is
the equivalent of a mouse with a joystick and three buttons.

\myfiguretwo{figs/eyes.ps}{figs/wand.ps}{wandeyes}{7cm}
	{Crystal Eyes Shutter Glasses and the Wand (Courtesy Flurchick~\cite{raveinfo})}

\section{VR Software}

Owing to the complexity of VR and the various hardware devices involved
in their creation, specialized software packages and Application
Programming Interfaces (APIs) are essential to make the development of
VR applications easier.

\subsection{CAVELib}

The CAVELib is an API that provides general support for building
virtual environments for various types of immersive displays.
The CAVELib API forms a building block used to create applications for a
variety of virtual environments. It provides functions
that can be used by programmers to create robust programs for virtual
display devices or desktops. CAVELib was originally developed by Dave
Pape of EVL, University of Illinois, and is now marketed commercially by
VRCO~\cite{cavelib}.

CAVELib handles program execution via registered callbacks. CAVE
programs run as a collection of processes which are created and
managed by CAVELib. The programmer does not have to do any process
creation (forking) explicitly. CAVELib configures the display
device, synchronizes processes, draws stereoscopic views, creates a
viewer-centered perspective and provides basic networking between
remote VEs. CAVELib is available for several hardware platforms
and hides all the operating system and display specific code from the
user enabling the development of portable applications that can run
on a wide variety of hardware and display devices. It uses a resource
configuration file that can be modified to change display and input
devices. It automatically generates the right viewing frustum for each
wall and applies it to the scene and also converts the coordinates
from the tracking system (world coordinates) to the coordinate system
of the 3D scene (display coordinates). CAVELib uses processes to
obtain simple parallelization in the calculation process by using one
process for the generation of the projection for each eye of each wall
and another for getting data from the tracking device. For example, a
standard 4-walled CAVE with stereo support (2 eyes) needs 8 projection
matrices and thus 8 processes for rendering each frame of animation.
These processes may need access to common data which are provided
by allocating shared memory. The programmer needs to explicitly
allocate shared memory and set/clear locks. 

CAVELib provides an API to control all its functions, which are mainly
for the query of the tracking system and the input devices. It provides
functions for determining the user's head position and orientation, the
wand position and orientation, as well as the state of the wand buttons
and joystick. It also provides functions for determining the time and
frame-rate. All distributions of CAVELibs are capable of running in
simulator mode. The simulator uses the keyboard and mouse to simulate
head and wand movement, in a non-stereo display on a workstation
monitor. The simulator provides convenience in application development
and testing using a workstation without requiring the use of a VR
device. Figure~\ref{fig:cavelibexample} illustrates a simple CAVELib
application written in C. This application draws a sphere whose radius
oscillates sinusoidally with time.

\begin{figure}[p] 
\begin{small}
\begin{verbatim}
#include <cave_ogl.h>       // CAVELib functions
#include <GL/gl.h>          // OpenGL functions
#include <GL/glut.h>        // GL Utility Library functions
#include <unistd.h>         // For usleep()

double *radius; // Pointer to shared memory

void draw(void)
{
  glClearColor(0.0, 0.0, 0.5, 0.0);
  glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

  glColor3f(0.0, 1.0, 0.0); // Set Green color
  glutSolidSphere(*radius, 30, 30); // Draw a sphere
}

void frameUpdate(void)
{
  *radius = 1.5 * sin(*CAVETime); // Compute radius of sphere
}

int main(int argc, char **argv)
{
  CAVEConfigure(&argc, argv, NULL);
  radius = (double *) CAVEMalloc(sizeof(double)); // Allocate shared memory
  CAVEInit();
  CAVEDisplay(draw, 0); // Register drawing function
  CAVEFrameFunction(frameUpdate, 0); // Register frame update function

  // Poll every 10 microseconds to check if ESCAPE key has been pressed
  while(!CAVEgetbutton(CAVE_ESCKEY))
    {
      usleep(10);
    }

  CAVEFree(radius); // Free shared memory
  CAVEExit(); // Exit
}
\end{verbatim}
\end{small}
\caption{A simple CAVELib program written in C}
\label{fig:cavelibexample}
\end{figure}

VR Juggler~\cite{vrjuggler}, being developed by the Iowa State
University, is another API similar to the CAVELib (albeit open-source).

\subsection{OpenGL}

The CAVELib by itself does not incorporate any function for the
actual graphics programming. To generate the actual graphics seen in
the VR display, a separate graphics API like OpenGL~\cite{opengl}
is required (as can be seen in the {\tt draw()} function in
Fig.~\ref{fig:cavelibexample}). OpenGL is the premier environment for
developing portable, interactive 2D and 3D graphics applications.
Since its introduction in 1992 by Silicon Graphics Inc. (SGI), OpenGL
has become the industry's most widely used and supported 2D and 3D
graphics API, bringing thousands of applications to a wide variety of
computer platforms. OpenGL fosters innovation and speeds application
development by incorporating a broad set of rendering, texture mapping,
special effects, and other powerful visualization functions. Owing to
the standardization of OpenGL, developers can leverage the power of
OpenGL across all popular desktop and workstation platforms, ensuring
wide application deployment. Among the drawbacks, OpenGL is not
object-oriented and is not scene-graph based. With the combination of
OpenGL and CAVELib, it is possible to create powerful VR applications
in the CAVE environment. The CAVELib does most of the configuration and
initialization tasks while the OpenGL handles the display function.
Mason et al.~\cite{openGLbook} is a very popular book to learn OpenGL
programming.

\subsection{Other High-level Software for VR Applications}

While CAVELib and OpenGL provide the basic functionality for the
development of VR applications, they are usually not sufficient. They
lack important software components like one for hierarchical
scenegraph rendering, which is necessary for efficient rendering of
complex scenes commonly found in most VR applications. SGI's IRIS
Performer is an OpenGL-based scenegraph rendering library and is being
extensively used for creating VR applications. However, a limitation
of using Performer is that it only works under IRIX (SGI's proprietary
operating system) and Linux operating systems.

There are also several high-level software development systems available
for building high-performance, real-time, integrated 3D applications
for scientific and commercial use, some of them being: WorldToolKit,
MR Toolkit, dVISE and DIVE. WorldToolKit (WTK) by Sense8
Corporation~\cite{sense8} is the most popular amongst them all.
WorldToolKit has the function library and end-user productivity tools
needed to create, manage, and commercialize VR applications. With the
high-level API, the programmer can quickly prototype, develop, and
reconfigure the applications as required. WorldToolKit also supports
network-based distributed simulations, CAVE-like immersive display
options, and the industry's largest array of interface devices, such
as HMDs, trackers, and navigation controllers. The system started
out as a 3D modeling and simulation package in 1990, but has now
matured into a full-fledged VR development toolkit. WorldToolKit is an
object-oriented software toolkit that greatly simplifies programming
of visual simulation and virtual reality by offering an extensive and
versatile C/C++ API. WorldToolKit contains more than $1,100$ high-level
function calls for developing, configuring, and controlling real-time
3D simulations. WorldToolKit is unique in that it provides a truly
cross-platform development and delivery capability. WorldToolKit
automatically optimizes graphics performance based on functions unique
to each platform, to maximize the graphics hardware performance.
WorldToolKit also integrates all of the essential elements, including
high-performance graphics, intuitive interface components, 2D or
spatialized 3D sound, support for multiple database and media formats,
and a comprehensive list of input/output peripherals. The system
is available for a wide range of platforms running UNIX, and has a
large and growing user base. All the above-mentioned toolkits work in
conjunction with OpenGL for rendering the graphics.

CAVERNsoft (CAVE Research Network software)~\cite{cavernsoft} is a
toolkit for creating high-performance tele-immersive applications
being developed by EVL, the inventors of CAVE. CAVERNsoft is designed
to enable the rapid construction of tele-immersive applications and
to equip previously single-user applications with tele-immersive
capabilities. It provides networking and database functionality
needed in a virtual reality system. CAVERNSoft toolkit allows
scientists to steer a program from a virtual reality system without
requiring any modification to the program. It enables interactive
and immersive analysis of simulations running on remote computers.
CAVEStudy~\cite{o_steering2} is another toolkit built on top of
CAVERNSoft which allows interactive and immersive analysis of a
simulation running on a remote computer. However, both CAVERNSoft and
CAVEStudy depend on Performer for rendering, and are hence limited to
SGI IRIX and Linux platforms.

\section{IVE Systems for Air-Traffic Control (ATC)}

According to Federal Aviation Administration (FAA) projections
(Table~\ref{table:faaprojection}), the air traffic is expected to almost
double by the year 2015. If, by then, the U.S. air transportation
system does not change in any significant way, there could be a major
aviation accident every seven to ten days. Air-traffic control related
delays already cost the airline industry an estimated US \$5.5 billion
annually. The FAA has for the past two decades been scrambling to
replace, modernize, and improve the ATC.
% http://www.rppi.org/transportation/ps166.html for $5 Billion

\begin{table}[h!]
\centerline{
\begin{tabular}{|c|c|c|c|c|} \hline
{\bf Year}&{\bf Passengers}&{\bf Passenger Miles}&{\bf Jet Aircraft}&{\bf Domestic Departures} \\ 
{\bf }&{\bf  (Millions)}&{\bf (Billions)}&{\bf in Fleet}&{\bf (Millions)} \\ \hline
2000 & 639.8 & 661.8 & 5610 & 7.4 \\ \hline
2005 & 767.4 & 830.3 & 6903 & 8.6 \\ \hline
2010 & 931.1 & 1041.6 & 8360 & 9.9 \\ \hline
2015 & 1139.7 & 1306.2 & 10034 & 11.5 \\ \hline
\end{tabular}}
\caption{Commercial Air Carriers FY 1999-2010 (Source: FAA~\cite{faa})}
\label{table:faaprojection}
\end{table}

The U.S. air-traffic control system is organized around three types
of facilities: {\em airport towers}, which monitor aircraft on the
ground and give take-off and landing clearances; {\em terminal
radar approach control (TRACON) facilities}, which handle aircraft
ascending and descending to and from airports; and {\em enroute
centers}, which handle aircraft flying between airports at the higher
altitudes~\cite{atc1}. ATC is a highly demanding human-machine system.
With the rapid progress in real-time processing of speech and images,
together with database management, an intelligent system combining
satellite navigation, automated speech synthesis and recognition is
expected to be introduced to replace some human functions in the
foreseeable future~\cite{atc2}. The next logical step for the ATC would
be to transform itself into an IVE which
simulates a complete airport.

The FAA has declared that the existing ATC system will transition to
a new system known as ``free flight''. While free flight has not
been precisely defined in a way that is universally accepted, the basic
concept is to reduce the centralized control in the existing system to
allow pilots greater freedom in choosing and altering routes, leading
to reduced costs and increased capacity. In today's system, controllers
issue commands and pilots follow them. Pilots wishing to change their
routes must issue requests and receive clearance from controllers. The
control and responsibility for safe operation is centralized in the
controllers. In contrast, free flight will allow pilots to change their
routes in real-time, with controllers intervening only when necessary
to ensure adequate separation. In some definitions of free flight,
pilots themselves are responsible for avoiding conflicts in simple
situations~\cite{atc3}. Azuma et al.~\cite{atc3,atc4,atc5} have worked
extensively on advanced human-computer interfaces and visualization
tools to assist in the free flight air-traffic management. They
have created a VR-based test-bed using C and WorldToolKit 7 for the
visualization of conflicts that may occur in a free flight scenario.
While their work may look similar to a part of the proposed work in this
thesis, the fact that they do not deal with any vortex-wake
problem whatsoever, makes it actually different.

To facilitate this and to ease the pressure on the ATC, NASA has also
been working with a team of seven industry partners to help develop
the ``Highway In The Sky'' (HITS) system~\cite{nasa_HITS}. With this IVE
system, pilots will follow a preprogrammed destination on a ``virtual
highway'' in the sky, drawn on a highly intuitive, low-cost flat panel
display. This display might even be a part of the cockpit window,
thus augmenting the real display seen through the glass with the
computer-generated path superimposing it. In addition to transforming
the cockpits, the technology developed by the team will redefine the
relationship between pilots and the ATC and fundamentally change the
way future general aviation pilots fly. This technology is expected to
significantly increase freedom, safety and ease-of-flying by providing
pilots with affordable, direct access to information needed for future
free flight air-traffic control systems. Pilots will have the
ability to safely determine their routes, speeds and proximity to
dangerous weather, terrain and other airplanes. This display system
and other equipment will provide intuitive situational awareness
and enough information for a pilot to perform safely, with reduced
workload, in nearly all weather conditions. A multifunction display of
position navigation, terrain map, weather and air-traffic information is
expected, in addition to the digital radios which will send and receive
flight data in real-time.

NASA's FutureFlight Central~\cite{futureflight} is a national ATC
test facility dedicated to solving the present and emerging capacity
problems of the nation's airports. Designed in collaboration with
the Air Transportation Association (ATA), FAA, National Air-Traffic
Controllers Association (NATCA) and Supervisors Committee (SUPCOM),
NASA FutureFlight Central is operated and managed by NASA personnel,
including experts in ATC, computer graphics, human factors and
large-scale simulations. The two-storey facility is an IVE
offering a 360-degree full-scale real-time
simulation of an airport (Figure~\ref{fig:futureflight}), where
controllers, pilots and airport personnel can interact to optimize
operating procedures and test new technologies.

\myfigureW{figs/futureflight.ps}{futureflight}{12cm}
{An IVE system for ATC: NASA FutureFlight Central's tower~\cite{futureflight}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
