From: esz001@cck.coventry.ac.uk (Will Overington)
Newsgroups: alt.uu.future,alt.education.distance
Subject: MATERIAL Virtual-worlds: The EUTO system, Unit 2
Date: 18 Aug 92 10:25:59 GMT
Organization: Coventry University, Coventry, UK


MATERIAL Virtual-worlds: The EUTO system, Unit 2

18th August 1992

This learning material, newly written, contains the ideas of the
author.  It may or may not become a consensus, standard, view.
Study it, if you will please, in a spirit of research enquiry,
not as a statement of the agreed state of the art.

Rotation Point.

A picture in the EUTO system starts at the point
(x, y, z) = (0, 0, 0) and then occupies a contiguous volume with
non-negative coordinates that the picture designer chooses.

However, in manipulating a EUTO picture to produce two
dimensional views, the picture designer may wish to state a point
in the three dimensional space that he or she regards as the
point about which rotations should take place.  This is herein
called the Rotation Point.  A Rotation Point is specified by use
of the characters X, Y and Z.  Suppose, for example, that the
Rotation Point is to be at (x, y, z) = (100, 200, 50).  The
sequence 100X200Y50Z is included at the start of the file, before
any of the voxels are specified.

Palette Changes.

The EUTO system uses 16 colours, specified using the letters a
through to o for colours 1 to 15 and p for colour 0.  In order to
change the hue of any colour, the characters R, G and B are used,
to represent red, green and blue components.  The numbers used
correspond to colours on a VGA display accessed using the
SetRGBPalette command of Turbo Pascal 6.0.  Suppose that one
wishes to set colour e as 32 red, 40 green and 44 blue.  The
sequence 32R40G44B>e is included at the start of the file, before
any of the voxels are specified.

----

The Rotation Point and Palette Change features are
straightforward in what they are doing, how they are used and why
they are provided.  The features that follow are equally
straightforward in what they are doing and how they are used, but
are rather more complicated as to why they are provided.

Hot Voxels.

A voxel may be specified as a Hot Voxel, with a number tag also
include if so desired.  As the colour of a voxel is used to move
the point being considered one unit in the z direction, the fact
that a voxel is a Hot Voxel is specified by the letter H
preceding the colour letter of the voxel.  A number may precede
the letter H if desired, otherwise the presumed number of 0 is
assumed to represent that no number tag is intended.  A voxel of,
say, colour c, may be represented as a Hot Voxel with no number
tag intended by Hc and a voxel of, say, colour f, may be
represented as a Hot Voxel with a number tag of 3 by 3Hf being
used.

Unresolved Columns.

A voxel column usually takes the form of numbers and letters,
followed by a z character.  For example, abcz, 100az, a10tfz and
so on.

However, the EUTO system also allows the use of the u character
to allow a vertical column to contain two or more entirely
separate sequences of voxels.  The resolution of which sequence
to use is made when displaying the picture.  The separate
sequences are introduced by the letter u preceded by a number
tag, such as 2u for example.  In effect, if a voxel is read in a
vertical column before a u character is read for that column,
then 0u is implicitly regarded as having been received.  The
following examples are all valid vertical columns.

For example, abc1uaaaz, 1u100a2ubz, 2ua10tf5uz, 3ug79uabHcdez,
4uaaaaa0ubbbbbz and so on.

The resolution of which sequence to use may vary with the viewing
angle and may be a function of the viewing point and the point
viewed.  This feature may be thought of as having its roots in
paralleling the way that holograms can have small security images
hidden inside them and its reason for existing being in the
problem of how one expresses such exotic theoretical pictures as
the two rooms joined via a meadow and standing in the meadow
looking through a free-standing doorway into the first room, then
walking round the doorway and looking into the second room
through the free-standing doorway.  I envisage a EUTO picture
with 1u sequences for room 1, 2u sequences for room 2 and 3u
sequences for the meadow.  Each voxel column will contain two
sequences, either a 1u sequence and a 3u sequence, or a 2u
sequence and a 3u sequence.  In displaying a view, for each
voxel, you know your viewpoint, you know where the voxel is, do
you see it through the doorway or not through the doorway?
Newsgroups: alt.uu.future