Meet the Metaphors
World in the Hand
In last exercise, you have been, asked to move the
viewpoint around the centre of your Local node, looking always towards
the centre of the basis, and more precisely towards a house placed in
This way to move around the Viewpoint is usually
known as the "world in the hand" Metaphor.
A Metaphor is a way to explain to users of a program
how to use its interface. You say "do it as if you where
doing something else that you already know". The most well-known one
is of course the "Desktop" 2D Metaphor invented by Xerox, developed and
popularised by Commodore and copied by Microsoft and Apple. It says that
to access the information available in a computer, you should have the same
behaviour as in front of a real desktop. You could open a "folder"
from which you get a "file" that you could "open", "write" into and "close"...
As 3D world is more difficult to work with than 2D
one, and there are lots of metaphors around to represent the way to deal
with that world.
The Flying metaphor
Can roll, pitch and yaw the view and can move forwards (along
the -ve z' axis).
Can move up, down, left, right, forward and backwards relative
to local heading (ie along the x', y' and z' axes).
Exercise 8 : Implement Flying Plane or Flying Saucer Metaphor
Useful vectors such as x', y' and z' are stored in the Transform3D object.
The first 3 rows of the first column represent the x' axis
The first 3 rows of the second column represent the y' axis
The first 3 rows of the third column represent the z' axis
the negative z' axis is the direction in which the view is facing.
On the Ground metaphor
The Walking metaphor
The driving metaphor
The be yourself and move around metaphor
... the virtual reality metaphor
What about interaction (required for the implementation of certain metaphors)?
A ray between the mouse and your eye
The magic wand
This is just selection... what about manipulation of objects in the scene...
the object in a cylinder
the object in a sphere