APPENDIX C
VRML WORLDS AS USED IN EXPERIMENT  
         This appendix contains, for each of the six worlds used in the experiment, an image of the world as first seen by the participant, followed by the code.  For the two pre-programmed fly-by worlds, the image is a screen shot taken during the map rotation.  Each world is initially presented from the “South” viewpoint.  At each of the four corners of the map is a legend labeled with “(100)” to represent height.
The cylinder labeled “X” is used as a target to estimate those cylinders labeled “1” to “10.”  The remaining cylinders are included as distractors.  After being told that the height of the target cylinder represents a population of 100 people, the participants are told to estimate the heights of the remaining labeled cylinders.

Flat World, Static View

Figure C.1.  View of flat world, static view

Code of Flat World, Static View
 
(Excluded from web site version.  Please contact me for further information.)


Flat world, pre-programmed fly-by

Figure C.2.  View of flat world, pre-programmed fly-by (while rotating)

Code of Flat world, pre-programmed fly-by
 (Excluded from web site version.  Please contact me for further information.)


Flat World, Participant Controlled

Figure C.3.  View of flat world, participant controlled

Code of Flat World, Participant Controlled
 (Excluded from web site version.  Please contact me for further information.)


3D Terrain World, Static View

Figure C.4.  View of 3D terrain world, static view

Code of 3D Terrain World, Static View
 (Excluded from web site version.  Please contact me for further information.)


3D Terrain World, Pre-Programmed Fly-by

Figure C.5.  View of 3D terrain world, pre-programmed fly-by (while rotating)

Code of 3D Terrain World, Pre-Programmed Fly-by
 
(Excluded from web site version.  Please contact me for further information.)


3D Terrain World, Participant Controlled

Figure C.6.   View of 3D terrain world, participant controlled

Code of 3D Terrain World, Participant Controlled
 (Excluded from web site version.  Please contact me for further information.)


PROTO WhereAmI

Code

 #VRML V2.0 utf8  

# Jeffrey Esmond
# University of Hawai`i at Manoa Geography Department
# VRML Experiment for Master's Degree
 
# Set up a prototype which prints out the time, orientation and
# position of every movement while the participant is navigating
 
# This proto is applicable only to Participant Controlled Worlds 3 & 6
 
PROTO WhereAmI []
{
   DEF Where ProximitySensor {  size  1000 1000 1000 }
   DEF WhereDump Script {
     eventIn       SFVec3f         position
     eventIn       SFRotation      orientation
 
     url "javascript:
     function round(number,X) {
         // rounds number to X decimal places, defaults to 2
         X = (!X ? 2 : X);
         return Math.floor(number*Math.pow(10,X))/Math.pow(10,X);
     }
     function position (value) {       
         today = new Date();
         print (today.getHours() + ':' + today.getMinutes() + ':'
         + today.getSeconds() + ',' + ' Position (X Y Z) = ,'
         + round(value[0],6) + ', ' + round(value[1],6) + ', '
         + round(value[2],6));
     }
     function orientation (value) {
         today = new Date();
         print (today.getHours() + ':' + today.getMinutes() + ':'
         + today.getSeconds() + ',' + ' Orientation (X Y Z R) = ,'
         + round(value[0],6) + ', ' + round(value[1],6) + ', '
         + round(value[2],6) + ', ' + round(value[3],6));
     }
    "
  }
  ROUTE   Where.position_changed          TO      WhereDump.position
  ROUTE   Where.orientation_changed       TO      WhereDump.orientation
}