International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B2. Istanbul 2004
À further development was the “Scene Graph” (Strauss and
Carey, 1992; also Rohlf and Helman, 1994) which took this
hierarchical description of the coordinate systems of each object
and built a tree structure that could be traversed from the root,
calculating the updated transformation matrix of each object in
turn, and sending the transformed coordinates to the graphics
output system. While other operations may be built into the
scene graph, its greatest value is in the representation of a
hierarchy of coordinate systems. These coordinate systems are
applied to all graphic objects: to geometric objects, such as
ships, or to cameras and lights, which may therefore be
associated with any geometric object in the simulated world.
Such a system allows the population of the simulated world
with available graphic objects, including geometric objects,
lights and cameras (or observers). An object (with its own
particular coordinate system used to define it) is taken from
storage and then placed within the world using the necessary
translation and rotation. If it was created at a different scale, or
in different units, then an initial matrix is given expressing this
in terms of the target world coordinates. Geometric objects may
be isolated objects built with a CAD type modelling system or
they may be terrain meshes or grids — which may require some
initial transformation to give the desired vertical exaggeration.
In most cases world viewing is achieved by traversing the
complete tree, and drawing each object in turn, after
determining the appropriate camera transformation for each
window. Usually an initial default camera, and default lighting,
is applied so that the model may be seen!
The system described so far creates and views the world from
different perspectives. It is designed for full 3D surface
modelling, where the surface is defined by a "triangle soup" or
the equivalent, composed of unrelated triangles. While it is
often desirable for other operations to preserve the topological
connections between the components (vertices, edges, faces) of
an object, this is not necessary for the basic visualization. For
terrain modelling and viewing, for example, it is usually
desirable to preserve the topology in order to permit simulation
of runoff, etc. as described later.
In addition, objects may themselves move, and the *Animator"
component is used to update the appropriate transformation
matrix prior to redrawing the scene. Because of the scene graph
structure, this mechanism may be used to animate the change of
camera view (the observer) which may be associated with some
position with respect to a moving object (a pilot on board a
boat, for example).
In the real world, objects may not occupy the same location at
the same time. There is no built-in prohibition of this within the
usual graphics engine. For the Marine GIS we use the kinetic
Voronoi diagram as a collision detection mechanism in two
dimensions on the sea surface, so that ships may detect
potential collisions with the shoreline and with each other.
Shoreline points are calculated from the intersection of the
triangulated terrain with the sea surface, which may change at
any time. The Animator is used to change the transformation
matrix of each moving object. It may also be used to change its
properties, such as colour. In the case of lights or cameras the
view direction may change without changing the location — e.g.
for a lighthouse.
The heart of the visualization system “GeoScene” is the
Graphic Object Tree, or scene graph. This manages the spatial
(coordinate) relationships between graphic objects. These
graphic objects may be drawable (such as houses, boats and
triangulated surfaces) or non-drawable (cameras and lights).
Redrawing the whole simulated world involves starting at the
root of the tree, incorporating the transformation matrix, and
drawing the object at that node (if any). This is repeated down
the whole tree. Prior to this the camera position and orientation
must be calculated, again by running down the tree and
calculating the cumulative transformation matrix until the
selected camera was reached. This could be repeated for several
cameras in several windows. This process must be repeated
after every event that requires a modified view. These events
could be generated by window resizing or redrawing by the
system, by user actions with the keyboard or mouse, or by
automated operations, such as ship movements.
5. DESIGN OF A MARINE GIS
Our idea of Marine GIS was a system working with several
two-dimensional Voronoi/Delaunay meshes. One of these
meshes should represent the bathymetric model — the land and
the sea-floor, and a second would be a kinetic moving-point
Voronoi diagram to represent the surface of the sea, with a
static coastline and boats as moving points. The second mesh
would be dependent on the first, to calculate and generate
coastline points, when the water level is given, and to check the
depth at any location.
SCE newsdglo (S57) E S
Model Ede cocci Ven eran 557 Others is : ;
Ua ZExaggrztion El [Par = a fi S doce. ga | 2
zu] A [Fm CE en | Best {Factorf [7
s]
!
4
{Position (WGSB4): 22913.170 N 114°8,9994 E i i
Figure 1: MGIS Model - Graphic User Interface
After implementing the graphic engine, we had to design the
structure for our Marine GIS. It had to work with the previously
described package and extend it by adding new classes suitable
for specific Marine GIS purposes. had to implement a
number of new graphic objects to represent the bathymetric
model, the sea surface, navigation markers and boats. Through
tests and experiments involving human perception and natural
habits of manipulating objects in space, we implemented
system which allows us to perform all needed operations, and
which is easy to learn. The system allows us to manipulate the
entire scene, like a kind of interactive map in our hands, or to
see the scene from a boat-related perspective, using three
different points of view: on board, from behind and above, and
from under the boat. The observer can look around, and observe
the continuously changing surroundings. The system also
allows for interactive real-time boat manipulation and
navigation, regardless of the chosen display mode.
Intern
Boats
They
user. /
move
like a
be ma
boat «
chang:
point.
There
(Figur
one of
in af
moves
and-at
board.
boat tc
move.
Figur:
When
the m:
vessel
The. 5
surface
coastli
can we
throug
detecti
Figur