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



MATERIAL Virtual-worlds: The EUTO system, Unit 1

27th July 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.

This unit introduces a method for expressing three dimensional
pictures in terms of voxels, that is volumetric pixels.  Each
voxel is regarded as being a cube of one opaque colour or as
being both colourless and transparent.  There is no provision at
present for voxels that are both coloured and transparent, for
example coloured glass, due to display problems at the present
state of the art, yet the possibility of such a feature in the
future should be kept in mind.  This method is called the EUTO
system.

The name EUTO comes from the word eutopia, an ideal place or
society, as my design stems from a desire to be able to express
ideas for an ideal society, including buildings, works of art,
computers to log onto and so on, in a computerized format that
can be both used and also published for others to use.

When reading a page of a book written in English, one starts at
the top left corner and moves along a line of text horizontally
to the right, then, at the end of that line, one goes back to the
start of the next line, one line depth beneath the original start
point.  One then proceeds along that line of text horizontally to
the right, and so on.  This order of scanning is also used in
television pictures.

In the EUTO system, the scanning, in three dimensions, is to
start at (x, y, z) = (0, 0, 0) and then to scan upwards in z for
as far as desired; then increase y by 1 and put z back to 0,
which is moving to a position that is at base level, one vertical
column to the right of the previous column.  The end of the
column is signaled using a z character.  This process is then
repeated until as many vertical columns as are desired have been
described.  Thus a sheet of voxels one voxel in thickness and as
large as desired can be described.  The next sheet, with x
increased by 1, regarded as a sheet in front of the previous
sheet, can be started by signaling that the existing sheet is now
complete, by using a y character.  This process can be repeated
until the desired volume is fully described.  An ! character
signals the end of the description of the picture.

The presence of a voxel is given by a lowercase letter, namely an
a character for colour number 1, a b character for colour number
2 and on on up to an o character for colour 15.  A p character is
used for colour number 0, the background colour and a t character
is used for transparent.  The characters are free format and a
RETURN character may be introduced wherever desired, typically
after about each 70 characters.  In addition, a colour code,
(including the t code for transparent), may be preceded by an
integer, thereby making a saving on the number of characters
needed whenever vertical strips of the same colour, or
transparent, are encountered.

For example, 25t15az means 25 voxels that are transparent,
followed by 15 voxels that are of colour a (that is, colour 1)
and then move to y:= y + 1;    z:=0;    and await the next code
character.  Transparent voxels immediately before a z code may be
omited, if so desired.  Thus 25t15a45tz may be expressed as
25t15az for example.

Here is a small example picture, shown as a series of sheets and
also as it may be encoded using the EUTO system.  Please note
that this is a small picture, provided as a teaching example.
Please think in terms of a picture that you might reasonably be
using as being maybe 200 voxels tall, and 400 voxels in the x and
y axes.  The EUTO system sets no limits on size.

This example picture is 7 voxels tall, by 5 voxels in the y
direction by 5 voxels in the x direction.  This is perhaps
somewhat untypical as many pictures will be wider than they are
high, but the EUTO system is suitable for all of them.

Remember, the x = 0 sheet is at the rear of the picture and the
x = 4 sheet is at the front of the picture.

x = 0              ttatt
           ^       ttatt
          z|       ttatt
           |       ttatt
                   ttatt
                   ttttt
         z = 0     ttttt


               y = 0  ->
                      y




x = 1              ttttt
           ^       ttttt
          z|       ttttt
           |       ttttt
                   ttatt
                   ttttt
         z = 0     ttttt


               y = 0  ->
                      y




x = 2              ttttt
           ^       ttttt
          z|       btttb
           |       btttb
                   btatb
                   btttb
         z = 0     bbbbb


               y = 0  ->
                      y




x = 3              ttttt
           ^       ttttt
          z|       ttttt
           |       ttttt
                   ttatt
                   ttttt
         z = 0     ttttt


               y = 0  ->
                      y




x = 4              ttatt
           ^       ttatt
          z|       ttatt
           |       ttatt
                   ttatt
                   ttttt
         z = 0     ttttt


               y = 0  ->
                      y




The x = 0 sheet is coded as zz2t5azy

The x = 1 sheet is coded as zz2tazy

The x = 2 sheet is coded as 5bzbzbtazbz5bzy

The x = 3 sheet is coded as zz2tazy

The x = 4 sheet is coded as zz2t5azy

The whole picture is thus coded as

zz2t5azyzz2tazy5bzbzbtazbz5bzyzz2tazyzz2t5azy!

Please note the ! character signaling the end of the picture.

You might like to try the exercise of trying to make a EUTO model
of the room where you are working.  It need not be particularly
detailed, just showing the door, your desk or workbench and the
window in relative positions to each other.  Please observe the
large number of voxels that are used and the fact that many of
them are transparent.

You might also like to create a work of art, using the EUTO
system as the medium for your work.
Newsgroups: alt.uu.future