From: esz001@cck.coventry.ac.uk (Will Overington)
Newsgroups: sci.virtual-worlds
Subject: TECH: Voxels EUTO Unit 2; DESIGN :Doors between Virtual Worlds
Date: 18 Aug 92 10:17:24 GMT
Organization: University of Washington
Originator: hlab@milton.u.washington.edu



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?