Mark Carlson*

The Final Navigation Program can be found here.
Figure I:
A run through the default circuit.
What does the average person do when they are set in front of a computer and told they can take a virtual tour of their dream house? They see a beautifully rendered house on the monitor in front of them, but they probably have no idea how to move in the virtual world.
How do people navigate 3D data? How can we make it easier for them? This project will study how people navigate a path using a mouse. Figure I depicts one complete run that I did through the default map. Each dot represents my virtual placement in the map; a new dot is drawn even tenth of a second[†].
The goal of my research is to find factors that affect user navigation of the circuit. In particular I am studying how varying wall height, mouse sensitivity, distance to floor, collision radius[‡], and path prediction can affect navigation time and accuracy.
Once factors are identified I will run several user tests in order to test my hypotheses.
I have in place now a navigation program (Navigate) that loads a map, and a set of initial conditions. Once the program is started the users movement is recorded over time. When a wall is struck the user is sent back to the starting point and a new run of data is started.
I also have a program that creates pictures like Figure I that represent the users movement over time.
At this writing, Navigate can vary wall height, mouse sensitivity, collision radius, and user height. What can’t yet be done is path prediction.
I do plan a simple path prediction scheme that will take the users current speed and direction and display a future path of where they will be if they stay on that course. My hope is that with path prediction the circuit will be easier to navigate.

Figure II:
Navigate running with four varying wall
heights: (a) slightly below eye level, (b) at eye level, (c) far below ground
level, and (d) far above eye level.
I have already observed varying difficulty in navigating the circuit with variations in wall height only[§]. Figure II(a) seems to be the easiest to navigate through. With the wall height slightly below the users eye level, I was able to use the walls themselves for distance queues, and I was able to see the rest of the circuit well enough to predict where and when my next turn should be.
It appears to me that using the wall to judge distance is by far more important then being able to see the rest of the map. I say this because with a wall extending far below ground level (Figure II(c)) the circuit is difficult to navigate. In fact, of all the wall heights tested, far below is the most difficult to navigate.
Using a wall height exactly at eye level (Figure II(b)) allowed me to test what would happen if the rest of the circuit could not be seen. This configuration is harder than (a) to navigate, but much easier than (c).
My initial thought about using the wall height far above eye level, like in Figure II(d), was that it would be just as difficult as the wall height at eye level. But after running through the circuit several times, it is my feeling that the tall wall is actually harder to navigate. I observed a sort of trapped feeling with the tall wall, which seemed to cause hesitation and jittering around corners.
[*] College of Computing, Georgia Institute Of Technology, Atlanta, GA. mark.carlson@ieee.org
[†] The time between dots depends on the collision radius of the user
[‡] This can also be though of as user size, or width
[§] It should be noted that I am the only user of the program; at this writing no outside user studies have been done.