home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Graphics
/
WOGRAPH.BIN
/
167.HYPGEO21.EXE
/
HYPERGEO.DOC
< prev
next >
Wrap
Text File
|
1993-01-31
|
278KB
|
5,861 lines
HYPERGEO
Version 2.1
A program for investigating the geometrical
properties of four-dimensional hyperspace
USER'S GUIDE AND PROGRAM REFERENCE MANUAL
WareCraft
P.O. Box 139
Bedford, MA 01730
USA
HYPERGEO Version 2.1 Page ii
COPYRIGHT NOTICE
HYPERGEO is Copyright (c) 1993 by WareCraft.
This document is Copyright (c) 1993 by WareCraft.
ALL RIGHTS RESERVED.
Contains licensed program materials of Metagraphics Software
Corporation. Copyright (c) 1986-1989 Metagraphics Software
Corporation, Scotts Valley, CA 95066
Self-extracting archives use LHA 2.13 Copyright (c) Yoshi, 1991.
DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES
Due to the nature of computer programming it is impossible to
guarantee the performance of this product. The author makes
no warranty, expressed or implied, in regard to this program
and its accompanying data files and documentation. In no
event shall the author of this program be liable for
incidental or consequential damages relating to or arising
out of its use.
HYPERGEO Version 2.1 Page iii
LICENSE
HYPERGEO is a copyrighted computer program. It is not public
domain or free software.
Copies of the program are made available on a trial basis to
prospective users according to the distribution system known
as "shareware". Persons acquiring a shareware copy of
HYPERGEO are granted a limited license to use the program for
an evaluation period not to exceed 30 days. At the end of
that time they must either become registered users of
HYPERGEO by paying the requisite registration fee or cease
using the program. Recipients of the shareware copy of
HYPERGEO may make duplicate copies of the program material
for the express purpose of distribution to other prospective
users, provided that:
* Each copy contains all HYPERGEO program files, data
files, and documentation files complete and
unmodified;
* No payment is charged for the shareware copies beyond
normal charges for the cost of the diskette and its
shipment and handling.
Registered users of HYPERGEO are granted license to use the
software without time limit on a single computer. A
registered copy of the HYPERGEO program material may not be
duplicated other than for back-up purposes. A registered
copy of HYPERGEO may not be distributed to others.
HYPERGEO Version 2.1 Page iv
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
ASSOCIATION OF SHAREWARE PROFESSIONALS OMBUDSMAN POLICY
This program is produced by a member of the Association of
Shareware Professionals (ASP). ASP wants to make sure that
the shareware principle works for you. If you are unable to
resolve a shareware-related problem with an ASP member by
contacting the member directly, ASP may be able to help. The
ASP Ombudsman can help you resolve a dispute or problem with
an ASP member, but does not provide technical support for
members' products. Please write to the ASP Ombudsman at 545
Grover Road, Muskegon, MI 49442-9427 or send a CompuServe
message via CompuServe Mail to ASP Ombudsman 70007,3536.
HYPERGEO Version 2.1 Page v
Table of Contents
Section 1. Introduction.................................... 1-1
Section 2. From Hyperspace to the Video Screen............. 2-1
2.1 From Four Dimensions to Three................. 2-1
2.1.1 Projection.................................. 2-1
2.1.2 Intersection................................ 2-2
2.2 Direct Three-Dimensional Geometry Definition.. 2-2
2.3 From Three Dimensions to Two.................. 2-3
Section 3. The HYPERGEO Program............................ 3-1
3.1 General Structure............................. 3-2
3.2 The HYPERGEO Display Screen................... 3-4
3.2.1 Color....................................... 3-4
3.2.2 On-line Help................................ 3-7
3.2.3 Dialog Boxes................................ 3-8
3.2.3.1 Generic Text Dialog Boxes................. 3-9
3.2.3.2 File Selection Dialog Boxes............... 3-10
3.2.3.3 Color Selection Dialog Box................ 3-12
3.2.3.4 List Selection Dialog Box................. 3-13
3.2.3.5 Action Approval Dialog Box................ 3-13
3.3 Geometry Manipulations........................ 3-14
3.3.1 Rotations................................... 3-14
3.3.1.1 Orthogonal Orientations................... 3-18
3.3.1.2 The Locate Function for Rotations......... 3-19
3.3.2 Translation of the Intersecting Hyperplane.. 3-19
3.3.3 Moving the Viewpoint for 4-D Projections.... 3-20
3.3.4 Translation of Individual Vertexes.......... 3-22
3.3.4.1 4-D Image Considerations.................. 3-22
3.3.4.2 The Two User Interface States............. 3-23
3.3.4.3 Vertex Translations without a Mouse....... 3-24
3.4 View Control.................................. 3-25
3.4.1 The Five Display Modes...................... 3-25
3.4.2 Key Display Parameters...................... 3-26
3.4.3 Hyperface Highlighting...................... 3-27
3.4.4 W-coordinate Spectrum Banding............... 3-28
3.5 Journalling................................... 3-29
3.5.1 Recording a Journal File.................... 3-30
3.5.2 Replaying a Journal File.................... 3-31
3.6 PCX File Output............................... 3-34
HYPERGEO Version 2.1 Page vi
Table of Contents (continued)
Section 4. Inner Workings.................................. 4-1
4.1 Units......................................... 4-1
4.2 Verification of the Geometry Definition....... 4-1
4.3 Overlay Swapping.............................. 4-2
Section 5. Restrictions and Limitations.................... 5-1
5.1 Geometry Definition File...................... 5-1
5.2 Mathematical Precision........................ 5-2
Section 6. Supplied Geometry Definition Files.............. 6-1
Appendix A. Geometry Definition File........................ A-1
A.1 Text Format of the Geometry Definition File... A-1
A.2 The GEO2BIN Utility Program................... A-3
Appendix B. Configuration File.............................. B-1
Appendix C. Command Line Arguments.......................... C-1
Appendix D. Interactive Commands............................ D-1
D.1 Keyboard Commands and the Modifier Keys....... D-1
D.2 Mouse Selected Interactive Commands........... D-2
D.3 Interactive Parameter Specification........... D-5
D.4 HYPERGEO Interactive Keyboard Commands........ D-6
Appendix E. Running HYPERGEO under Microsoft Windows........ E-1
Appendix F. What's New in Version 2......................... F-1
Appendix G. Utility Programs for Geometry File Generation... G-1
HYPERGEO Version 2.1 Page 1-1
Section 1. Introduction
"I tried turning the hypercube around, moving it away,
bringing it up close, turning it around another way.
Suddenly I could feel it! The hypercube had leaped into
palpable reality, as I learned how to manipulate it, feeling
in my fingertips the power to change what I saw and change it
back again. The active control at the computer console
created a union of kinesthetics and visual thinking which
brought the hypercube up to the level of intuitive
understanding."
"The Mathematical Experience"
Philip J. Davis & Reuben Hersh
For reasons known only to the Great Cosmic Programmer, the
universe in which we dwell possesses three spatial dimensions.
Our senses of physical perception operate intuitively and
naturally in these three dimensions. Indeed, it requires an act
of intellectual imagination to consider the nature of alternative
dimensional realities. With some contrivance we can picture the
peculiar qualities of a world aware of only two dimensions. This
is the substance of Edwin Abott Abott's famous fantasy "Flatland"
(written from the viewpoint of Abott's two-dimensional narrator
A. Square). We can make the mental adjustment required to conceive
of a two-dimensional universe by imagining one of our three
dimensions to be somehow squeezed down to zero extent and thus
out of existence. It is a simple matter to draw pictures of
two-dimensional objects; in fact, the nature of writing surfaces
and writing implements is such that all our drawings are already
limited to two dimensions (it is only the insistently
three-dimensional nature of our sense of sight that causes us to
"see" depth in our flat artwork). Perceptions in two dimensions
are accessible because they already exist within our
three-dimensional space and because we have at hand ready
physical analogs in the form of flat surfaces of solid objects.
In "Flatland", Abott makes his narrator aware of the existence of
three-dimensional "Spaceland" although A. Square is unable to
fully conceive of its nature. He further contemplates the
analogous relationship between Spaceland and a still higher
universe possessing four dimensions. In that scenario we, the
inhabitants of our familiar three-dimensional reality, become the
Flatlanders, constitutionally unable to perceive the totality of
the encompassing higher realm.
HYPERGEO Version 2.1 Page 1-2
When we try to imagine the shape and configuration of
"hyperobjects" - that is, objects constructed in four dimensions
- we are stopped short by the inability of our conceptual powers
to find a place for the fourth dimension. For whatever reason,
there simply is no way to twist or rearrange four separate
orthogonal dimensions so they make spatial sense to us.
Our best hope for grasping the essence of four-dimensional
reality lies in somehow reducing the full complexity of
hyperobjects to a simplified image that can be represented in
three dimensions. Although the full four-dimensional "depth" of
the hyperobject's geometry cannot be totally conveyed this way in
a single image, it is possible by generating sequences of such
images - each corresponding to a different orientation of the
hyperobject in four-dimensional space - to begin to comprehend
the shape of the fourth dimension. Naturally, computers and the
capabilities of computer graphics are ideally suited for use as
tools in generating such images, and it is well within the powers
of the typical personal computer equipped with a standard display
device to serve as a research platform for the investigation of
hyperspace.
HYPERGEO Version 2.1 Page 2-1
Section 2. From Hyperspace to the Video Screen
When a computer is used to generate images derived from a
four-dimensional hyperobject, two separate stages of geometric
transformation must be performed. First, the four-dimensional
object must be reduced to a particular three-dimensional image
based on the object's orientation and position in hyperspace.
Second, the resulting three-dimensional image must be represented
on the flat, two-dimensional surface of the computer's display
device. Because each of these transformations entails the loss
of dimensional information, it is desirable to provide the
computer user with as much control as possible over the manner in
which the images are constructed and displayed.
2.1 From Four Dimensions to Three
There are two basic approaches for generating a three-dimensional
image from a four-dimensional object: projection and
intersection. Each is highly analogous to the same technique
applied to the reduction of a three-dimensional object to a flat,
two-dimensional representation.
2.1.1 Projection
Projection is the mathematically simpler of the two. It entails
the construction of an imaginary "viewscreen" in hyperspace and
the projection of each point in the hyperobject onto that
viewscreen. The calculations are performed by considering the
straight lines that run between each point in the hyperobject and
a fixed four-dimensional viewpoint; the desired projection points
are the intersections of these lines with the viewscreen. But
because this is four-dimensional hyperspace, the viewscreen is
itself a three-dimensional "hyperplane" (not just a simple
two-dimensional plane), and the projection points all possess
three dimensions. The positions of the viewpoint and viewscreen
in hyperspace relative to the hyperobject determine the degree of
"perspective" in the resulting three-dimensional image. (This
process is entirely analogous to the projection of a 3-D object
onto a flat 2-D viewscreen; in fact, just such a 3-D to 2-D
projection is used subsequently to generate the final graphical
output.)
In a 4-D to 3-D projection, every point in the original
hyperobject is always visible as a corresponding projected point
in the 3-D image (although, of course, a point may from time to
time happen to be hidden behind other points or lines). The
HYPERGEO Version 2.1 Page 2-2
overall 3-D image that results is a network of connected lines
corresponding to the vertexes and edges of the 4-D hyperobject;
it is not itself a simple 3-D polyhedron. The complexity of this
network relates directly to the four-dimensional structure of the
hyperobject.
2.1.2 Intersection
The second approach for reducing a four-dimensional hyperobject
to a three-dimensional image involves calculating the
intersection of the hyperobject with a three-dimensional
hyperplane. This can be thought of as cutting a "slice" through
the hyperobject and viewing the resulting cross-section. But
again, since for such 4-D to 3-D intersections the cutting
instrument is a hyperplane, the object that is determined by the
cut is three-dimensional and forms a simple 3-D polyhedron -
assuming that the original 4-D hyperobject is itself simple and
is externally convex. (The 3-D to 2-D analogy of this involves
making a planar cut through the 3-D geometry and viewing the flat
polygonal outline of the cross-section.)
In a 4-D to 3-D intersection, the only portion of the hyperobject
that contributes to the 3-D image is that lying exactly on the
intersecting hyperplane; all the rest is lost and invisible. For
this reason, an intersection can result in very minimal 3-D
polyhedra such as pyramids and box shapes, even from a complex
hyperobject. In fact, if the intersecting hyperplane is
positioned (in hyperspace) entirely outside the extents of the
hyperobject, the resulting 3-D image will be empty. It is
generally most revealing to examine the sequence of intersections
that result when the cutting hyperplane is gradually moved
through the hyperobject, starting at one face or edge and working
across to the opposite. By taking a number of such sequences for
various orientations of the hyperobject in four-space, the user
can achieve a sense of its "extradimensional" structure.
2.2 Direct Three-Dimensional Geometry Definition
The primary function of the HYPERGEO program is the display and
examination of the properties of four-dimensional geometrical
objects. The program's input is normally expected to be a
geometry specification that provides four coordinate values for
each vertex point. All of the preceding discussion has been in
terms of this basic scenario.
HYPERGEO Version 2.1 Page 2-3
However, the program will also accept geometry definitions of
three-dimensional objects and will display them with all features
available that relate to the 3-D level of processing. When used
this way, the program bypasses the 4-D to 3-D image reduction
steps described above, and uses the input geometry directly as
the 3-D image definition. When the input geometry is
three-dimensional, all of the program's commands that normally
perform operations in four dimensions are deactivated while those
commands and features that operate on the 3-D image and on its
resultant 2-D representation are fully functional.
2.3 From Three Dimensions to Two
All the options available in the HYPERGEO program for converting
a three-dimensional image into a viewable two-dimensional picture
on the computer's display are variations of the projection
technique referred to above. Each 3-D point is projected onto a
2-D viewscreen by calculating where the line that runs between
the 3-D point and a fixed 3-D viewpoint intersects the
viewscreen. However, unlike the case for 4-D to 3-D projections,
for 3-D to 2-D projections the viewscreen and viewpoint don't
have to be invented; they correspond to the surface of the real
display device and the eye of the (presumably real) viewer.
Given this basic technique for projecting a 3-D image onto a flat
screen, a great deal can be done to enhance the meaningfulness of
the resulting 2-D picture. The following alternatives are
available:
* Perspective Projection
A perspective projection is produced by performing a
straightforward linear projection of the 3-D model onto the
2-D viewscreen using a realistic value for the distance
between the viewpoint and the screen. It generates a
wireframe representation that provides a measure of
perspective which gives some sense of 3-D depth. This sense
of depth perception is augmented by allowing the user to
modify the apparent eye-to-screen distance, thus adjusting
the amount of perspective in the picture.
A perspective projection is the most basic form of 2-D image;
all other imaging modes are enhanced variations of
perspective projections.
HYPERGEO Version 2.1 Page 2-4
* Stereoscopic Projection (Anaglyph)
This uses the wireframe representation of a simple
perspective projection, but two separate images are generated
corresponding to the projections as perceived by the right
and left eye (the calculation of the projections takes into
account the distance between the eyes). When the two images
are displayed in contrasting colors (typically red and blue
or red and green), they can be viewed through filtering "3D"
glasses which cause each eye to see only the single image
generated for its particular viewpoint. The brain perceives
the image with full three-dimensional depth. Although
wearing the colored glasses is somewhat cumbersome, this
method produces far and away the most vivid and revealing
impressions of the structure of the 3-D object.
(The general technique of generating dual projections that
correspond to each eye's separate view is known as
"stereoscopic" projection. The particular method of
stereoscopic viewing that uses different colors for the two
projections with matching colored filters for the eyes is
called an "anaglyph".)
* Hidden-line Projection
This approach begins with the wire-frame representation
generated by a normal perspective projection. Additional
calculations are performed that prevent the display of any
edge lying behind a face of the 3-D object. This causes the
object to appear opaque.
* Surface Relief
Surface relief display mode combines the features of a
hidden-line projection with a stereoscopic anaglyph. Using
"3D" colored glasses, the viewer perceives the image with
full three-dimensional depth, but because of the hidden-line
processing, only those edges visible on the forward surface
of the object are displayed. The wireframe representation
appears opaque, presenting a perceptually vivid sense of the
shape of its surface relief.
HYPERGEO Version 2.1 Page 2-5
* Solid Projection
A solid projection performs all the processing required by a
hidden-line projection plus some additional calculations to
determine the orientation of each visible face of the 3-D
object. Rather than drawing the edge outlines of the object,
the faces are filled in using either a density of fill
pattern or a particular shade of color that corresponds to
the obliqueness of the face as seen from a theoretical light
source; faces that are most directly illuminated are filled
the brightest. The result is a fairly realistic rendering of
the 3-D object as solid.
(Note: since hidden-line, surface relief, and solid
projections require the 3-D object to be a simple polyhedron,
they can only be used with 3-D images created by a 4-D
intersection, not those created by 4-D projections.)
HYPERGEO Version 2.1 Page 3-1
Section 3. The HYPERGEO Program
HYPERGEO is a program written for the IBM-PC and compatible
computers running the PC-DOS or MS-DOS operating system. It
requires about 320K bytes of free memory plus whatever is needed
for the data requirements of the particular geometry currently
active in the program. For most ordinary objects (including the
basic hypercube) memory requirements are quite modest, but they
can increase considerably for very large and complex geometries.
The program does not use expanded or extended memory for database
allocations, so the 640K DOS barrier is the absolute limiting
factor on the size of geometries that can be handled.
The program will generate graphical output for EGA, VGA, or
Hercules display devices. It does not support CGA graphics. For
Hercules (and optionally for the others) the graphics are
monochrome, and the stereoscopic anaglyph display modes are
unavailable. The performance of HYPERGEO is identical on EGA and
VGA systems with the exception of one area in which the VGA's
higher performance is utilized: the enhanced VGA color
capabilities are used to provide superior solid surface
rendering. No non-standard, so-called "super-VGA" display modes
are supported in this version.
HYPERGEO performs some floating-point calculations, and the speed
of the program will be enhanced somewhat by the presence of a
math coprocessor chip such as an 80287 or 80387. However, the
bulk of the program's mathematical operations are performed using
an integer based, fixed-point format of data representation, so a
system lacking a math coprocessor will perform almost as well. A
coprocessor will be most useful on 80286 (or lower) PCs; systems
with an 80386 CPU can perform 32-bit integer arithmetic which
allows the program's special fixed-point calculations to be
executed about as fast as coprocessor-accelerated floating-point.
If the system has a math coprocessor, HYPERGEO will detect its
presence automatically and make use of it. All features are
functional without a coprocessor, but performance may be a bit
slower (especially on 80286s).
If a mouse pointing device is on the system, it can be used to
invoke the interactive rotation and translation commands and to
select other commands via the program's menu (see below).
However, a mouse is not required since all commands can be
executed through keyboard entry. Only the left and right mouse
buttons are used, so a two-button mouse is as good as a
three-button mouse.
HYPERGEO Version 2.1 Page 3-2
The program will make use of a standard mouse driver if one has
been installed. ("Drivers" are hardware device support programs
that are run in background by DOS at system start up. They are
typically "installed" by being specified in a DEVICE statement in
the CONFIG.SYS file.) Most mice are supplied by their
manufacturer with a standard mouse driver program, and the
mouse's documentation will include directions for installing the
driver. Other general-purpose mouse drivers - such as the one
supplied with Microsoft Windows 3.x - are also standard and will
enable proper use of the mouse by HYPERGEO.
HYPERGEO also contains its own mouse support programming which
permits the use of a Microsoft compatible mouse without any
device driver. (Your system may be configured this way if it has
a mouse which is used only by other applications which also
contain their own internal device driver programming.) The mouse
may be connected to either serial port, COM1 or COM2.
3.1 General Structure
The HYPERGEO program accepts a description of the topology of a
four-dimensional hyperobject. This description is contained in a
"geometry definition file" which starts out as a plain text file
that can be edited by the user. It contains coordinate
information for each vertex point of the hyperobject plus
connectivity information that indicates which vertexes are joined
by edges. See Appendix A for a complete discussion of the format
of this file.
The text version of the geometry definition file is preprocessed
into a more efficient binary form by the special utility program
GEO2BIN. This program analyzes the topology and determines which
edges form external faces and, in turn, which faces form external
hyperfaces. GEO2BIN then writes the binary version of the
geometry defintion into a new file which contains all the orginal
vertex point and connectivity information plus the newly derived
face and hyperface data. This binary file (which is not
human-readable and cannot be edited) is what the main HYPERGEO
program accepts as its primary input. See Appendix A for a
fuller description of how to use the GEO2BIN utility.
The program also accepts various parameters that control the
manner in which the hyperobject is displayed. There are two ways
in which these parameters are given to the program: through a
special configuration file or as command-line arguments. (Note:
There is not a complete correspondence between all possible
configuration file parameters and all possible command-line
arguments. Some parameters can be specified only in the
configuration file and some only as command-line arguments.) See
Appendix B for a full description of the format of the
HYPERGEO Version 2.1 Page 3-3
configuration file and Appendix C for a description of the
available command-line arguments.
A section of configuration parameters can also be appended to the
end of a geometry definition file following all topology
information; the format is the same as in the primary
configuration file. In effect, this acts as a secondary
extension to the configuration file which will apply only to that
particular geometry file.
The order of precedence for conflicting parameters is as follows.
Command-line arguments take the highest precedence and will
always override a corresponding parameter in the configuration
file or in the geometry definition file. Also, configuration
parameters contained in a geometry definition file take
precedence over corresponding parameters in the primary
configuration file. Finally, every parameter has a pre-defined
default value which will be used in the absence of any
specification via the configuration file or the command line.
The default values for all parameters are listed in the
appendixes.
To summarize the order of precedence for the various avenues of
parameter specification, they are, from highest to lowest:
* Command line arguments
* Configuration parameters in current geometry definition
file
* Configuration parameters in primary configuration file
* Program's internal default values
It should be noted that no configuration file or command-line
arguments are absolutely required. The program will operate
without them using reasonable default values.
Once all geometry and configuration information has been read in
and processed, the HYPERGEO program creates a display of the
image of the hyperobject. At this point, the user has access to
a set of commands which facilitate the interactive manipulation
of the hyperobject's display. These interactive commands are
described throughout subsequent sections of this document and are
summarized in Appendix D.
HYPERGEO Version 2.1 Page 3-4
3.2 The HYPERGEO Display Screen
The screen displayed by the HYPERGEO program consists of two
areas: the primary graphics area where the image of the
geometrical object being examined is displayed, and an optional
menu and mouse control pad area. The user may select whether or
not to display the menu area. If it is not displayed, the
primary graphics area is the entire screen. When the menu area
is displayed, it occupies the right edge of the screen, and the
primary graphics area fills the entire remaining screen.
The menu area lists a number of display parameters that may be
modified interactively by the user. It also contains a panel of
command selection boxes that may be activated by the mouse to
perform various manipulations of the object being displayed. A
mouse is not required for the HYPERGEO program; all mouse
functions may also be invoked through keyboard commands.
However, the mouse does provide a more naturally intuitive
feeling of control over the manipulation of the geometry being
studied. The mouse functions are only available when the menu
area is displayed. (All keyboard commands are always available
regardless of whether the menu area is displayed or not.)
The HYPERGEO program automatically scales and centers the
geometry display within the primary graphics area. The user may
subsequently modify the scale and position of the display as
desired.
3.2.1 Color
For systems with color EGA or VGA displays, the user has control
over the colors used to draw the various components which
comprise the overall graphical output. The colors are specified
using statements in the configuration file and may be set to any
one of the sixteen standard EGA colors (listed in Appendix B).
In addition, the color used to draw the actual edge lines of the
geometrical object itself can be modified interactively from
within the HYPERGEO program. In the absence of any user
specification, HYPERGEO uses a set of default colors which are
believed to provide an attractive and comfortably viewable
appearance (although, of course, such matters are subject to the
contentiousness of individual tastes).
HYPERGEO Version 2.1 Page 3-5
There are eight separate components that together make up the
total HYPERGEO display, and each can be assigned a different
color:
* Primary background
This is the background color which covers the entire
screen (including the optional menu area) before any
graphics are drawn. It may be any color, but a dark
shade such as black or the default dark gray is
recommended for visibility. This is especially so when
using the stereoscopic (anaglyph) display modes, which
require a dark background to produce a good 3-D effect.
(Black is probably the most vivid in this respect, but
dark gray is a bit easier on the eyes for extended
viewing.)
Default: dark gray
(Note: On many EGA displays the default "dark gray" tends
to appear somewhat blue and not very dark; in this
situation it is probably better to use black for the
primary background. For VGA systems, HYPERGEO alters the
definition of "dark gray" to a shade that is reliably
both darker and grayer.)
* Primary foreground
This is the color used to draw the actual edge lines of
the geometrical object as it is projected onto the
computer's display screen. This color is also used for
the transient data values displayed in the menu area and
for most text appearing in the various dialog boxes.
Naturally, the primary foreground color should give a
good contrast with the primary background color.
Default: white
* Menu
This color is used for drawing the outlines and fixed
labels of the data items and the mouse control pad
section in the menu area of the HYPERGEO program. It is
also used for the display of the name of the geometry
definition file which the user may select to have appear
in the upper, left corner of the primary graphics area,
and for the border color and background shading in dialog
boxes.
Default: yellow
HYPERGEO Version 2.1 Page 3-6
* Geometry axis vectors
As the user rotates the geometrical object in hyperspace,
the HYPERGEO program keeps track of the orientation of
each of the axes of the object's original coordinate
system. A projection onto 3-space of the unit vector
drawn from the origin along each axis may optionally be
displayed as part of the primary geometry graphics. This
assists in visualizing the displacement of the original
orientation of the object in all the dimensions of
hyperspace.
Default: cyan
* Message window background
This is the background color for all prompting and
message dialog box windows.
Default: brown
* Help window background
This is the background color used in the on-line help
windows.
Default: light gray
* Help window text
This is the color used for the text in the on-line help
windows.
Default: black
* Hyperface highlighting
For 4-D geometries the user may select to highlight the
portion of the visible graphics that belongs to one
particular hyperface in the original hyperobject. This
is done by using a different color to display all edge
lines belonging to the highlighted hyperface.
Default: light magenta
HYPERGEO Version 2.1 Page 3-7
Color is also used in the surface rendering of the solid display
mode, which may be used with images produced by 4-D
intersections, but its use and configurability are complicated by
the differing capabilities of EGA and VGA display devices. For
EGA systems, the colors used for solid surface rendering are
fixed by the program and are not modifiable by the user; these
colors give an acceptable gradation of shades from light to dark
and are not colors available in the sixteen standard EGA colors.
For VGA, the program takes full advantage of the enhanced color
capabilities of the display device, in particular its ability to
generate over 256,000 discrete shades. HYPERGEO uses twelve
variations - ranging from very light to very dark - of a single
VGA color to produce the consistent shadings necessary for
realistic solid surface rendering. (The program can also
optionally make use of color "dithering" techniques - the
pixel-by-pixel mixing of two different colors - to increase the
effective number of discrete shades available for solid surface
rendering to twenty-three.) The user can specify the base color
(in terms of a VGA red/green/blue color definition) from which
HYPERGEO will generate the twelve graduated shadings. For
systems with a mouse, this base shade may be interactively
modified using a color selection dialog box.
For either EGA or VGA, the user may select not to use color for
solid surface rendering, but to instead use variable pattern
fill, which just uses the primary foreground color. Variable
pattern fill is always used on monochrome systems.
Several other HYPERGEO features make special use of color, but in
general these colors do not accept any modification from the
user. The stereoscopic anaglyph display modes use two shades of
red and blue. However, these colors are fixed by the
requirements of the "3D" viewing glasses and are not modifiable
by the user. Also, the W-coordinate spectrum banding feature
uses a spectrum of ten colors to indicate the W-coordinate value
of edges displayed in 4-D projections and intersections. Again,
however, these color values are determined by the program
requirements and may not be respecified.
3.2.2 On-line Help
On-line help is available whenever the primary graphics are
visible and interactive editing is available within the HYPERGEO
program. The help system is entered by typing F1. All help
information exists in a set of screens or pages, each
corresponding to a group of related commands. The commands are
listed according to the keystroke that executes them along with a
brief description of their function and usage.
HYPERGEO Version 2.1 Page 3-8
There is one main, top-level help page which gives an overview of
all HYPERGEO interactive commands and presents a menu listing the
separate lower-level help pages. This main page is what first
appears when the help system is invoked via the F1 key. The user
then selects a particular page by typing its number. While in
the help system, typing F1 always returns to the main help menu,
and typing any valid help page number always brings up that
individual page. To leave the help system and return to the
HYPERGEO display type <Esc>; this restores the screen to its
previous state.
3.2.3 Dialog Boxes
Some of the interactive commands will prompt for additional user
input (such as a numeric value, a color name, or a file name).
This is done using an interactive window known as a "dialog box"
which pops up in the middle of the primary graphics area. There
are several different types of dialog box used by HYPERGEO
depending on the context of the command. They can be divided
into two major categories: those which request data to be entered
or selected by the user, and those which merely display an
informational message.
All dialog boxes remain visible on the screen until they are
actively dismissed by the user; this can be done by using the
mouse to select the "Ok" button that appears at the bottom of the
dialog box. For those types of dialog box that request user
input, selecting "Ok" tells the program to accept the input as
specified and to go ahead and execute the command. Dialog boxes
that just display a message have only this single "Ok" button; it
should be selected once the user has read and understood the
box's contents. Dialog boxes that request input have a "Cancel"
button in addition to the "Ok" button; selecting "Cancel" tells
the program to disregard any input the user may have entered in
the dialog box and to cancel the command and dismiss the dialog
box's window.
Note: For all mouse selections within HYPERGEO dialog boxes
either the left or the right mouse button can be used; they are
equivalent. Also, whenever a dialog box is active, the mouse
cursor changes to a hand icon with a pointing finger.
Typing <Enter> when a dialog box is active selects the "Ok"
button, and typing <Esc> selects the "Cancel" button. These
keyboard equivalents can be used to perform dialog box functions
on systems without a mouse.
HYPERGEO Version 2.1 Page 3-9
Dialog boxes that merely contain information are used whenever an
error condition (such as invalid command input) must be reported.
No user input is asked for; the window serves only to convey a
message. Once it has been read, the user may dismiss the window
by selecting the "Ok" button with the mouse (or by pressing
<Enter> or <Esc>).
One special instance of a message dialog box is the HYPERGEO
Information Window. This window contains some basic data
describing the geometry and topology of the currently active
object, and it also contains the HYPERGEO copyright statement.
By default, the Information Window is displayed automatically
upon the initial start-up of the program and every time a new
geometry definition is read in (although the program may be
configured to bypass this). An interactive command exists to
display the Information Window at any time during normal
operation of the HYPERGEO program. The Information Window is a
normal message dialog box and may be dismissed by selecting the
"Ok" button with the mouse (or by pressing <Enter> or <Esc>).
Dialog boxes that request user input are one of the following
special types:
* Generic text
* File selection
* Color selection
* List selection
* Action approval (yes/no)
3.2.3.1 Generic Text Dialog Boxes
A number of HYPERGEO's interactive commands require the user to
type in a string of text. Typically, this type of entry is used
to specify a numeric value (or possibly a sequence of two or more
values) to be assigned to a display parameter. The text dialog
box contains a title bar identifying its function and, below it,
an area in which appears the text entered by the user. A special
cursor symbol is visible in this type-in area indicating the
point at which the next entered character will appear. The arrow
keys may be used to move the cursor, and the standard
line-editing keys such as <Delete>, <Backspace>, <Home>, and
<End> are also functional. The special sequence Ctrl-U can be
used to completely clear the contents of the type-in area and
move the cursor to the first character position.
HYPERGEO Version 2.1 Page 3-10
The user should type in the appropriate value which will appear
in the data input area, and should terminate the entry by
selecting the "Ok" button with the mouse (or by pressing
<Enter>); this indicates that the entry is complete and correct
and initiates the particular command. Selecting "Cancel" (or
pressing <Esc>) at any time while a text dialog box is displayed
will dismiss the dialog box and cancel the command.
3.2.3.2 File Selection Dialog Boxes
HYPERGEO command functions that require the specification of a
file name make use of the special file selection dialog box.
There are currently two such commands: the New Geometry
Definition File command (keystroke 'F'), and the Journal File
Replay command (keystroke 'J').
The file selection dialog box has all of the features of a
generic text dialog box plus a large sub-window in which a list
of available file names is displayed, sorted in alphanumeric
order. The sub-window has a scroll-bar along its right edge
which can be used to move the list of file names up and down in
the sub-window if the list is too long to be visible all at once.
The user chooses a particular file name from the list by
selecting its name in the sub-window with the mouse.
When a file selection dialog box first pops-up, the text area
contains a wild-card specification based on the default extension
for the type of file required by the particular command. For
example, for the Journal File Replay command, the wild-card *.JNL
is used. All files that satisfy the wild-card specification will
be listed in the sub-window, with no individual file name
highlighted as being selected. Until a particular file is
selected, the dialog box's "Ok" button is blanked out. Once a
file name is selected, its name will appear in the text type-in
area which is just above the list sub-window. The "Ok" button is
then active and may be selected with the mouse thus confirming
the name appearing in the text window as the file to be used by
the command. (By double-clicking on a file name, the "Ok" button
is immediately selected, confirming the file name and causing the
HYPERGEO command to be performed on that file.)
The text window in a file selection dialog box may also be used
like a generic text input box, and a file name may be typed into
it directly. To do this, it is first necessary to activate the
type-in cursor by positioning the mouse in the type-in area and
clicking the left or right mouse button.
HYPERGEO Version 2.1 Page 3-11
It is also possible to enter a new wild-card specification by
typing it into the text type-in area. This feature can be used
to change the directory in which the command looks for its file
(the default is always the current directory in which HYPERGEO
was executed). For example, with the Journal File Replay
command, the initial default wild-card is *.JNL; this will list
all files with extension .JNL in the current directory. By
positioning the cursor to the left of the '*' character and
typing in its full DOS path specification preceding the *.JNL
wild-card, the user can access a list of all .JNL files in
another alternative directory.
Within a file selection dialog box the <Enter> and <Esc> keys
have dual uses depending on whether or not there is an active
type-in cursor. When the type-in cursor is active and visible in
the text area, the <Enter> key terminates the type-in and makes
it the current selected item. If it is a wild-card
specification, the contents of the main list sub-window are
changed to reflect its expansion. When the type-in cursor is not
active, the <Enter> key has its normal dialog box function of
selecting the "Ok" button. Similarly, for the <Esc> key, when
there is no active type-in cursor, its function is the normal
dialog box selection of the "Cancel" button. When there is a
type-in cursor visible in the text area, <Esc> causes all typed
in changes to the text in that area to be discarded; the text
area contents revert back to what they were before the type-in
cursor was activated, and the cursor is deactivated.
The scroll-bar has various active areas which can be selected
with the mouse to adjust the position of the list of file names
in the main sub-window. Selecting the up (or down) button at the
top (or bottom) of the scroll bar causes the list to move up (or
down) one line. Selecting the slider button and moving it up or
down while keeping the mouse button pressed scrolls the list
dynamically in step with the motion of the slider. Pressing a
mouse button while the mouse cursor is in the scroll-bar slide
area above or below the slider button scrolls the list up or down
by an amount equal to the number of lines visible in the list
sub-window.
Most of the file selection dialog box functions have keyboard
equivalents, and this enables the use of the dialog box on
systems without a mouse. The type-in cursor can be activated in
the text area by typing <Tab>. The up and down arrow keys
perform the single-line up and down scrolling functions, and Page
Up and Page Down perform multi-line scrolling. <Home> and <End>
scroll the list all the way to the top or bottom respectively.
Typing an alphanumeric character scrolls the file list so that
those names beginning with the typed character appear at the top
of the main sub-window. To select a particular file, scroll the
list of file names until the desired one is at the top of the
HYPERGEO Version 2.1 Page 3-12
list sub-window and type <Space>. And as with all dialog boxes,
<Enter> corresponds to the "Ok" button (assuming the type-in
cursor is not active), and <Esc> selects "Cancel" (again,
assuming no type-in cursor).
3.2.3.3 Color Selection Dialog Box
The color selection dialog box is used by the interactive color
command when invoked to modify the shades used for solid surface
rendering of an object. It permits the precise specification of
the base color to be used for generating the solid fill shades
through the setting of its constituent red, green, and blue
components. Since only VGA displays have the capacity to display
the full range of available colors, the color selection dialog
box is only available on VGA-equipped systems. In addition, a
mouse must be present to use this type of dialog box (all of the
other types of dialog box used in HYPERGEO may be operated with
keyboard equivalents to the mouse). If a system with VGA
graphics has no mouse, a generic text dialog box will appear
requesting the specification of the new color via the direct
entry of three numeric values which are the respective
intensities of the color's red, green, and blue components.
The color selection dialog box has a main sub-window in which
three "thermometer" controls appear, one for each of the three
primary colors. At the base of each control is an active button
area which is divided into two halves, one marked '+' and the
other '-'. Selecting the '+' area with the mouse increases the
intensity value of that control's color, and selecting '-'
decreases it. The indicator of each thermometer control moves to
show the current value of its color as it is adjusted between
zero and the maximum.
Above the control sub-window is a color panel area which displays
the actual color corresponding to the composite of the red, green
and blue components. As the controls are manipulated to change
the intensities of the three primaries, the color visible in the
panel continuously changes to show the resulting composite.
Once the color has been adjusted to the desired shade, it may be
confirmed by selecting the dialog box's "Ok" button (or typing
<Enter>). This executes the interactive color command and
modifies the display palette used for solid surface rendering
based on the calculated shades derived from the new base color.
Alternatively, by selecting "Cancel" (or typing <Esc>), the user
can choose not to modify the current palette of solid fill
shades.
HYPERGEO Version 2.1 Page 3-13
3.2.3.4 List Selection Dialog Box
In a number of interactive commands available in HYPERGEO the
user needs to select one from a list of several possible
alternatives. For example, the interactive command to change the
display mode can potentially choose any one of five
possibilities: Perspective, Stereoscopic Anaglyph, Hidden-line,
Surface Relief, and Solid Surface Rendering. Commands such as
this one that present a choice from a fixed set of options make
use of the list selection dialog box.
A list selection dialog box contains a "ballot" sub-window in
which each of the selectable options appears on a single line.
Each option is identified by a key word or two that appears next
to an active selection button. A particular option is chosen by
selecting its button with the mouse. When an option is selected,
its button area is marked with an 'X'. When the dialog box first
pops up, the option corresponding to the current state of
HYPERGEO is marked as selected. Depending on the context of the
particular command and possible interdependencies among elements
of the HYPERGEO environment, not all options may be available at
all times. Those options that are invalid during a particular
command invocation are grayed out in the ballot sub-window of the
dialog box, and their buttons are inactive for mouse selection.
(As an example of this, not all five of the display modes listed
above are available on monochrome systems or when a
four-dimensional hyperobject is being viewed using a 4-D to 3-D
projection.)
Once a desired option has been selected in the dialog box, it may
be confirmed by selecting "Ok" with the mouse (or typing
<Enter>). Selecting "Cancel" (or typing <Esc>) leaves the
HYPERGEO parameter or mode unchanged.
Keyboard equivalents are available that enable the selection of
list options without the use of a mouse. The up and down arrow
keys move the selection up or down one line in the ballot area.
<Home> and <End> are used to select the option at either the top
or the bottom of the list.
3.2.3.5 Action Approval Dialog Box
This type of dialog box doesn't really request any input from the
user other than choosing between the "Ok" and the "Cancel"
buttons. There is no text type-in or other interactive
sub-window area. The title bar of the dialog box describes an
action which the HYPERGEO program will tentatively take, and the
user should select either the "Ok" button to accept the action or
the "Cancel" button to cancel it. The prime example of the
application of this type of dialog box is the Quit command
(keystroke 'Q') which does not actually quit HYPERGEO and go back
to DOS unless the user confirms it.
HYPERGEO Version 2.1 Page 3-14
As always, typing <Enter> is equivalent to selecting "Ok", and
typing <Esc> is equivalent to selecting "Cancel".
3.3 Geometry Manipulations
Central to the operation of the HYPERGEO program is the ability
to interact with the geometry as it is being displayed and to
have the picture on the screen respond to the user's directions.
It is just this ability to manually manipulate the hyperobject in
all four dimensions of hyperspace that creates a sense of
"hands-on" control and establishes an intuitive feel for the
extradimensional shape of the hyperobject.
In light of the two-stage process required to capture an image of
a four-dimensional geometrical object on a two-dimensional
computer display screen (first, 4-D to 3-D reduction, and second,
3-D to 2-D projection), HYPERGEO provides interactive functions
to manipulate the geometry both in its original hyperspace
configuration (in 4-space) and in its reduced three-dimensional
representation (in 3-space).
A word or two is needed here on the subject of coordinate
systems. The HYPERGEO program uses the letters X, Y, Z, and W to
label the four coordinates in hyperspace. Wherever ordering is
significant (as, for example, in the specification of coordinates
within a geometry definition file), the order is (X,Y,Z,W). As
is conventional with computer graphics, three-dimensional
coordinate systems are "left-handed"; thus, the positive Z-axis
points away from the viewer and into the screen.
3.3.1 Rotations
The primary method of examining an object is to turn it about to
view it from many different angles. In this manner, it becomes
possible to discover the overall nature of something which - for
whatever reason - is not immediately accessible in its entirety
to our perceptions. In the HYPERGEO program, rotations in all
possible directions are available through interactive commands,
and it is possible to position the geometry in whatever
orientation is desired.
Rotations can be performed either on the 4-D geometry before it
is reduced to a 3-D image, or on the 3-D geometry of the reduced
image itself. The effect of the two classes of rotation is
different, not only because of how they are handled by the
HYPERGEO program, but also because of fundamental differences
between the structure of 3-space and that of 4-space.
HYPERGEO Version 2.1 Page 3-15
In our familiar 3-space, rotations are performed about an "axis"
which is a straight line in space. The rotation leaves all
points on the axis unchanged while all other points in 3-space
move in circles that are centered on the axis and that lie in a
plane perpendicular to the axis. However, in 4-space, there are
an infinite number of lines that pass through a given point on a
plane and that are perpendicular to the plane. Thus when a
hyperobject is rotated so that the points in a particular plane
move in circles about a fixed point on the plane, it is not
correct to say that the rotation takes place around an axis. It
is most meaningful to our three-dimensional minds to think of 4-D
rotations as being "on" or "of" a particular plane rather than
being "around" anything. (Actually, rotations in hyperspace take
place around a plane in the sense that for any given direction of
hyperspatial rotation there is a plane on which no points move,
namely, the plane determined by any two distinct lines
perpendicular to the rotating plane and passing through the
rotational centerpoint on it. This is virtually impossible to
picture for our 3-D brains, so it is simpler to refer to such
rotations in terms of the plane which is being rotated.)
Any particular spatial orientation can be reached by performing
an appropriate sequence of rotations of the planes determined by
pair-wise combinations of the space's coordinate lines. In our
3-space there are three such planes: the XY-plane, the XZ-plane,
and the YZ-plane. In hyperspace, which has four orthogonal
coordinate axes, there are six planes that form the basis for all
rotations: XY, XZ, XW, YZ, YW, and ZW. (In 3-space the rotations
are normally referred to by the name of the axis around which the
rotation occurs rather than the plane of the rotation.) HYPERGEO
has interactive commands for performing rotations of all nine
planes. For all HYPERGEO rotations, the coordinate system's
origin is always the centerpoint; thus the origin is never moved
by any rotation. (Note: the configuration file accepts a
parameter, ORIGIN, for repositioning the origin within the
original geometry; this in turn has the effect of locating the
center of all rotations at any desired point in hyperspace.)
All rotations in HYPERGEO are in incremental steps of the current
Turn Angle. The value of the Turn Angle can be set by the user
in the configuration file, and it can also be modified
interactively at any time. Its current setting in degrees is
displayed in the menu area. The Turn Angle can be set to a large
number of degrees (say, 30 or 45) for rapid rotations of the
object, and then reduced to a smaller value for fine positioning.
Interactive commands exist for rotating the object one
incremental step, through either a positive or negative Turn
Angle, within any one of the three 3-D and six 4-D base
rotational planes. Also, there are commands for automating any
one of the possible modes of rotation; in these automated modes
HYPERGEO continues to perform incremental rotations in the
specified direction as rapidly as the computer's processing speed
will allow.
HYPERGEO Version 2.1 Page 3-16
The HYPERGEO program provides two features to assist the user in
keeping track of the orientation of the active object in
hyperspace as it undergoes various rotations. First, there is
the ability to display the projected image of all four unit
vectors emanating from the origin along the four hyperspace
coordinate axes. This provides good visual feedback of how the
object is turning in hyperspace. Second, the menu area contains
data fields that display the angular displacement of each
coordinate axis from its initial, unrotated position. These
displacement angles can vary from 0 degrees (when the axis is
coincident with its initial alignment) to 180 degrees (indicating
that it has been rotated to point in the completely opposite
direction).
It is important to understand how four-dimensional rotations of
the hyperobject in hyperspace differ from three-dimensional
rotations of the reduced image in normal 3-space. The critical
point is that rotations in 4-space affect the shape and structure
of the reduced 3-D image and do not necessarily produce directly
equivalent rotations of that 3-D image. Rotations in 3-space, on
the other hand, are performed after the 4-D to 3-D reduction, and
they always directly rotate the 3-D image; they never alter its
shape.
To clarify this, consider what is going on as the hyperobject is
turned in hyperspace. If the program is using 4-D to 3-D
intersection mode, the slicing hyperplane will pass through
varying cross-sections of the object, and these cross-sections
will be three-dimensional polyhedra of varying topologies. The
3-D polyhedra themselves will not necessarily rotate. For the
projection mode of 4-D to 3-D reduction, rotations of the
hyperobject will have the effect of altering the pattern of the
network of connected edges that is projected into 3-space, but
the motion of the network will not be any simple
three-dimensional rotation.
This distinction - that 4-D rotations alter the shape and
structure of the reduced 3-D image, while 3-D rotations rotate
the image - while generally true, is, alas, not the whole story.
Four-dimensional rotations behave differently depending on
whether or not the plane of the rotation contains the W-axis.
This is due to the fact that in HYPERGEO the W-dimension is the
one in which 4-D to 3-D image reductions take place: 4-D to 3-D
intersections always occur along a hyperplane that is defined by
a constant W value, and 4-D to 3-D projections always are
performed onto a hyperplane that is similarly defined by a
constant W value. For this reason, rotations that occur on
planes that do not contain the W-axis do not alter the shape of
the resulting 3-D image (because they do not modify the
W-coordinate of any points in the hyperobject). Instead, they
behave like 3-D rotations of the corresponding plane (for
example, a 4-D rotation of the XY-plane has the same effect as a
HYPERGEO Version 2.1 Page 3-17
3-D rotation around the Z-axis). The net outcome of all this is
that the 4-D rotations of the XY, XZ, and YZ-planes look like
simple 3-D rotations and have the same effect on the appearance
of the object's display in HYPERGEO as 3-D rotations around the
Z, Y, and X-axes, respectively. The other three 4-D rotations
(that is, of the XW, YW, and ZW-planes) do alter the 3-D image's
shape and do not resemble any simple 3-D rotations.
One final point is needed to complete this discussion of
rotations. Although 4-D rotations of the XY, XZ, and YZ-planes
look the same as 3-D rotations around the Z, Y, and X-axes, they
are not treated the same by the HYPERGEO program. The 4-D
rotations permanently alter the orientation of the hyperobject in
4-space as that orientation is calculated and remembered by the
program; they are cumulative in the sense that each subsequent
4-D rotation takes as its initial starting point the orientation
arrived at by the previous 4-D rotation. 3-D rotations, on the
other hand, do not permanently modify the four-dimensional
orientation of the hyperobject; rather, they serve as temporary
repositionings of the current 3-D image in 3-space. For this
reason, 3-D rotations are most useful as a means of examining the
shape of the current 3-D image expressly without altering the 4-D
orientation of the hyperobject that produced that image. A 4-D
rotation performed following a sequence of 3-D rotations reverts
back to the most recent 4-D orientation for its starting position
since that is the permanent orientation remembered by HYPERGEO.
The transient 3-D rotations of the reduced image are lost and
forgotten. (It is worth noting that although the 4-D rotations
may look like 3-D rotations, they involve the additional
computational effort of updating the permanent 4-D database and
thus are noticeably slower.)
This functional distinction between 4-D and 3-D rotations is
reflected in the way HYPERGEO reports the hyperobject's
orientation. In particular, the axis displacement angles
(displayed in the menu area) and the axis vectors (displayed in
the primary graphics area) are only affected by 4-D rotations.
During temporary, 3-D rotations, they remain unchanged and
continue to indicate the permanent 4-D orientation from which the
next 4-D rotation will proceed.
(Note that the above comment does not apply when the input
geometry definition is a three-dimensional object rather than a
4-D hyperobject. For three-dimensional geometries the program
treats all 3-D rotations as permanent modifications to the
object's database; the displayed axis angle displacements and the
unit axis vectors are changed upon 3-D rotations.)
In addition to the commands which perform incremental rotations
in any of the possible directions, HYPERGEO also has two methods
for placing the current geometry directly in a particular
orientation. These are discussed in the following two sections.
HYPERGEO Version 2.1 Page 3-18
3.3.1.1 Orthogonal Orientations
An orthogonal orientation is one in which all of the coordinate
axes have been rotated an integral multiple of 90 degrees from
their original positions. Such orientations permit viewing the
object in a direction which is exactly perpendicular to one of
the planes formed by a pair of coordinate axes. The HYPERGEO
program provides interactive commands for generating all of the
unique orthogonal orientations that are possible for both 3-D and
4-D geometries.
In three-dimensional space there are three distinct orthogonal
orientations; these correspond to viewing directions from the
front, side, and top. Each of the three orientations is directed
perpendicularly to one of the three 3-D coordinate axis planes.
In four-dimensional space things are, of course, more
complicated. Recall that for 4-D there are a total of six
different pairs of coordinate axes that each form a distinct
plane (these are the six planes about which the various
incremental 4-D rotations are performed). Thus, there are at
least six different orthogonal orientations, each derived from a
view that is perpendicular onto one of the six coordinate planes.
However, this is not the entire story. In four-space for each
orientation perpendicular to a coordinate plane, the plane
determined by the other two coordinate axes can rotate
independently. In fact, it can be rotated so that its two
coordinate axes are themselves positioned orthogonally along the
two remaining coordinate directions in two different ways. This
additional degree of freedom means that there are two different
orientations based on each of the six possible base coordinate
planes. This gives a total of twelve distinct orthogonal
orientations for four-dimensional geometries.
For geometries that represent regular polyhedra that are
symmetrical about all rotations, all orthogonal orientations will
produce an identical view. This is true for all of the regular
3-D polyhedra and 4-D polytopes that are provided with HYPERGEO.
However, for shapes that possess asymmetries, the ability to view
the object from all of the possible orthogonal directions
provides an excellent way to see how the structure is arranged
throughout all dimensions.
For 4-D geometries, it is particularly interesting to examine
orientations which position each of the four axes in turn in the
direction of the original W-coordinate axis. Because the
mechanisms for performing 4-D to 3-D image reductions operate
along the W-axis, using the orthogonal orientations this way
enables the resulting projections and intersections to reveal all
of the hypergeometrical structure of the object.
HYPERGEO Version 2.1 Page 3-19
3.3.1.2 The Locate Function for Rotations
An interactive command permits specifying the orientation of the
current object in terms of the three (for 3-D) or four (for 4-D)
axis angles. These are the spatial angular displacements of each
of the coordinate axes from their original unrotated positions.
(The axis angles are displayed in the HYPERGEO menu area under
the label AXIS ANG.) This command effectively permits placing
the object at any precise orientation that is physically
possible.
For three-dimensional geometries, the user can specify any three
angles that form a possible 3-D orientation. Each set of three
axis angles determines a unique orientation in three-space.
For four-dimensional objects the command operates in a similar
manner, but there are some limitations. First, at least one of
the specified angles must be zero. And second, most sets of axis
angles do not correspond to a single orientation, but rather have
multiple solutions. (This is due to the fact that the axis angles
indicate only the magnitude of the displacement from the original
axis and not its direction; thus the problem is mathematically
underdetermined.) When this is the case, the program arbitrarily
selects one particular orientation from among all of the valid
possibilities.
3.3.2 Translation of the Intersecting Hyperplane
For the intersection mode of 4-D to 3-D reductions, the program
calculates the three-dimensional intersection of the hyperobject
with a hyperplane that is defined by the equation, w = k, that
is, having a constant W coordinate value. (In four dimensions, a
linear equation of the four coordinate variables, Ax + By + Cz +
Dw = E, defines a hyperplane. A hyperplane can perhaps best be
envisioned as a normal three-dimensional space that is situated
in hyperspace and has zero extent into the fourth dimension. Our
universe at any given instant can be considered a hyperplane in
four-dimensional space-time.) The shape of this intersection can
be varied by rotating the hyperobject; this approach has been
discussed in the above section on rotations. However, the
intersection can also be modified by moving the hyperplane
through hyperspace, in particular, by moving it along the W-axis
by altering the value for 'k' in the hyperplane's equation. The
HYPERGEO program provides interactive commands for performing
such a translation of the intersecting hyperplane. (It should be
emphasized that the position of the intersecting hyperplane only
has an effect in the intersection mode of 4-D geometry reduction;
it is irrelevant when using projection mode.)
HYPERGEO Version 2.1 Page 3-20
Two parameters relate to the interactive translation of the
intersecting hyperplane: the current W value of the hyperplane's
equation, and the amount by which that value will be incremented
(or decremented) for each translation of the hyperplane. The
first of these values is displayed in the HYPERGEO menu area as
the W-INTER parameter, and the second is referred to as the
delta-W value. An interactive command exists that increments the
W-INTER value by the delta-W value and updates the HYPERGEO
display accordingly. Another command serves to decrement the W
value and thus move the intersecting hyperplane in the reverse
direction. In addition, both parameters may be explicitly set to
any desired numeric value using other interactive functions. The
initial values of the W-INTER and delta-W parameters may also be
set in the HYPERGEO configuration file. If W-INTER is not
specified by the user in the configuration file, its default
value is calculated as the average of the minimum and maximum W
values for the active geometrical object thus centering the
intersecting hyperplane within the geometry.
Translation of the intersecting hyperplane is most revealing when
it proceeds from one edge or face of the hyperobject, through its
entire body, and on to the opposite side. A feature exists which
automates just such a traversal of the hyperplane. It
continuously increments the W value until the body of the
hyperobject is exited. The direction of translation is then
reversed and the W value is continuously decremented until the
opposite side of the hyperobject is reached. The direction of
translation continues to be reversed at each extreme so that the
hyperplane passes back and forth (in hyperspace) through the
entire body of the hyperobject. Performing such passes upon
varying orientations of the hyperobject in hyperspace provides an
excellent method for acquiring a sense of its four-dimensional
shape. (Note: the effective speed of the hyperplane's motion
along the W-axis can be adjusted by setting the delta-W value
appropriately.)
3.3.3 Moving the Viewpoint for 4-D Projections
As described in a previous section, for the second primary method
of reducing a 4-D hyperobject to a 3-D image, namely, a 4-D to
3-D projection, a theoretical viewscreen is set up
(mathematically) in hyperspace and the hyperobject is projected
onto it as seen from a theoretical viewpoint. (Recall that
because the "viewscreen" is actually a three-dimensional
hyperplane, the resulting image is also three-dimensional.) To
provide enhanced control over this projection, an interactive
command exists to modify the position of the theoretical
viewpoint. This allows the user to adjust through a wide range
the level of perceived perspective evident in the resulting 3-D
image.
HYPERGEO Version 2.1 Page 3-21
It should be noted that the position of the projection viewpoint
only has meaning for images that are generated as 4-D to 3-D
projections; it is irrelevant for 4-D to 3-D intersection images.
The nature of the projection calculations restricts the viewpoint
to the positive W-axis. This is due to the way in which the
hyperplane which is the theoretical viewscreen is located at a
fixed position and orientation in hyperspace. In particular, the
viewscreen hyperplane is defined by the equation
w = 0.5R
where 'R' is the "radius" of the hyperobject. This places the
viewscreen parallel to the XYZ-hyperplane and intersecting the
positive W-axis at a distance 0.5R from the origin.
The user can specify the projection viewpoint to be located
anywhere along the positive W-axis within a large range of
coordinate values. The program does, however, automatically
prevent the viewpoint distance from assuming a value that is
either too small or too large. This is done to prevent possible
numeric errors in the calculation of the reduced image that uses
the viewpoint coordinate.
When the viewpoint is positioned towards the low end of its
range, the degree of perspective in the calculated 3-D image is
greatest. The perspective becomes less as the viewpoint moves
away from the hyperobject and from the viewscreen along the
W-axis. For the largest values of this distance, the apparent
perspective is minimal, and the image closely approximates that
of a pure orthographic projection.
The position of the 4-D projection viewpoint is displayed as a
parameter in the HYPERGEO menu area under the label W-PROJ. It
appears as a numeric value in the units of the geometry
definition. This value is the W-coordinate of the viewpoint.
Interactive commands exist which allow incrementally increasing
or decreasing the W-PROJ parameter by 10% of its current value.
Additional commands set the W-PROJ parameter directly to either
its maximum or minimum permissable value; this has the effect of
selecting either orthographic or perspective projection. The
parameter can also be set interactively to any specific
intermediate value within its range, and it may be assigned a new
default value in the HYPERGEO configuration file. (The program's
own default value for W-PROJ is two times the radius of the
hyperobject; this is close to the minimal permissable value and
creates 4-D to 3-D projection images with a considerable degree
of perspective.)
HYPERGEO Version 2.1 Page 3-22
3.3.4 Translation of Individual Vertexes
As described above, rotating a hyperobject is the primary means
of examining its structure in HYPERGEO, and the user interface
presented upon entry to the program provides access to the
various commands for performing such rotations. However, an
alternative state of the user interface is available which
presents commands that can be invoked to perform the temporary
translation of a selected vertex of the hyperobject and to
observe how the translation of an object's vertex in hyperspace
affects the shape and structure of the corresponding 3-D image.
The selected vertex can be moved in either direction along any
one of the four 4-D coordinates.
An important point needs to be made concerning the non-permanent
nature of vertex translations. HYPERGEO maintains an internal
database which contains information on the structure of the
current hyperobject. In particular, this database contains
information recording all faces and hyperfaces of the hyperobject
in terms of the vertex points and connecting edges that comprise
them. When a single vertex point is moved arbitrarily in
hyperspace, it will in all likelihood no longer be located
exactly on any face planes or hyperface hyperplanes to which it
actually belongs, and this has the potential for distorting the
mathematical correctness of any geometrical calculations carried
out in generating the displayed image. The upshot of all this is
that the translation of a vertex is always treated as a small and
temporary local perturbation of the overall geometry. HYPERGEO
remembers the original (true) position of the vertex, and this
position is always automatically restored as soon as any command
is invoked that may entail a permanent transformation of the
database.
The intent of the vertex translation feature is to provide the
ability to temporarily "tweak" a particular vertex and view how
that perturbation is reflected in the current image. It does not
allow the construction of a new, permanently modified geometry
definition.
3.3.4.1 4-D Image Considerations
To be able to select and translate a particular vertex of the
current hyperobject, the point corresponding to that vertex must
be visible in the current display. It should be recalled that in
the case of images generated by performing an intersection of the
hyperobject with a hyperplane, the points and edges seen in the
final display do not correspond directly to points and edges in
the hyperobject. Such a correspondence is only certain to exist
with images generated as projections of the hyperobject onto a
3-D hyper-viewplane. For this reason, the translation state of
HYPERGEO Version 2.1 Page 3-23
the user interface can only be entered when the display is of a
4-D to 3-D projection image. However, it should be noted that
this includes the dual imaging mode in which both an intersection
and a projection are shown simultaneously on the screen side by
side. With a dual image, the projection portion can be used to
select a vertex with the mouse, and the results of translating
the vertex appear as temporary perturbations of both images. In
fact, this probably makes the dual imaging mode the most
interesting and useful one for performing vertex translations.
3.3.4.2 The Two User Interface States: Rotation and Translation
As mentioned in the preceding section, the normal HYPERGEO user
interface provides commands to perform rotations of the current
geometry. An interactive command exists (keystroke 'U') to
toggle the user interface between this default state and the
alternative state in which an individual vertex point may be
translated in hyperspace. Which state the user interface is in
is indicated by the commands available in the menu area and by
the behavior of the mouse cursor.
In the default rotation state of the user interface, the mouse
cursor is an arrow icon, and the cursor is always restricted to
the menu area (if displayed). When the user interface is
switched to the translation state, the cursor becomes a
cross-hair icon, and it is repositioned to the main graphics
area. While the cursor is a cross-hair, the mouse can be used to
select a vertex point which is to be translated. Once a vertex
has been selected with the mouse, it is marked in the display
with a cross-hair symbol, and the mouse cursor reverts to the
normal arrow icon and returns to the menu area. The special
translation state commands of the user interface can then be used
to perform temporary movements of the selected vertex.
The contents of the bottom portion of the menu area depend upon
the user interface state. In the normal rotation state, this
part of the menu contains the mouse control pads for performing
4-D planar rotations:
____________________
| | | |
| | | |
| YZ | XZ | XY |
| | | |
|______|______|______|
| | | |
| | | |
| XW | YW | ZW |
| | | |
|______|______|______|
| |
| 4-D PLANE |
|____________________|
HYPERGEO Version 2.1 Page 3-24
When the translation state of the user interface is in effect,
4-D rotations are unavailable, and the bottom portion of the menu
area is replaced with a control pad containing the vertex
translation functions:
____________________
| | | |
| | | |
| Sel | Y | Nxt |
| | | |
|______|______|______|
| | | |
| | | |
| Z | W | X |
| | | |
|______|______|______|
| |
| MOVE VERTEX |
|____________________|
The pads labeled X, Y, Z, and W perform a translation of the
vertex along the corresponding coordinate (the right mouse button
increments the coordinate value, and the left mouse button
decrements it). Selecting the pad labeled "Sel" deselects the
current vertex and sets the interface to select a new one; the
mouse cursor changes to a cross-hair icon and moves to the main
display area. Selecting "Nxt" deselects the current vertex and
automatically selects the next sequential one according to an
(essentially arbitrary) ordering scheme used by the internal
database.
Whenever a vertex that has had temporary translations performed
on it is deselected (either via the "Sel" or "Nxt" functions
described above, or by toggling out of the translation state of
the user interface entirely via the 'U' command), the permanent
4-D coordinates of the vertex are restored.
3.3.4.3 Vertex Translations without a Mouse
Keyboard equivalents enable the performance of vertex
translations even if no mouse is present on the system. Only the
function of selecting a particular vertex in the display cannot
be performed directly (although the same effect can be achieved
in a somewhat roundabout fashion).
HYPERGEO Version 2.1 Page 3-25
Without a mouse, when the program enters the translation state of
the user interface (via the 'U' command), there is no visible and
movable cursor for selecting a vertex. However, the <Enter> key
will select one vertex arbitrarily. Once a vertex is selected,
<Enter> is equivalent to the "Nxt" function pad in the menu area;
it allows cycling through all vertexes in an arbitrary order.
The <Esc> key is equivalent to the "Sel" function; it deselects
the current vertex.
The arrow keys can be used to perform the actual vertex
translations. Right-arrow translates the selected vertex along
the X-coordinate, up-arrow along the Y-coordinate, left-arrow
along the Z-coordinate, and down-arrow along the W-coordinate.
Using the arrow keys without any modifer key causes translations
in the positive direction along the particular axis. Combining
the arrow keys with the <Shift> key performs the translation in
the negative direction. (Because <Shift> does not work with the
arrow keys correctly on some keyboards, <Ctrl> can also be used
wth the arrow keys to perform translations in the negative
direction.)
3.4 View Control
The final step in the processing chain that leads from the
specification of the geometry of a four-dimensional hyperobject
to the depiction of an image of that object on the computer
screen is the generation of the two-dimensional graphical output.
As described above in a previous section of this document, the
program uses a number of variations of a basic 3-D to 2-D linear
projection to perform this step. The user has access to several
interactive commands with which to adjust a number of parameters
that affect the appearance of the final display. Paramount among
these is the output display mode.
3.4.1 The Five Display Modes
As outlined earlier, there are five possible projection modes in
which the final graphical output can be presented: perspective,
stereoscopic anaglyph, hidden-line, surface relief, and solid.
The selection of a particular mode is one of the parameters which
the user can modify; any one of the five modes can be invoked at
any time (with some exceptions - see below). A data field in the
menu area shows which mode is in effect. Whenever the display
mode is changed, the program immediately redraws the
representation of the current geometry using the method of the
new mode. The basic orientation of the hyperobject remains fixed
across any such switch in display mode.
HYPERGEO Version 2.1 Page 3-26
The exceptions referred to in the preceding paragraph are as
follows: first, the stereoscopic anaglyph and surface relief
modes cannot be invoked on monochrome systems (since the anaglyph
requires red and blue); and second, the hidden-line, surface
relief, and sold display modes can only be selected if the 4-D to
3-D reduction step is using 4-D intersection, not 4-D projection
(since 4-D projections do not produce a 3-D geometry which is a
solid 3-D polyhedron amenable to hidden-line analysis).
3.4.2 Key Display Parameters
Two numeric parameters are key in the calculations which generate
the graphics seen on the screen. First, the eye-to-screen
distance is used to calculate all forms of 3-D to 2-D projection.
The eye-to-screen distance is shown as a data item in the menu
area. It can be adjusted up or down interactively by the user.
Decreasing the eye-to-screen distance has the effect of enhancing
the perceived degree of perspective in the picture, and
increasing the distance reduces the perspective. The
eye-to-screen distance can be adjusted in increments or
decrements equal to 10% of its current value, or it can be set to
an explicit numeric value. The program automatically limits the
maximum and minimum values to which the eye-to-screen distance
can be set in order to prevent numeric errors from occurring in
calculations that are performed when generating the perspective
displays and which make use of the eye-to-screen value.
The second key display parameter is the scale factor which is the
ratio of screen inches to geometry units. This value determines
the apparent size of the object as finally drawn on the screen.
The scale factor is displayed as a data field in the menu area.
It can be adjusted up or down in increments of 10% of the current
value, or it can be assigned an explicit numeric value. When a
new geometry file is read in, and if there is no overriding
information in the configuration file, the program automatically
sets the scale factor so the image of the object fits comfortably
within the primary graphics area allowing plenty of room for
rotations.
Both the eye-to-screen distance and the display scale factor can
be specified in the configuration file.
HYPERGEO Version 2.1 Page 3-27
3.4.3 Hyperface Highlighting
The concept of a four-dimensional solid hyperobject's possessing
three-dimensional hyperfaces (a higher-order geometrical analogy
to the intuitively comprehensible fact that a three-dimensional
polyhedron possesses two-dimensional faces) is naturally very
difficult for us to grasp. To aid in visualizing this, HYPERGEO
has a feature which enables the user to highlight that portion of
the displayed 3-D image (either projection or intersection) that
belongs to a single hyperface. A special highlight color
(distinct from the primary graphics foreground color) is used to
display all edges that are part of the hyperface that is
currently highlighted. This makes the shape and topological
structure of the hyperface readily visible as the hyperobject in
its entirety is manipulated in hyperspace.
It should be noted that a different interpretation must be placed
on the visible pattern of highlighted edges depending on whether
the 3-D image is a projection or an intersection. For a 4-D to
3-D projection, the edges seen in the final displayed image all
correspond exactly to actual edges that exist in the hyperobject.
Since a hyperface must be a simple, convex polyhedron, the
pattern of hightlighted edges will also always form a complete
polyhedron (although its shape will appear variously twisted and
distorted due to the effects of the 4-D to 3-D projection).
For 4-D to 3-D intersections, the situation is different. The
edge lines that appear in the final display for an intersection
correspond not to the original edges of the hyperobject but
rather to the outlines of the polygons that are formed at the
intersections of each of the hyperobject's hyperfaces with the
intersecting hyperplane. Thus, a highlighted hyperface in a 4-D
to 3-D intersection image will appear as a single highlighted
face of the three-dimensional polyhedron that is the overall
intersection. It is also possible that, as the hyperobject is
rotated in 4-space and the intersecting hyperplane is moved, the
highlighted hyperface may for a time fail completely to intersect
the hyperplane. When this happens, no highlighted edges will
appear in the 3-D intersection image (since the 3-D polyhedron
has at that moment no face derived from an intersection of that
particular hyperface). Indeed, it is generally most revealing to
observe the changing (and occasionally vanishing) shape of the
highlighted face that is the intersection of the hyperplane and
the highlighted hyperface as the hyperobject is manipulated in
4-space.
The <Tab> key is used to toggle hyperface highlighting on and
off. When highlighting is on, the <Space> bar advances the
highlighting to the next hyperface (according to an arbitrary
internal ordering), and <Backspace> highlights the preceding
hyperface (per the same arbitrary ordering).
HYPERGEO Version 2.1 Page 3-28
Ordinarily, highlighting uses the color which is specially
designated for that purpose in the overall HYPERGEO palette (see
the discussion on HYPERGEO's use of color in Section 3.2.1).
However, in certain circumstances, a different color or technique
is used. On monochrome systems a thick line is used to indicate
highlighting rather than a different color. In the display modes
that use red-blue anaglyphs (stereoscopic and surface relief), a
brighter intensity of the requisite red and blue shades is used
for the highlighted edges. And when hyperface highlighting is
used together with the W-coordinate spectrum banding feature (see
below), the normal foreground color (default white) is the
highlight color.
3.4.4 W-coordinate Spectrum Banding
It is inherent in the nature of 4-D to 3-D image reductions
(especially projections) that the W-coordinate information of the
original hyperobject is lost. This follows inevitably from the
fact that the projection takes place onto a hyperplane that has a
constant W-coordinate value. The resulting image has full 3-D
structure; the X and Y dimensions are readily apparent, even
after projection onto the 2-D viewscreen, and the Z dimension can
be perceived to a greater or lesser extent (most greatly in the
stereoscopic projection modes). However, the W dimension gets
lost in the reduction process and must be inferred indirectly
from the changing appearance of the 3-D image as the hyperobject
is manipulated.
As an aid to perceiving the W-dimension information, HYPERGEO has
a feature that causes all edges of the current image to be
displayed in a color (or spectrum of colors) that is a function
of the W-coordinate values of the corresponding edge of the
original hyperobject. This feature uses a spectrum of ten colors
in place of the single primary foreground color. The spectrum
ranges from blue-violet for the minimum W-coordinate value,
through blue, aqua, cyan, blue-green, green, olive-green, yellow,
and orange, up to red for the maximum W-coordinate.
The total range of possible W coordinates is divided into ten
bands, and each band is assigned its corresponding spectrum
color. All edge lines are displayed divided into separate
segments according to how the W-coordinate values of the original
4-D edge range across the spectrum bands; each segment is
displayed in the color that is correct for that segment's
W-coordinate values.
HYPERGEO Version 2.1 Page 3-29
For an image that is a 4-D to 3-D intersection, it should be
noted that, by definition, all visible lines in the image have a
single W-coordinate value (i.e., the current W-value of the
intersecting hyperplane). Therefore, with W-coordinate spectrum
banding in effect, an intersection image will be displayed
entirely in whatever spectrum color corresponds to the W
coordinate of the intersecting hyperplane. This will not change
if the hyperobject is rotated, but it will change when the
intersecting hyperplane is translated along the W-axis. In this
latter case, the 3-D image will continue to be a single color,
but that color will change through the spectrum shades as the
hyperplane's W-coordinate ranges across the ten possible bands.
The spectrum banding feature is toggled on and off with the 'B'
key.
3.5 Journalling
The journalling feature in HYPERGEO permits the recording into a
disk file of all display information that appears on the screen
during a sequence of manipulations of the current geometry. A
recorded journal file can later be replayed, redisplaying the
exact images that were visible during the original interactive
session.
This ability to record and replay a sequence of displayed images
can be useful in several ways. By saving the display to a
journal, the user can be sure of being able to recreate a
particularly interesting image that might happen to occur and
would not otherwise be easily reproducible. Also, the automated
rotation commands (in particular, the commands that peform
sequences of unpredictable - and unrepeatable - random rotations)
can have their display sequences recorded in a journal file, thus
ensuring that they can be redisplayed at will exactly as they
originally appeared. Finally, for very large geometrical models,
where the computational time spent in updating the database
between images is significant, the display can be recorded, and
when the journal is replayed, the computational delays are
eliminated; the recorded images can be displayed as fast as the
computer's graphics system will allow. This enables a relatively
slow and long-running interactive sequence to be viewed at a
speed that makes the behavior of the geometry far more
intuitively comprehensible.
A word of warning is in order here. Although the data recorded
in a journal file is reduced to the minimum amount necessary to
recreate the display, the volume of data required can still be
considerable, especially for large and complex geometries. It is
very possible that a journal file, if left recording over an
extended period of time, will fill megabytes of disk space. (The
W-coordinate spectrum banding feature described above is
HYPERGEO Version 2.1 Page 3-30
especially costly in this regard since it multiplies the number
of individual segment records, with their coordinate and color
information, that must be written to the journal file.)
Therefore, unless you have enormous ammounts of disk space at
your disposable, it is wise to first create a brief trial journal
of a particular geometry to get an approximate idea of how many
bytes are needed for each separate recorded image. You also
should be aware of how much free disk space your system has
available (the DOS command "DIR" will tell you this).
Because the data contained in a journal file reflects only the
actual display seen on the screen, it is specific to the current
system configuration. Journal files are, in general, not
portable between systems. For example, a journal recorded in
monochrome will definitely not look right if replayed on a color
system. In addition, it is just possible that a journal file
will not work correctly on the same system if the HYPERGEO
configuration is changed significantly between the journal's
recording and its replaying.
3.5.1 Recording a Journal File
Recording of a journal file may be started any time that a
geometry is active in the HYPERGEO display. The keystroke 'K' is
used to start recording. A text dialog box appears which
requests input of the name of the journal file to be created.
When the dialog box first comes up, the type-in area contains a
default file name which is the name of the current geometry
definition with an extension of .JNL. The text editing features
of the dialog box can be used to modify this file name if
desired, including the prepending of a DOS path specification to
place the file in a different directory.
Once the journal file name has been confirmed, recording is in
effect. A message indicating that a journal file is being
recorded appears at the bottom of the main display area.
Every interactive operation that changes the display on the
screen writes the new image to the journal file. Within the
journal each separate image is known as a "frame". Only the
primary graphics are written to the journal; the menu area is not
journalled, nor are any message or interactive dialog boxes that
might appear as various HYPERGEO commands are executed.
The keystroke 'K' is also used to terminate the recording of a
journal file. It brings up a message dialog box that shows the
name of the journal file, the date and time its recording was
started, and the total number of frames it contains.
HYPERGEO Version 2.1 Page 3-31
3.5.2 Replaying a Journal File
A previously recorded journal file can be replayed whenever
HYPERGEO is accepting interactive commands. For the replaying of
a journal it does not matter what the current geometry is since
the journal will override the current display while it is being
replayed, and the current interactive display will be restored
when the journal replay is finished.
The keystroke 'J' invokes the journal replay command. A file
selection dialog box appears listing all files that have
extension .JNL in the current directory. The features of the
dialog box can be used to select a journal file which is located
in a different directory or which has a non-standard extension
(i.e., other than .JNL). Once a journal file name has been
selected and confirmed, the program enters journal replay mode.
The display of the current geometry is erased, and the first
frame of the journal file is displayed. The name of the geometry
file which was recorded appears in the upper-left of the main
display area along with a frame counter that shows the current
journal frame number along with the total number of frames in the
file.
The journal replay command has options for displaying the
contents of the journal that are modeled on the controls
available on a video tape recorder (VCR). They permit viewing
the journal's frames in the normal forward direction and also in
the reverse direction. The journal may be moved forward or
backward through the frames at high speed as in a VCR's fast
forward and fast reverse (rewind) commands. In addition, the
display of the journal may be stopped on any frame, and the
journal may be stepped forward or backward a single frame at a
time.
A menu line appears at the bottom of the screen during journal
replay that lists the keystroke commands that perform these VCR
functions:
HYPERGEO Version 2.1 Page 3-32
F - Fast forward Advances the journal forward through
the frames at high speed until the
last frame is reached, then stops.
The main display is blank during fast
forwarding; only the frame counter is
updated.
P - Play Displays the journal file's frames
sequentially in forward order until
the end of the journal is reached,
then stops.
A - Advance Steps the journal forward one frame
and stops.
S - Stop Stops the journal on the current
frame; that frame's display will
remain visible indefinitely until
another replay command is executed.
B - Back Steps the journal backward one frame
and stops.
R - Reverse Displays the journal file's frames
sequentially in reverse order until
the start of the journal is reached,
then stops.
W - Rewind Advances the journal backward through
the frames at high speed until the
first frame is reached, then stops.
The main display is blank during
rewinding; only the frame counter is
updated.
E - Eject Ends the journal replay. The display
of the current geometry is restored,
and normal HYPERGEO interactive
commands are in effect.
The Play and Reverse commands display the journal file frames as
rapidly as the system's graphics capabilities will allow.
Normally, this is considerably faster than the speed of the
interactive manipulations that were recorded in the journal.
HYPERGEO Version 2.1 Page 3-33
An alternative set of control keys is also enabled during the
replay of a journal file that are designed to be used on
keyboards which have a numeric keypad. (Note: NumLock must be
off to use these keypad commands.) They are entirely equivalent
to the command keys listed above:
Fast forward - End
Play - Right-arrow
Advance - Down-arrow
Stop - '5' on the keypad
Back - Up-arrow
Reverse - Left-arrow
Rewind - Home
Eject - Escape
A diagram of the keypad gives a better sense of the logic behind
this arrangement:
________________________________
| | | |
| | | |
| Rewind | Back | |
| | | |
|__________|__________|__________|
| | | |
| | | |
| Reverse | Stop | Play |
| | | |
|__________|__________|__________|
| | | |
| | | |
| Fast Fwd | Advance | |
| | | |
|__________|__________|__________|
As an additional convenience, the <Space> bar also executes the
Stop command.
HYPERGEO Version 2.1 Page 3-34
3.6 PCX File Output
The display currently visible on the screen may be saved in a PCX
file at any time during interactive editing. PCX is a standard
graphics file format that can be read by many commercial
word-processing, desktop publishing, and presentation artwork
programs. This provides a means for copying HYPERGEO images into
documents and for producing printed output.
The 'O' key executes the PCX File Output command. It brings up a
text dialog box which requests the name of the file to be
created. The dialog box's type-in area is pre-filled with a
default name which is the name of the current geometry file with
.PCX as its extension. The dialog box features may be used to
change this name if desired, including prepending a DOS path
specification to place the output file in a different directory.
Once the file name is confirmed, the PCX file is created. A
message window appears indicating the successful completion of
the command.
HYPERGEO Version 2.1 Page 4-1
Section 4. Inner Workings
4.1 Units
The coordinates of the geometry definition are considered to be
in so-called "geometry units" which are not assumed to have any
particular relation to any real physical unit. Regardless of the
size of the coordinate values, HYPERGEO will scale the display to
fit within the visible screen area. Some of the parameters that
can be specified by the user are expressed in geometry units and
must be entered that way. Other parameters, in particular, those
relating to the projection of the final 2-D image on the computer
screen, are expressed in real-world units. The program uses
inches for all real-world dimensions, and the display scale is
expressed as a ratio of inches to geometry units (the inches here
refer to distances on the face of the screen).
In the detailed reference material contained in the appendixes to
this document and in all program prompts and messages the units
to use for a particular data value are always indicated.
4.2 Verification of the Geometry Definition
A geometry definition file is created by the user as an ordinary
text file (see Appendix A for a full discussion of this file's
format). It is then processed into a more efficient binary
(i.e., non-text) form which can in turn be read by the HYPERGEO
program. This text-to-binary processing step is performed by the
GEO2BIN utility program. In addition to converting the geometry
definition to binary format, the GEO2BIN program also performs
some error checking on the correctness of the geometrical model.
It analyzes the definition of the described object which contains
direct information on the number of vertexes and edges. The
number of faces and (for 4-D) hyperfaces is calculated, and
various aspects of the input file and its derived topology are
checked for validity:
* The number of dimensions must be either 3 or 4.
* Every vertex must have at least as many edges connected to
it as the number of dimensions.
* All edge connections must be consistently specified
between both connected vertexes, that is, if vertex #1 is
in the connection list of vertex #2, vertex #2 must be in
vertex #1's list, also.
* The numbers of vertexes, edges, faces, and (for 4-D)
hyperfaces must agree with the theoretical values as given
by Euler's Formula or its hypergeometric version.
HYPERGEO Version 2.1 Page 4-2
If any of these checks fails, an error message is displayed, and
the binary geometry definition file is not created.
4.3 Overlay Swapping
HYPERGEO was developed using Borland C++ Version 3.1, and it
makes use of the Borland overlay manager (called VROOMM for
Virtual Run-time Object-Oriented Memory Manager). Various
portions of HYPERGEO's executable code are swapped in and out of
memory dynamically as they are needed while the program is
running. This technique is known as overlaying and is a standard
approach for minimizing a program's run-time memory requirements.
It reduces the amount of system memory required by the program at
any one time.
However, overlaying has the drawback that it may entail repeated
disk reads of the program's executable file (whenever a new
portion of the code must be loaded for execution). This can
cause a noticeable slow-down in the program's performance. A way
to avoid this problem is to use system memory outside the
standard 640K DOS area to store those portions of the program
that are temporarily swapped out. When they are needed again for
execution, they can be retrieved from memory much faster than if
they must be reread from disk.
The Borland overlay manager allows using either expanded memory
(EMS) or extended memory as the overlay storage area. A full
discussion of what expanded and extended memory are and how they
are implemented on a PC is beyond the scope of this document.
Those topics are covered in some detail in the DOS reference
manual. Suffice it to say for now that if your computer has any
memory beyond the 640K main DOS area, it is probably set up to be
available as one or the other of expanded or extended.
If your system has extra memory but you're not sure how it is set
up, you can simple try running HYPERGEO with each of the two
overlay swapping options (-e for EMS expanded, -x for extended)
and see which one works. If you choose the wrong one, HYPERGEO
will issue a message saying it can't find the specified type of
memory and will not start up.
Note: If your system has a disk caching utility installed (for
example, Microsoft's SMARTDRV, which is provided with MS-DOS and
Windows 3.x), you should not enable HYPERGEO's overlay swapping.
The disk caching performs a similar function, and HYPERGEO's
overlay swapping would be redundant.
HYPERGEO Version 2.1 Page 5-1
Section 5. Restrictions and Limitations
5.1 Geometry Definition File
The database maintained by the HYPERGEO program is dynamically
allocated and expands to fit the size of the geometry being
handled so there are no precise and absolute capacity limits on
how big and complicated an object may be. The ultimate barrier
is the 640K limit of available memory under DOS. Although I have
not done the actual experiment, my guess is that the two largest
regular four-dimensional polytopes, with 120 and 600 hyperfaces
respectively (and as many as 1200 edges and faces), would far
overwhelm HYPERGEO and DOS with their memory allocation
requirements. If some intrepid researcher would care to
undertake the creation of geometry definition files for these two
very large hyperobjects, I would be most interested in hearing
about the results.
For more reasonably sized geometries, the most important
restriction is that all 4-D hyperobjects must be "simple" and
externally convex. (Simple means the object must be solid without
any holes passing through it.) For 3-D geometries, the
requirement that the object be externally convex is removed, but
it must still be a simple polyhedron, and all its faces must be
simple polygons without internal edges. Note that this last
condition implies more severe limitations than is at first
evident since it means that no face can have isolated projections
or depressions in it (as that would mean there would be a ring of
edges internal to the face and disconnected from the rest of the
topology).
As mentioned above, GEO2BIN performs some checking on the
topological correctness of the input geometry. However, to be
truthful, this checking is not totally comprehensive; it can
certainly fail to detect some errors in the input, and when it
does find errors, the messages issued are not always as helpful
as could be wished in pinpointing the problem. I am sure that it
would be possible to get the program to misbehave quite
seriously, including hanging or crashing, by feeding it
pernicious input data. Therefore, until a future version of the
program possesses improvements in this regard, the user must take
some pains to insure that all new geometry definition files are
created carefully and accurately. If the program crashes upon
startup, consider that to be a very loud, broadband error
message, and check the geometry file closely. (However, HYPERGEO
and the utility GEO2BIN are not totally deficient in this regard,
and they will issue error messages when certain problems are
detected. A geometry definition file with only a handful of
conventional errors will be handled adequately.)
HYPERGEO Version 2.1 Page 5-2
5.2 Mathematical Precision
Most calculations in HYPERGEO are performed using a special
fixed-point format that uses 32-bit data fields. Within this
field, 24 bits are used for the fractional portion of the value,
and this gives about seven decimal digits of accuracy. This is
sufficient to produce graphics that are accurate and correct to a
degree well beyond the limiting resolution of PC display devices.
It is possible that small discrepancies may appear in some of the
parameter values displayed by HYPERGEO as a result of restricting
the precision of numerical calculations to 24 bits. For example,
you may notice that if you perform a single rotation of the
geometry away from its starting orientation (where all axis
angles are exactly zero) and then immediately perform a single
identical rotation in the reverse direction, the axis angles may
not all be restored to precisely zero. This particular
phenomenon is an especially sensitive indicator of very slight
imprecisions in the fixed-point calculations; it arises because
the axis angles are calculated as inverse cosines of orientation
matrix coefficients, and the cosine function has the property
that its value is very close to 1.0 for a fairly wide range of
small angle values. (For example, the inverse cosine of 0.999999
is approximately 1/10 degree.) Despite such apparent
inaccuracies, the calculations are accurate to a degree of
precision more than sufficient to produce exactly correct
graphics.
All numbers that are accepted as user input to the program (such
as values appearing in configuration file parameter
specifications) are handled as double precision floating-point
quantities. The double precision word length is 64 bits which
provides about fifteen decimal digits of accuracy. Any
floating-point values given to the program (such as coordinates
in the geometry definition file or scale factor in the
configuration file) may contain up to fifteen digits although the
usefulness of such extreme precision is questionable.
HYPERGEO Version 2.1 Page 6-1
Section 6. Supplied Geometry Definition Files
The HYPERGEO program comes with several "ready-to-run" geometry
definition files, including both 4-D and 3-D objects. These
files include four of the six regular convex four-dimensional
polytopes and all five of the three-dimensional regular convex
polyhedra (the so-called "Platonic solids"). (As indicated
above, the remaining two regular convex 4-D polytopes are almost
certainly too big and complex to fit in HYPERGEO under DOS; they
also are too far beyond my powers of hypergeometric comprehension
to capture in a HYPERGEO input file.)
All of the supplied geometry definition files are in binary
format and have the file extension .BIN. The root portion of the
file name corresponds to the name of the geometric object
contained in the file (with some abbreviations as required by DOS
file name length limits). The regular four-dimensional polytopes
are in the files:
File Name Vertexes Edges Faces Hyperfaces
------------ -------- ----- ----- ----------
5CELL.BIN 5 10 10 5
HYPRCUBE.BIN 16 32 24 8
16CELL.BIN 8 24 32 16
24CELL.BIN 24 96 96 24
Note that except for the hypercube the 4-D polytope names are of
the form 'N-cell' where N is the number of hyperfaces. (The
hypercube, technically and to be consistent, could be called the
8-cell - just as the cube could be called a 'hexahedron' and the
square a 'tetragon'.) For the record, the two 4-D regular
polytopes that aren't included here are the 120-cell and the
600-cell.
HYPERGEO Version 2.1 Page 6-2
For three dimensions, all of the regular polyhedra names except
"cube" are of the form '<prefix>hedron' where <prefix> is the
Greek numeral indicating the number of faces: tetrahedron,
octahedron, dodecahedron, and icosahedron. The HYPERGEO geometry
definition file names are formed from just the prefix without the
base 'hedron':
File Name Vertexes Edges Faces
------------ -------- ----- -----
TETRA.BIN 4 6 4
CUBE.BIN 8 12 6
OCTA.BIN 6 12 8
DODECA.BIN 20 30 12
ICOSA.BIN 12 30 20
In addition to the regular polytopes and polyhedra, the following
geometry definition files are also included:
File Name Dimensions Geometrical Object
------------ ---------- ---------------------------------
BLOCKS.BIN 3 A three-dimensional cross formed
by stacking cubes along each of
the three coordinate dimensions.
STELLA.BIN 3 The "stella octangula", an
interesting polyhedron formed by
merging two 3-D tetrahedra.
HG.BIN 3 A shape that forms the HYPERGEO
logo by presenting the outline of
the letter 'H' when viewed from
two of the three orthogonal
directions and the outline of the
letter 'G' when viewed from the
third.
HYPERGEO Version 2.1 Page 6-3
HYTETRA.BIN 4 These four objects are
HYOCTA.BIN 4 "hyperprisms" derived from the
HYDODECA.BIN 4 3-D regular polyhedra contained
HYICOSA.BIN 4 in their names. A hyperprism is
formed by positioning two 3-D
objects in hyperspace at a given
separation along the W-axis and
connecting each of the pairs of
corresponding points between the
two objects. The resulting
hyperobject has two hyperfaces
that are the same shape as the
base 3-D object plus an
additional number of hyperfaces
equal to the number of faces in
the base 3-D object. These
additional hyperfaces are 3-D
prisms whose end faces are the
same polygonal shape as the faces
of the base 3-D object. Thus,
for example, the HYTETRA.GEO
hyperobject is based on the 3-D
tetrahedron; it has two
hyperfaces that are tetrahedra
and four hyperfaces that are
prisms with triangular end faces.
(Note: Technically the hypercube
is itself a hyperprism - one
based on the cube - but since it
is also one of the regular 4-D
polytopes, it is not included in
this series.)
ADDITIONAL GEOMETRY DEFINITION FILES SUPPLIED WITH REGISTERED
COPIES OF HYPERGEO
In addition to those files listed above, a number of extra
geometry files are included with the utility program material
that is supplied with a registered copy of HYPERGEO.
First, the text-format version (extension .GEO) of each of the
.BIN files listed above is supplied. This text version is not
needed to use the geometry file in HYPERGEO, but it is of value
as documentation showing how the objects and hyperobjects are
constructed. The text files may also be of use as models to
follow if the user creates any additional geometry definitions
from scratch.
HYPERGEO Version 2.1 Page 6-4
Second, the following geometry definition files are supplied in
both binary and text format (all are 3-D):
File Name Geometrical Object
------------ -------------------------------------------------
CUBOCTA The cuboctahedron. This is a "quasi-regular"
convex polyhedron which is formed as the
intersection of a cube and an octahedron. The
faces are not all identical as in the Platonic
solids, but they are all regular polyhedra
(squares and equilateral triangles), and they
are cyclically regular about each vertex.
STELCUBO The stellated form of the cuboctahedron. It is
the union of a cube and an octahedron.
RHDODECA The rhombic dodecahedron. This is the dual of
the cuboctahedron. All of its faces are
identical rhombuses.
ICODODEC The icosidodecahedron, the second quasi-regular
convex polyhedron. It is formed as the
intersection of an icosahedron and a
dodecahedron. Its faces are regular triangles
and pentagons, and they are cyclically regular
about the object's vertexes.
STELICOS The stellated icosidodecahedron. It is the
union of an icosahedron and a dodecahedron.
TRIACONT The triacontahedron, which is the dual of the
icosidodecahedron. It is also a rhombohedron.
HYPERGEO Version 2.1 Page A-1
Appendix A. Geometry Definition File
This appendix describes the text format of the geometry
definition file. This file is the primary input to the HYPERGEO
program. It specifies the topology and dimensions of the
geometrical object to be displayed. In particular, the file
contains the coordinate values for all vertex points of the
object plus connectivity information that indicates which
vertexes are joined by edges. Section A.1 of this appendix is a
complete reference on the format of this file.
A geometry definition file cannot be used directly by HYPERGEO in
its original text form. It must first be converted into a binary
format with the GEO2BIN utility program. The binary version of
the geometry file can be read much more quickly by HYPERGEO than
the text version since it contains the additional derived
topological information required to construct the internal
HYPERGEO database. Section A.2 of this appendix describes the
use of the GEO2BIN utility.
A.1 Text Format of the Geometry Definition File
The geometry definition file is an ordinary text file that can be
edited using any available text editor. It is read by the
GEO2BIN program a line at a time; each line comprises one
complete data record, and there is no way to continue data across
multiple lines. The maximum length of a line is 255 characters.
The geometry definition file can contain notes and comments that
are not part of the data read by the program, but serve as
human-readable annotation. This is indicated by preceding any
such comments with the character '!'. GEO2BIN ignores any '!'
character plus whatever follows it on the same line. If the
first character on a line is a '!', the entire line is skipped by
the program. If the '!' character appears following some data on
a line, that data is read by the program, but everything after
the '!' is ignored.
The geometry definition file can contain any number of blank
lines, which are ignored. A line which contains only comment
text is considered by the program to be a blank line.
Every geometry definition file must begin with two particular
data lines. The first contains a single integer value which is
the number of dimensions of the geometric object; this number
must be either 3 or 4. The second line contains a single integer
that is the number of vertex points in the geometry. Following
these two lines, there must be one line with point data for each
vertex point.
HYPERGEO Version 2.1 Page A-2
Each point data line contains the coordinate and connectivity
information for a single vertex point. Its format is:
n: x.x y.y z.z [w.w] p1 p2 p3 [... pN]
where 'n' is the sequence number of the point data line; 'x.x',
'y.y', 'z.z', and 'w.w' are the X, Y, Z, and W coordinates of the
point; and 'p1' through 'pN' are the sequence numbers of all
other points connected to this point by edges.
Each point's sequence number serves to identify the point within
the file. It is the number used in the connection lists, and it
is also the number used to refer to the point in any error
messages that may be issued. All point sequence numbers are
integers, and they must be in ascending order within the file;
the first point data line must have sequence number 1, and the
last point data line must have a sequence number equal to the
total number of vertex points in the object.
The coordinate values are floating-point numbers and may contain
an optional decimal point and fractional digits. They may also
contain a decimal exponent in standard scientific notation
format. The coordinate values may be in any units desired; the
program always scales the final display to fit the screen. The W
coordinate must be specified for a four-dimensional geometry and
must not be specified for a three-dimensional one.
The list of connected points contains the sequence numbers of all
points connected to the point described by the given data line.
Connection information must be symmetrical, that is, if point A
is in point B's connection list, point B must also be in point
A's connection list. It is an error for a point to be in its own
connection list. Unlike the coordinate values, the program has
no way of knowing how many connections should exist for each
point and hence cannot directly report an error if there are too
few or too many. Therefore, it is incumbent upon the user to
construct these lists with some care.
Except for the ':' that must follow the sequence number, no
punctuation is used to separate the data values, just one or more
spaces.
Following all point data, the geometry definition file may
optionally contain configuration information. If it appears, it
must consist of statements that are identical in format to the
primary configuration file (see Appendix B). Configuration
parameters specified in a geometry definition file override
corresponding parameters set in the primary configuration file,
but they remain in effect only while that geometry definition
file is active in the HYPERGEO program.
HYPERGEO Version 2.1 Page A-3
A.2 The GEO2BIN Utility Program
Every text Geometry Definition File (default extension .GEO) must
be pre-processed to produce the corresponding binary version of
the geometry definition (extension .BIN) in order to be used as
input to the HYPERGEO program. The GEO2BIN utility program is
provided to perform this text-to-binary conversion step. It must
be executed (once only) for each new text geometry file before
the file can be used in HYPERGEO, and it must be executed again
(once) whenever any change is made to the text version of the
geometry file. Note that this includes changes made to any
configuration data that may be specified in the geometry
definition file; the GEO2BIN program copies all such
configuration data into the binary (.BIN) version of the file so
it can be read by the main HYPERGEO program.
GEO2BIN is a normal DOS program; it is executed by typing its
name on the DOS command line followed by the name of the text
geometry definition file to be processed:
GEO2BIN <name-of-text-geometry-file>
The geometry file name may contain a DOS path specification;
otherwise, it is assumed to exist in the current directory. If
the name as entered has no extension, .GEO is assumed. The
output file created by GEO2BIN has the same name (and goes in the
same directory) as the input text file, but with the extension
.BIN.
The GEO2BIN program displays status information indicating its
progress as it is processing the geometry data. If GEO2BIN finds
errors in the geometry file, it displays appropriate messages on
the screen and does not create the binary output file. If
desired, these error messages can be written to a file rather
than displayed on the screen by using the standard DOS
command-line redirection facility (the '>' character).
Examples:
GEO2BIN HYPRCUBE
This reads the text geometry file HYPRCUBE.GEO in the current
directory and creates the binary version HYPRCUBE.BIN in the
current directory.
GEO2BIN D:\DATA\CUBE.DAT >GEO2BIN.ERR
This reads the text geometry file CUBE.DAT in directory D:\DATA
and creates the binary version CUBE.BIN in directory D:\DATA.
Any error messages will be written to the file GEO2BIN.ERR in the
current directory rather than being displayed on the screen.
HYPERGEO Version 2.1 Page B-1
Appendix B. Configuration File
This appendix describes the format of the HYPERGEO configuration
file. This file allows the user to set a number of parameters
that control various aspects of the program's performance. The
file is read once upon start-up of the program, and is reread
each time a new geometry definition file is entered.
In addition to the configuration file, similar configuration
information may also be contained in any geometry definition
file. The format is the same in both places, but the parameter
specifications in the geometry definition file override those in
the primary configuration file; however, they are in effect only
while that geometry file is active in the program (see Appendix
A).
Note: There is one configuration parameter that is restricted to
being used only in a geometry definition file and that may not be
used in the primary configuration file. See the entry on the
ORIGIN parameter in the list below.
A command line argument exists that allows the user to specify
the name of the particular primary configuration file to use.
This permits multiple configuration files to exist and to be
selected as desired for different executions of HYPERGEO. If no
configuration file name is specified via a command line argument,
the program tries to open one called HYPERGEO.CFG in the current
directory. It is not an error if this default configuration file
cannot be opened, but it is a fatal error if a configuration file
whose name is specified by the command line argument cannot be
opened.
The configuration file is an ordinary text file that can be
edited using any available text editor. It is read by the
HYPERGEO program a line at a time; each line comprises one
complete data record, and there is no way to continue data across
multiple lines. The maximum length of a line is 127 characters.
The configuration file can contain notes and comments that are
not part of the data read by the program, but serve as
human-readable annotation. This is indicated by preceding any
such comments with the character '!'. HYPERGEO ignores any '!'
character plus whatever follows it on the same line. If the
first character on a line is a '!', the entire line is skipped by
the program. If the '!' character appears following some data on
a line, that data is read by the program, but everything after
the '!' is ignored.
HYPERGEO Version 2.1 Page B-2
The configuration file can contain any number of blank lines,
which are ignored. A line which contains only comment text is
considered by the program to be a blank line.
Each data line in the configuration file contains a single
parameter definition. The format of each line is simply the key
word identifying the parameter followed by whatever data values
the particular parameter requires. No punctuation should be
used; all parameters and values should be separated by one or
more spaces.
The case of letters used in the configuration file does not
matter, so lower or upper case (or both) can be used as desired.
However, the program is absolutely unforgiving about spelling;
all parameter key words must be spelled exactly as they are shown
in this document - no abbreviations, no hyphens instead of
underscores, no near misses.
Most parameters take a single data value, either a number or
another key word. Some parameters take a sequence of several
numeric values, and some take no value at all. Numeric values
that are inherently integral must be entered as pure integers.
Where floating-point values are appropriate, the data item may
include a decimal point and fractional digits as well as an
exponent in scientific notation.
Errors encountered by the program while trying to read a
configuration file (or configuration data in a geometry
definition file) are listed on the screen, and the program pauses
to permit the user to read them. The primary configuration file
is read by the main HYPERGEO program, while the secondary
configuration specifications contained in a geometry definition
file are read by the GEO2BIN program; but in both cases the
method of error reporting is the same. All configuration file
errors are fatal and terminate the program (HYPERGEO or GEO2BIN)
after the error message list is dismissed.
The following pages contain a list of all parameters that may be
specified in the HYPERGEO configuration file or a geometry
definition file.
HYPERGEO Version 2.1 Page B-3
Parameter: COLOR
COLOR_BACKGROUND
COLOR_HELP_BACKGROUND
COLOR_HELP_TEXT
COLOR_HILITE
COLOR_MENU
COLOR_MESSAGE_BACKGROUND
COLOR_VECTOR
Value: A color name chosen from the sixteen standard EGA
colors. The possible colors are:
BLACK DARKGRAY
BLUE LIGHTBLUE
GREEN LIGHTGREEN
CYAN LIGHTCYAN
RED LIGHTRED
MAGENTA LIGHTMAGENTA
BROWN YELLOW
LIGHTGRAY WHITE
Use: These eight parameters set the colors used for each
of the component parts of the HYPERGEO display:
COLOR - Primary geometry graphics; also the
transient text values in the menu area and
text in dialog boxes
COLOR_BACKGROUND - Screen background
COLOR_HELP_BACKGROUND - Background color of the
on-line help screen
COLOR_HELP_TEXT - Text color of the on-line help
screen
COLOR_HILITE - Color used to display edges of a
highlighted hyperface
COLOR_MENU - Outlines and fixed labels in menu
area plus the mouse control pad; also the
geometry file name
COLOR_MESSAGE_BACKGROUND - Background color for
all message and prompting dialog boxes
COLOR_VECTOR - Unit axis vectors
The screen background color should be a dark color
(BLACK or DARKGRAY) if the stereoscopic anaglyph mode
of display is to be used.
HYPERGEO Version 2.1 Page B-4
Default: COLOR WHITE
COLOR_BACKGROUND DARKGRAY
COLOR_HELP_BACKGROUND LIGHTGRAY
COLOR_HELP_TEXT BLACK
COLOR_HILITE LIGHTMAGENTA
COLOR_MENU YELLOW
COLOR_MESSAGE_BACKGROUND BROWN
COLOR_VECTOR CYAN
Parameter: COLOR_SOLID
Value: A red/green/blue color specification in the form of
three integers each in the range 0 to 63. The
integers should be entered without punctuation,
separated by spaces.
Use: On VGA color systems, defines the colors to be used
for surface rendering in solid display mode.
For solid surface rendering the program uses twelve
shades of graduated intensity based on the same
color. The shades range from light to dark and are
used to represent the varying degrees of illumination
received by the different faces of the object from a
theoretical light source. (HYPERGEO can optionally
use color dithering techniques to increase the
effective number of solid fill shades from twelve to
twenty-three; see the SOLID_DITHER parameter below.)
The color specified by the COLOR_SOLID parameter
defines the lightest of the twelve shades; the
program creates the remaining eleven to be
increasingly darker variations. Therefore, the color
specified should be fairly light, that is, have
relatively high values for the red, green, and blue
color components.
Note: This parameter is only meaningful on systems
with VGA color graphics.
Default: 55 63 48
This defines a light, slightly grayish green. It
produces a spectrum of twelve shades that range
through medium gray-greens down to a dark, evergreen
green.
HYPERGEO Version 2.1 Page B-5
Parameter: DELTA_W
Value: numeric value (floating-point)
Use: Specifies the incremental step amount used to modify
the W intersection value during execution of the
HYPERGEO command for translation of the intersection
hyperplane (Page Up/Page Down - see Appendix D on
Interactive Commands below). This value is in the
units of the geometry definition.
Because this parameter is in units that pertain to a
particular geometry definition, it is most useful in
a geometry definition file; however, it may be
specified in the primary configuration file.
Default: 0.05 times the span of the geometrical object. The
"span" is the greatest extent of the object in any
one of its three or four dimensions.
Parameter: DISPLAY_INFO
Value: One of: OFF
ON
Use: Specifies whether or not the HYPERGEO information
window should be displayed automatically at program
start up and whenever a new geometry definition file
is entered.
Default: ON
HYPERGEO Version 2.1 Page B-6
Parameter: DISPLAY_MENU
DISPLAY_NAME
DISPLAY_VECTOR
Value: One of: OFF
ON
Use: Specifies whether a particular component of the
HYPERGEO display will be drawn.
DISPLAY_MENU controls the display of the menu area
along the right edge of the screen. If DISPLAY_MENU
is OFF, the entire screen is used for the primary
geometry graphics (in this state, the mouse functions
are not available).
DISPLAY_NAME controls the display of the name of the
geometry definition file; if ON, the name will be
displayed at the upper, left corner of the screen.
DISPLAY_VECTOR controls the display of the coordinate
axis vectors. The axis vectors are displayed as
dotted lines in the primary graphics; each vector is
labeled with the name of its axis, X, Y, Z, or W.
Note: Regardless of the DISPLAY_VECTOR setting, the
axis vectors are not displayed in hidden-line,
surface relief, or solid display mode.
Default: DISPLAY_MENU ON
DISPLAY_NAME ON
DISPLAY_VECTOR OFF
Parameter: DISPLAY_MODE
Value: One of: ANAGLYPH
HIDDEN_LINE
PERSPECTIVE
RELIEF
SOLID
Use: Specifies the display mode used to draw the primary
geometry graphics.
Note: The HIDDEN_LINE, RELIEF, and SOLID modes cannot
be used with 4-D to 3-D projections (only
intersections). If they are specified together with
the PROJECTION or DUAL parameter (see below), the
program will use PERSPECTIVE mode.
Default: PERSPECTIVE
HYPERGEO Version 2.1 Page B-7
Parameter: DUAL
Value: None
Use: Causes HYPERGEO to create dual images using both
intersection and projection modes of 4-D to 3-D
reduction; both images are displayed on the screen
simultaneously side by side (the intersection is on
the left and the projection on the right).
The DUAL parameter is meaningless for
three-dimensional geometries.
DUAL, INTERSECTION, and PROJECTION are mutually
exclusive alternatives; if more than one appears in
configuration file data, the final one encountered
will take precedence.
Default: By default HYPERGEO uses intersection mode for 4-D to
3-D reductions.
Parameter: EPSILON
Value: numeric value (floating-point)
Use: Specifies a small value to be used as an effective
zero in all floating-point comparisons required by
the program's calculations.
This value is unitless; all calculations are
performed internally on normalized coordinates.
Default: 1.0E-6
Note: The performance of some of the algorithms used
in hidden-line and solid surface displays is very
sensitive to this value. The default was set after
much experimentation and appears to provide reliable
behavior almost all of the time. Users fiddle with
this value at their own risk.
HYPERGEO Version 2.1 Page B-8
Parameter: EYE_DISTANCE
Value: numeric value (floating-point)
Use: Specifies the viewing distance, that is, the distance
between the eye and the display screen. This value
is in inches. It determines the degree of perceived
perspective in the various display modes. For
greatest realism, it should be set to accurately
reflect the true eye-to-screen distance for the
user's normal viewing position.
Decreasing the EYE_DISTANCE enhances the perspective
effect, which can be useful. HYPERGEO automatically
limits the maximum and minimum values to which the
eye-to-screen distance can be set to prevent possible
numeric errors in the program's computations.
Default: 30.0
Parameter: EYE_SEPARATION
Value: numeric value (floating-point)
Use: Specifies the distance in inches between the viewer's
eyes. This value is used in the perspective
calculations required for the separate left and right
eye images of the stereoscopic anaglyph and surface
relief display modes.
Default: 2.5
Note: This default value should be entirely
acceptable for virtually all users. You should only
try adjusting it if you are having difficulty fusing
the two stereoscopic images into a single 3D view
with proper depth perception.
HYPERGEO Version 2.1 Page B-9
Parameter: INTERSECTION
Value: None
Use: Causes HYPERGEO to use the intersection mode of 4-D
to 3-D reduction (rather than projection mode).
The INTERSECTION parameter is meaningless for
three-dimensional geometries.
DUAL, INTERSECTION, and PROJECTION are mutually
exclusive alternatives; if more than one appears in
configuration file data, the final one encountered
will take precedence.
Default: By default HYPERGEO uses intersection mode for 4-D to
3-D reductions.
Parameter: ORIGIN
Value: Coordinate values as a sequence of three (for 3-D) or
four (for 4-D) floating-point numbers. Values should
be entered without delimiting punctuation, using only
spaces as separation.
Use: Permits translating the geometry along any (or all)
of the coordinate axes. The coordinate values
specified define the new origin which is to be used
by HYPERGEO as a centerpoint for all rotations.
The ORIGIN parameter may only be used in
configuration data appearing within a geometry
definition file; it may not be used in the primary
configuration file. This is because the validity of
the origin coordinates - in terms of their number and
the units they are in - depends on the associated
geometry definition. Also, the translation is
applied dynamically to the geometry point definitions
as they are read in.
The ORIGIN coordinate values are in the same units as
the original vertex point coordinates in the geometry
definition file.
Default: The origin is assumed to be (0,0,0) for 3-D and
(0,0,0,0) for 4-D geometries.
HYPERGEO Version 2.1 Page B-10
Parameter: PROJECTION
Value: None
Use: Causes HYPERGEO to use the projection mode of 4-D to
3-D reduction (rather than intersection mode).
The PROJECTION parameter is meaningless for
three-dimensional geometries.
DUAL, PROJECTION, and INTERSECTION are mutually
exclusive alternatives; if more than one appears in
configuration file data, the final one encountered
will take precedence.
Default: By default HYPERGEO uses intersection mode for 4-D to
3-D reductions.
Parameter: SCALE
Value: numeric value (floating-point)
Use: Specifies the scale factor at which the display is
drawn. The units of this value are screen inches per
geometry unit.
Because this parameter is in units that pertain to a
particular geometry definition, it is most useful in
a geometry definition file; however, it may be
specified in the primary configuration file.
Default: Autoscale: the display is scaled to fit comfortably
within the primary graphics area allowing ample room
for interactive rotations.
HYPERGEO Version 2.1 Page B-11
Parameter: SCREEN_HEIGHT
SCREEN_WIDTH
Value: numeric value (floating-point)
Use: These two parameters specify the vertical and
horizontal size in inches of the actual area on the
display screen in which graphics are drawn. They can
best be determined for a particular monitor by simply
measuring the height and width of the displayed area
on the face of the screen.
The precise accuracy of these parameters isn't
critical, but they are useful to insure that the
program's display scale is consistent between the
horizontal and vertical directions (so that squares
look square and not rectangular, for example).
Default: SCREEN_HEIGHT 6.0
SCREEN_WIDTH 8.0
Note: These default values are about right for the
typical 12-inch monitor.
Parameter: SOLID_DITHER
Value: One of: ON
OFF
Use: Specifies whether or not the program will use color
dithering techniques to extend the number of shades
available for solid surface rendering. (Dithering is
the pixel-by-pixel blending of different colors to
produce what appears to the eye as an intermediate
solid shade.)
HYPERGEO generates a palette of twelve distinct
shades that are used to fill the faces of an object
viewed with the solid display mode. With dithering,
this number is increased to twenty-three. The only
disadvantage to using dithering is that it slows down
the speed at which the graphics are drawn. Disabling
this feature should only be necessary if display
speed is unusually critical; otherwise, use
dithering.
Note: This parameter is meaningful only for systems
with color graphics.
Default: ON
HYPERGEO Version 2.1 Page B-12
Parameter: SOLID_FILL
Value: One of: COLOR
PATTERN
Use: Specifies whether to use color or pattern for surface
rendering in solid display mode.
When color is used for solid surface rendering,
HYPERGEO displays the faces of the object with
varying levels of brightness to indicate how they are
illuminated by a theoretical light source. If
pattern is used instead, the same effect is achieved
by varying the density of fill (displayed with a
single color) used to render the object's solid
faces.
If color is used, the twelve shades derived from the
COLOR_SOLID color (see above) are used for VGA
graphics, and a set of twelve pre-programmed colors
are used for EGA graphics. Dithering may be used to
increase the number of apparent shades to
twenty-three (see the SOLID_DITHER parameter above).
If pattern is used, it is displayed using the color
specified for the primary geometry graphics.
Note: This parameter is only meaningful on systems
with color graphics capability (EGA or VGA); on
monochrome systems, PATTERN is always used.
Default: COLOR (for EGA and VGA color systems)
PATTERN (for monochrome systems)
Parameter: TURN
Value: numeric value (floating-point)
Use: Specifies the incremental step angle used by all
interactive rotation commands. This value is
specified in degrees.
Default: 5.0
HYPERGEO Version 2.1 Page B-13
Parameter: VECTOR_LENGTH
Value: numeric value (floating-point)
Use: Specifies the length in screen inches of the unit
axis vectors which may optionally be displayed as
part of the primary geometry graphics (see
DISPLAY_VECTOR above). The VECTOR_LENGTH is the
length an axis vector appears on the screen when it
is situated parallel to the XY-plane. As the object
is rotated, the various axis vectors will appear to
rotate with it and become visibly shorter as they
assume different oblique orientations.
Default: 1.0
Parameter: W_INTER
Value: One of: CENTERED
numeric value (floating-point)
Use: Specifies the W-coordinate value at which a
four-dimensional hyperobject will be "sliced" when
using 4-D to 3-D intersection mode (that is, the
value 'k' in the equation, w = k, of the intersecting
hyperplane). If a numeric value is specified, it
should be in the same units as the geometry
definition.
When CENTERED is specified, the program automatically
calculates the W value to use as the average of the
minimum and maximum of all W coordinate values in the
geometry definition. This slices the hyperobject
more or less down the middle.
Because this parameter is in units that pertain to a
particular geometry definition, it is most useful in
a geometry definition file; however, it may be
specified in the primary configuration file.
Default: CENTERED
HYPERGEO Version 2.1 Page B-14
Parameter: W_PROJECT
Value: numeric value (floating-point)
Use: Specifies the W-coordinate value at which the
theoretical viewpoint is positioned in hyperspace for
generating 4-D to 3-D projections. The value is in
the same units as the geometry definition.
Because this parameter is in units that pertain to a
particular geometry definition, it is most useful in
a geometry definition file; however, it may be
specified in the primary configuration file.
Default: 2 times the "radius" of the hyperobject
HYPERGEO Version 2.1 Page B-15
The following is an example of a HYPERGEO configuration file:
! Example HYPERGEO Configuration File
!
PROJECTION ! change from default Intersection
Color_Background Black
Color_Vector LightCyan ! lighter than default CYAN
COLOR_SOLID 63 53 43 ! light reddish tan - gives
! darker shades that range
! through cocoa on down to
! dark red-brown
display_vector on
vector_length 2.0 ! up from default 1 inch
TURN 45 ! for fast rotations
DISPLAY_MODE anaglyph ! start in stereoscopic mode
HYPERGEO Version 2.1 Page C-1
Appendix C. Command Line Arguments
The HYPERGEO command line consists of the name of the program's
executable file, HYPERGEO.EXE, followed optionally by additional
parameters that are passed to the program. This additional text
is used to transmit control specifications to the HYPERGEO
program. Parameters passed to a program in this manner are
called command line arguments.
Note: Normally the .EXE extension is not typed when the program
is being executed since DOS knows it without being told.
The HYPERGEO program accepts a number of command line arguments
that can be used to control the behavior of the program. Many of
the command line arguments perform a function identical to
parameters that can be specified in the HYPERGEO configuration
file. Whenever a command line argument and a configuration file
parameter are in conflict, the command line argument takes
precedence. Furthermore, the command line specifications will
continue to override configuration parameters that might be
contained in any new geometry definition files that are read into
the program interactively.
Each command line argument consists of a single key letter that
is entered on the HYPERGEO command line. The key letters should
be typed on the command line with a preceding hyphen, for
example,
HYPERGEO -a
Multiple arguments can either be strung together following a
single hyphen or typed separately preceded by individual hyphens;
thus,
HYPERGEO -aIv
and
HYPERGEO -a -I -v
are equivalent.
Several arguments are flags indicating that a file name follows
them immediately on the command line. For these arguments, there
must be no other argument letters following them before the file
name. There may, however, be one or more (or no) spaces between
the flag letter and the file name.
HYPERGEO Version 2.1 Page C-2
In all instances, the case (lower or upper) of the key letter is
significant. A number of arguments use the two cases of the same
letter to mean opposite settings of a single parameter. All
arguments that use only one case of a letter require it to be
lower-case; it will be rejected as an error if typed in
upper-case.
(Confession: The standard notation of using a hyphen to prefix
command line argument letters is styled after the Unix
convention. HYPERGEO follows this usage, and hyphens will always
work. However, to be candid, the arguments will also be handled
correctly if preceded by a slash ('/', NOT a back-slash) or by
nothing at all. The only possible source of confusion is with
file names appearing in the command line, but as long as all file
names are always correctly and immediately preceded by their flag
argument, the hyphen (or slash) prefix is superfluous and can be
dispensed with.)
Most arguments perform an independent function and can be used in
any desired combination with other arguments. However, five of
the arguments serve to set the value of a single parameter, the
3-D graphic display mode, and they are mutually exclusive. These
arguments are -a, -h, -p, -r, and -s; if more than one of them
appears in a HYPERGEO command line, the one typed last takes
effect. Also, the -e and -x arguments specify alternative modes
of overlay swapping; if both are entered, the last one typed
takes effect.
The remainder of this appendix contains a list of all command
line arguments for the HYPERGEO program.
HYPERGEO Version 2.1 Page C-3
Argument: -a
Use: Selects the stereoscopic anaglyph mode of display.
This argument is mutually exclusive with -h, -p, -r,
and -s.
Default: Perspective display mode.
Argument: -b
Use: Instructs HYPERGEO to create all graphics in
monochrome, using black on a white background, even
if the graphics display device supports color. This
can be useful when a monochrome monitor is connected
to a color graphics controller card.
With monochrome graphics the stereoscopic anaglyph
and surface relief display modes are unavailable, and
solid surface fill always uses patterns.
Default: Color if graphics device supports it, else
monochrome.
Argument: -c
Use: Specifies the name of a HYPERGEO configuration file
to use. The argument letter must be followed on the
command line by the file name, with no other
arguments intervening. The file name can contain
full DOS path information; if there is no path
specified, it is assumed to exist in the current
directory. If the file name specification has no
extension, it is assumed to have the extension .CFG.
If this argument is used and the specified file
cannot be opened, it is a fatal error and HYPERGEO
terminates. It is not an error, however, if the
default configuration file, HYPERGEO.CFG, cannot be
opened.
Default: HYPERGEO.CFG in current directory
HYPERGEO Version 2.1 Page C-4
Argument: -d/-D
Use: Specifies whether or not to make use of the system's
installed mouse driver. The lower-case option, -d,
causes HYPERGEO to use the mouse driver. The
upper-case option, -D, tells the program to use its
own mouse support functions without making use of the
system's driver.
These options should rarely be used. They are
provided only for those exceptional cases where a
particular mouse driver fails to operate correctly
with HYPERGEO. Almost all standard mouse drivers
will provide proper functioning of the mouse.
However, a few drivers have been encountered that
produce erratic mouse behavior in HYPERGEO. If you
are experiencing less than perfect mouse performance
- for example, occassional mouse button presses or
releases that fail to have an effect - try using the
-D option to bypass the mouse driver.
Note: The lower-case option, -d, is the default
setting and thus has essentially no effect; it is
included merely for completeness and for possible
future extensions.
Default: Use the system's installed mouse driver.
Argument: -e
Use: Tells HYPERGEO to use expanded (EMS) memory as its
overlay swapping area. Enabling overlay swapping can
speed up program execution. To use this option, your
system must either have an EMS-standard expanded
memory board installed or be set up for EMS emulation
with a driver such as Microsoft's EMM386.EXE.
This option is mutually exclusive with the -x option.
If both are specified, the last one entered takes
effect.
Note: Don't enable overlay swapping if your system
already has a disk caching program installed.
Default: Overlay swapping is disabled.
HYPERGEO Version 2.1 Page C-5
Argument: -f
Use: Specifies the name of a HYPERGEO geometry definition
file to use. The argument letter must be followed on
the command line by the file name, with no other
arguments intervening. The file name can contain
full DOS path information; if there is no path
specified, it is assumed to exist in the current
directory. If the file name specification has no
extension, it is assumed to have the extension .BIN.
If either the geometry file specified by this
argument or the default geometry file cannot be
opened, it is a fatal error and HYPERGEO terminates.
Default: HYPRCUBE.BIN in current directory
This is the standard four-dimensional hypercube.
Argument: -g/-G/-gG
Use: Selects the method for reducing the 4-D geometry to a
3-D image for display. The lower-case argument, -g,
selects intersection mode, and the upper-case
argument, -G, selects projection mode. If both the
lower-case and upper-case arguments are specified
(i.e., -gG), a dual 4-D to 3-D reduction is
performed; this generates both a projection image
and an intersection image displayed simultaneously
side by side on the screen.
Default: Intersection mode
Argument: -h
Use: Selects the hidden-line mode of 3-D display.
This argument is mutually exclusive with -a, -p, -r,
and -s.
Also, hidden-line display mode cannot be used with
4-D projections. If this argument is used together
with the -G argument, a warning message is issued and
the program starts up in perspective display mode.
Default: Perspective display mode.
HYPERGEO Version 2.1 Page C-6
Argument: -i/-I
Use: Specifies whether or not to display the special
HYPERGEO information window automatically upon
program start up and whenever a new geometry
definition file is read. The lower-case argument,
-i, selects automatic display, and the upper-case
argument, -I, deactivates it.
Default: The information window is automatically displayed.
Argument: -m/-M
Use: Specifies whether or not to display the menu area
along the right edge of the screen. The menu area
lists a number of parameters that describe the
current display and that can be modified
interactively within the HYPERGEO program. It also
contains a mouse control pad area which allows the
mouse to be used for performing rotations of the
geometry. If the menu area is not displayed, the
primary geometry graphics use the entire screen area;
the mouse may not be used without the display of the
menu area.
The lower-case argument, -m, selects display of the
menu area, while the upper-case argument, -M, causes
the menu not to be displayed.
Default: The menu area is displayed.
Argument: -n/-N
Use: Specifies whether or not to display the name of the
geometry definition file in the upper, left corner of
the graphics display.
The lower-case argument, -n, selects display of the
file name, while the upper-case argument, -N, causes
the name not to be displayed.
Default: The geometry definition file name is displayed.
HYPERGEO Version 2.1 Page C-7
Argument: -p
Use: Selects perspective display mode.
This argument is mutually exclusive with -a, -h, -r,
and -s.
Default: Perspective display mode.
Argument: -r
Use: Selects the surface relief mode of 3-D display.
This argument is mutually exclusive with -a, -h, -p,
and -s.
Surface relief mode cannot be used with 4-D
projections. If this argument is used together with
the -G argument, the program uses perspective display
mode.
Default: Perspective display mode is used.
Argument: -s
Use: Selects solid display mode.
This argument is mutually exclusive with -a, -h, -p,
and -r.
Also, solid display mode cannot be used with 4-D
projections. If this argument is used together with
the -G argument, a warning message is issued and the
program starts up in perspective display mode.
Default: Perspective display mode.
HYPERGEO Version 2.1 Page C-8
Argument: -v/-V
Use: Specifies whether or not to display the unit axis
vectors along with the primary geometry graphics.
The lower-case argument, -v, selects display of the
axis vectors, while the upper-case argument, -V,
causes the axis vectors not to be displayed.
Note: Regardless of the setting of this option, the
axis vectors are never displayed in hidden-line,
surface relief, or solid display mode.
Default: The unit axis vectors are not displayed.
Argument: -w
Use: Instructs HYPERGEO to create all graphics in
monochrome, using white on a black background, even
if the graphics display device supports color. This
can be useful when a monochrome monitor is connected
to a color graphics controller card.
With monochrome graphics the stereoscopic anaglyph
and surface relief display modes are unavailable, and
solid surface fill always uses patterns.
Default: Color if graphics device supports it, else monochrome.
Argument: -x
Use: Tells HYPERGEO to use extended memory as its overlay
swapping area. Enabling overlay swapping can speed
up program execution. To use this option, your
system must have extended memory (memory at addresses
above 1MB), and an extended memory driver (such as
Microsoft's HIMEM.SYS) must be installed.
This option is mutually exclusive with the -e option.
If both are specified, the last one entered takes
effect.
Note: Don't enable overlay swapping if your system
already has a disk caching program installed.
Default: Overlay swapping is disabled.
HYPERGEO Version 2.1 Page C-9
Argument: -2/-3
Use: Specify the system's CPU type.
The -2 option tells HYPERGEO that it is running on an
80286-based computer (or on an earlier CPU, i.e., an
8088). Such computers are the IBM PC, PC-XT, and
PC-AT, and their immediate contemporaries.
The -3 option tells the program that it is running on
an 80386-based system (or on a later CPU, i.e., an
80486).
The key distinction between these two groups of
computers is that the earlier CPUs were limited to
16-bit arithmetic while the newer CPUs can perform
32-bit arithmetic.
These options should almost never be used. HYPERGEO
has a built-in function that checks the identity of
the system's CPU when it starts up. It uses this
information to determine whether or not it can
execute 32-bit arithmetic commands. In almost all
cases this automatic check works properly to indicate
the correct CPU type.
However, it is possible that some computers may not
be correctly identified this way by the program. If
an 80386 or 80486 CPU is misidentified as an earlier
16-bit processor, the symptoms are very subtle (just
a slight loss of execution speed), and it is very
unlikely that you would ever notice the difference.
If an 80286 or 8088-based computer is misidentified
as a 32-bit machine, the symptoms are much harder to
miss: HYPERGEO will crash upon start-up.
If HYPERGEO crashes or hangs the system almost
immediately upon start-up and you have a computer
with an 80286 or 8088 CPU, try using the -2 option.
If you have an 80386 or 80486 in your system and you
are the sort who tends to worry, you can go ahead and
use the -3 option. It will do no harm, and it will
guarantee that HYPERGEO is making proper use of your
computer's 32-bit arithmetic capabilities.
Note: Using the -3 option with an 80286 or 8088-based
system will do harm; it will cause HYPERGEO to crash.
Default: No default; setting determined by checking the CPU
HYPERGEO Version 2.1 Page C-10
Argument: -?
Use: Prints to the screen a description of the appropriate
syntax and usage of these command line arguments and
terminates the HYPERGEO program.
Default: No syntax description is printed.
The following is an example of a HYPERGEO command line:
HYPERGEO -f 16cell -cc:\configs\special.dat -Gav -I
This command invokes the following command line argument
functions:
* Use the geometry definition file 16CELL.BIN located in
the current directory
* Use the configuration file SPECIAL.DAT located in the
directory C:\CONFIGS\
* Use projection mode for reducing the 4-D geometry to a
3-D image
* Use stereoscopic anaglyph display mode for the 3-D image
* Display the unit axis vectors
* Deactivate the automatic display of the HYPERGEO
information window
HYPERGEO Version 2.1 Page D-1
Appendix D. Interactive Commands
When the HYPERGEO program is executed, it accepts any command
line arguments, reads in the appropriate configuration file (if
any) and geometry definition file, and generates the initial
display of the geometric object. From that point on, the program
remains responsive to a set of interactive commands which enable
the user to manipulate the orientation of the object and to
modify the various parameters that control the manner in which
the display is generated. Many of these interactive commands
affect the same parameters that can be initially set through the
configuration file and command line arguments.
All interactive commands are invoked using either the keyboard or
the mouse. The mouse (if the system has one) provides an
alternative means for invoking the commands for rotation of the
object and for changing the value of the several display
parameters that are listed in the menu area; if there is no
mouse, keyboard commands can be used to perform the same
functions. (Also, if the menu area is not displayed, the mouse
cannot be used, and the keyboard equivalents must be similarly
resorted to instead.)
D.1 Keyboard Commands and the Modifier Keys
The keyboard commands consist of either a single keystroke or a
single keystroke accompanied by the simultaneous pressing of one
of the standard keyboard modifier keys: Shift, Ctrl, or Alt.
These modifier keys are only used with some of the interactive
commands, and in almost all cases they have a consistent meaning:
Shift - Generally used to reverse the sense or direction of
the command's action.
Used with keystrokes that invoke the various
rotations, it causes the direction of rotation to
be reversed, that is, to be equivalent to a
negative turn angle.
Note: For all command keystrokes that are letters,
if the Shift key has no special meaning for that
command, the command may be entered equivalently in
either lower or upper case. Only four letter
commands (G, X, Y, and Z) have special
Shift-modified meanings.
HYPERGEO Version 2.1 Page D-2
Ctrl - Used with keystrokes for the rotation commands plus
the command for translating the intersecting
hyperplane along the W-axis in hyperspace; causes
the command action to be repeated continuously as
fast as the computer's processing speed will allow.
This "command automation" is stopped by pressing
any key.
In the case of the hyperplane translation command,
the automated motion is automatically reversed in
direction each time the intersecting hyperplane
reaches an extreme of the hyperobject. This causes
the hyperplane to move continuously back and forth
through the entire body of the hyperobject.
Alt - Used with keystrokes for the rotation commands; has
the same "command automation" effect as the Ctrl
modifier except the rotation is in the reverse
direction. The continuous, automated rotation is
stopped by pressing any key.
D.2 Mouse Selected Interactive Commands
When the mouse is used to invoke a rotation command, no special
modifiers are necessary since the action of the mouse buttons
provides the equivalent control. A rotation command can be
invoked with the mouse (whenever the HYPERGEO menu area is
displayed) by moving the mouse so the cursor is over the
selection box labeled with the coordinate letters indicating the
desired axis or plane of rotation; this will highlight the
selection box. To begin the rotation, press the left or right
mouse button; the right mouse button causes a rotation in the
positive direction, and the left mouse button rotates the object
in the negative direction. The rotation will continue as long as
the mouse button remains pressed. A single incremental rotation
can be achieved by quickly clicking and releasing the mouse
button.
There are nine rotation command selection boxes in the HYPERGEO
menu area, divided into two sections: 3-D axial rotations, and
4-D planar rotations. All nine are available for 4-D geometries,
but only the three 3-D rotations can be selected when the input
geometry is three-dimensional (in 3-D geometry mode, the section
of the mouse control pad area that contains the selection boxes
for 4-D rotations is shaded over with a stippled pattern, and
those mouse functions cannot be selected). The 4-D rotation
selection boxes are labeled with the letters of the two
coordinates specifying the plane of the rotation; thus, selecting
the box labeled "XY" initiates a rotation in hyperspace of the
XY-plane. The 3-D rotation selection boxes are labeled with the
single letter of the axis around which the rotation occurs: X, Y,
or Z.
HYPERGEO Version 2.1 Page D-3
If your system has no mouse or if the menu area isn't displayed
(or if you simply prefer to use the keyboard), there is an
equivalent keyboard command for each of the nine mouse rotations:
Keystroke Mouse Selection Box Label
--------- -------------------------
X X
Y Y
Z Z
F5 YZ
F6 XW
F7 XZ
F8 YW
F9 XY
F10 ZW
The keystrokes F5, F7, and F9 correspond to the YZ, XZ, and XY
4-D planar rotations. Note that these are the three rotations
that occupy the top row of the six 4-D rotation selection boxes
in the menu area and that they are the 4-D rotations that don't
involve the W coordinate. These three rotations produce the same
visual effect in the geometry display as the three 3-D rotations
whose selection boxes are directly above them in the menu: X, Y,
and Z.
The keystrokes F6, F8, and F10 correspond to the three 4-D
rotations that do involve the W coordinate: the XW, YW, and ZW
planar rotations. These are the 4-D rotations that occupy the
bottom row of selection boxes within the menu area. They do not
correspond in effect to any of the 3-D rotations.
When the alternative user interface state that allows the
temporary translation of a selected 4-D vertex is in effect, all
4-D rotations are disabled; that portion of the menu is replaced
by a control pad area that has selection boxes for executing
translations of the vertex along each of the four coordinate
axes. These boxes are labeled X, Y, Z, and W. To perform a
translation, move the mouse cursor so the appropriate box is
highlighted. Pressing the right mouse button moves the vertex in
the positive direction along the particular axis, and pressing
the left mouse button moves it in the negative direction. The
vertex continues to move until the mouse button is released.
In addition to performing interactive rotations and vertex
translations, the mouse can be used to modify the other
parameters shown in the menu area. To do this, move the mouse
cursor over the label of the desired parameter and click one of
the buttons. Depending on the particular parameter, this will
either cause an immediate change to the parameter or bring up a
dialog box requesting specification of a new value.
HYPERGEO Version 2.1 Page D-4
The parameters for eye-to-screen distance (EYE DIST), scale
factor (SCALE), W-coordinate of the intersecting hyperplane
(W-INTER), and the W-coordinate of the 4-D projection viewpoint
(W-PROJ) exhibit the first type of behavior; selecting them with
the mouse results in an immediate change to the parameter's
value. This action is equivalent to the behavior of the
keystroke commands that are used to modify these same parameters.
Which mouse button is used to select the parameter determines the
direction in which its value is adjusted: the right button
increases it, and the left button decreases it:
EYE DIST - Selecting with the right mouse button
increases the eye-to-screen distance by 10%
(thus decreasing the perceived degree of
perspective). Using the left mouse button
decreases the eye-to-screen distance by 10%.
SCALE - Selection with the right mouse button
increases the scale factor by 10%. Using the
left mouse button decreases the scale factor
by 10%.
W-INTER - Selecting this parameter with the right mouse
button increases the W-coordinate value of
the intersecting hyperplane by an amount
equal to the current value of the delta-W
parameter. Selection with the left mouse
button decreases the W-coordinate value by
the delta-W amount.
W-PROJ - Selecting with the right mouse button
increases the W-coordinate of the 4-D
projection viewpoint by 10% (thus decreasing
the perceived degree of perspective). Using
the left mouse button decreases the
coordinate by 10%.
All other parameters shown in the menu are modified through a
dialog box that pops up when their label area is selected with
the mouse (either button).
When the geometry being displayed is three-dimensional, the
parameters relating to the translation of the four-dimensional
intersecting hyperplane (W-INTER) and the position of the 4-D
projection viewpoint (W-PROJ) are not displayed since they have
no meaning in 3-space.
HYPERGEO Version 2.1 Page D-5
D.3 Interactive Parameter Specification
Some of the interactive commands prompt for the input of a value
to be assigned to a program parameter. This value is generally
either a numeric quantity, a file name, or a particular key word.
The input is requested from the user via a prompting dialog box
which pops up in the primary graphics area when the command is
executed. There are several different types of dialog box used
in HYPERGEO depending upon the nature of the parameter to be
assigned a value. The behavior of these has been described fully
in an earlier section of this document (3.2.3). Of these, the
most frequently used is the generic text input dialog box.
A text input dialog box contains an entry line in which the
user's typed response appears. After typing in the appropriate
value, the user should indicate that the entry is complete and
correct by selecting the "Ok" button with the mouse (or by
pressing <Enter>); this will cause the command to accept the
typed in value for the given parameter. A dialog box may be
cancelled at any time by selecting the "Cancel" button with the
mouse (or by pressing <Esc>); this aborts the command that caused
the dialog box to appear.
Dialog boxes that accept character input - either key words or
file names - are case insensitive; upper or lower case may be
used as desired. Numeric values may be either integers or
floating-point numbers depending upon the context of the command.
If a floating-point number is appropriate, it may be entered with
an optional decimal point and fractional digits and may include
an optional decimal exponent in scientific notation.
If the user's entry in a prompting dialog box is invalid, an
error message window will appear. Like all HYPERGEO message
windows, it can be dismissed by selecting the "Ok" button with
the mouse (or by pressing <Enter> or <Esc>). All errors
resulting from incorrect input to interactive parameter prompts
are non-fatal; the program will continue running, ready for the
next interactive command, once the message window is dismissed.
HYPERGEO Version 2.1 Page D-6
D.4 HYPERGEO Interactive Keyboard Commands
The following is a list of all HYPERGEO interactive commands that
can be entered from the keyboard while the program is displaying
an active geometry:
Keystroke: A
Use: Selects the stereoscopic anaglyph mode of display.
If the program is operating with monochrome graphics,
the stereoscopic anaglyph display cannot be used; a
message window will appear indicating this, and the
current display mode will not be changed.
Keystroke: B
Use: Toggles on and off the color spectrum banding of 4-D
graphics according to the W-coordinate of the
corresponding vertexes and edges in the current
hyperobject.
The overall range of W-coordinate values is divided
into ten sub-divisions, and each is assigned a
different color from a pre-programmed spectrum of ten
colors. These start with blue-violet for the minimum
W-coordinate, proceed through blue, aqua, cyan,
blue-green, green, olive-green, yellow, and orange
for progressively larger W values, and end with red
for the maximum W-coordinate. Each edge - or
sub-segment of an edge - is displayed in the color
corresponding to the spectrum band of its
W-coordinate.
If the program is operating with monochrome graphics,
the color spectrum banding feature cannot be used.
HYPERGEO Version 2.1 Page D-7
Keystroke: C
Use: Accepts a new color specification for drawing the
primary graphics.
For perspective and hidden-line display modes, this
will be the single EGA color used to draw the edge
outlines of the geometrical image being displayed.
(This same primary graphics color is also used for
the transient data value fields within the HYPERGEO
menu area and for text appearing in dialog box
windows.) The command will display a list dialog box
offering a choice of one of the sixteen standard EGA
colors:
BLACK DARKGRAY
BLUE LIGHTBLUE
GREEN LIGHTGREEN
CYAN LIGHTCYAN
RED LIGHTRED
MAGENTA LIGHTMAGENTA
BROWN YELLOW
LIGHTGRAY WHITE
Note: The current background color cannot be selected
as the primary foreground color (for obvious
reasons); its entry will be disabled in the list
dialog box.
For solid display mode, if the system has VGA color
capability, the command will accept a new
specification for the twelve graduated shades of
color to be used for solid surface rendering. If the
system has a mouse, a color selection dialog box will
appear which can be used to preview and choose the
precise shade desired. Otherwise, a text dialog box
will prompt for a color specification in the form of
a red/green/blue number triple - three integers in
the range 0 to 63 which are the relative intensities
of the three primary components. In either instance,
the color selected defines the lightest of the twelve
solid-fill shades; the program will calculate eleven
additional, darker shades from this to create the
full range required for realistic surface rendering.
This command is not applicable to the display modes
that use red/blue anaglyphs (i.e., stereoscopic and
surface relief) since they use colors that are fixed
by the requirements of the "3D" viewing glasses.
HYPERGEO Version 2.1 Page D-8
Keystroke: D
Use: Accepts a new delta value that will be used to
increment (or decrement) the W-value of the
intersecting hyperplane. This delta value is used by
the interactive command which performs a translation
of the intersecting hyperplane on geometries being
displayed via the 4-D intersection mode (see Page
Up/Page Down below).
The value entered is a positive floating-point
number. It is in the units of the currently active
geometry.
Keystroke: E
Use: Accepts a new value for the eye-to-screen distance.
This parameter is used in the generation of all 3-D
to 2-D screen projections. Decreasing the
eye-to-screen distance enhances the amount of
apparent perspective in the display. For greatest
realism, the eye-to-screen distance should be set to
correspond to the true distance between the viewer's
eyes and the screen.
HYPERGEO automatically limits the maximum and minimum
values to which this parameter can be set. This
prevents numeric errors from occurring during the
program's computations.
The value entered is a positive floating-point
number. It is in inches.
Keystroke: F
Use: Accepts the name of a new geometry definition file.
A file selection dialog box appears which lists all
files with the default extension for binary geometry
files (.BIN) in the current directory. The features
of the dialog box may be used to select valid (i.e.,
binary) geometry definition files in other
directories and with non-standard extensions.
Reading in a new geometry definition file completely
reinitializes HYPERGEO. The current geometry's
database is freed, its display is cleared, and any
configuration information (either from the command
line or from a configuration file) is reapplied.
HYPERGEO Version 2.1 Page D-9
Keystroke: G
Use: Cycles among the three variations of 4-D to 3-D
geometry reduction: intersection, projection, and
dual (simultaneous intersection and projection).
The case of the entered keystroke is significant.
Lower case 'g' cycles in the order
Intersection/Projection/Dual; upper case 'G' in the
order Dual/Projection/Intersection.
Because hidden-line, surface relief, and solid
displays cannot be used with 4-D to 3-D projections,
if one of those three modes is in effect when the
program switches from 4-D intersection to either 4-D
projection or to dual intersection/projection,
perspective display mode is automatically selected.
The G command is not applicable to three-dimensional
geometric objects.
Keystroke: H
Use: Selects hidden-line display mode.
If the current geometrical object is four-dimensional
and the 4-D to 3-D reduction mode is projection or
dual intersection/projection, the hidden-line display
cannot be used.
HYPERGEO Version 2.1 Page D-10
Keystroke: I
Use: Displays the special HYPERGEO Information Window.
This window contains a summary of the current
object's topology, plus a number of related program
parameters. For the topology, the window shows:
* number of dimensions
* number of vertex points
* number of edges
* number of faces
* number of hyperfaces (4-D geometries only)
* span (geometry units)
* radius (geometry units)
The "span" of an object is calculated by finding the
minimum and maximum extents of the object in each of
its three or four dimensions; the span is the largest
difference between the minimum and maximum extents in
a single dimension. The "radius" of an object is the
greatest distance in (hyper)space of any vertex point
from the origin.
Additional parameters shown are:
* screen height and width (inches)
* horizontal and vertical pixels per inch
* free memory (bytes)
The HYPERGEO Information Window is an ordinary
message dialog box; it can be dismissed by selecting
the "Ok" button with the mouse (or by typing <Enter>
or <Esc>).
HYPERGEO Version 2.1 Page D-11
Keystroke: J
Use: Replays a previously recorded journal file. A file
selection dialog box appears which lists all files in
the current directory that have the default journal
file extension (.JNL). The features of the dialog
box can be used to select for replay a journal file
in a different directory or with a non-standard
extension.
Once a journal file name has been selected and
confirmed, HYPERGEO enters the special journal replay
command mode. This is described fully in Section
3.6.2 of this document.
Keystroke: K
Use: Toggles on and off the recording of a journal file.
A dialog box is used to accept the name of a new
journal file to record. If a file already exists
with the specified name, a second dialog box appears
requesting approval to go ahead and overwrite it.
While a journal file is being recorded, a message is
displayed at the bottom of the display screen so
indicating.
HYPERGEO Version 2.1 Page D-12
Keystroke: L
Use: Locates the geometrical model at a particular
orientation or position.
This command has two variations depending upon the
state of the user interface.
In the default state in which the interface presents
a full command set for performing rotations of the
geometry in space or hyperspace, the Locate command
accepts three (for 3-D) or four (for 4-D) angles
which specify the desired angular displacements of
the X, Y, Z, and W-coordinate axes from their initial
orientations. Note that these are the same angular
displacements as are shown in the menu area under the
AXIS ANG label. A text dialog box is used to accept
the angle values; they should be entered as three or
four positive real values in the range of 0 to 180
degrees.
(Note: Due to limitations of the algorithm used to
calculate the rotations necessary to achieve the
specified axis angles, for 4-D geometries one of the
four angles must be zero degrees. This limitiation
does not exist for 3-D geometries. Also, for both
3-D and 4-D not all combinations of angles represent
physically possible orientations.)
In the alternative state in which the user interface
permits the temporary translation of a selected 4-D
vertex, the Locate command accepts four real values
that are the X, Y, Z, and W-coordinate values in
geometry units of the desired position in 4-space of
the selected vertex. This allows the vertex to be
located precisely at any valid coordinate within the
range of the command. When the user interface is in
the vertex translation state and a vertex has been
selected, the coordinates are displayed in the menu
area under the VERTEX label.
(Note: In order to avoid numeric computation errors,
the program will not accept any coordinate value
which has an absolute value greater than 1.25 times
the radius of the current geometry.)
HYPERGEO Version 2.1 Page D-13
Keystroke: M
Use: Toggles on and off the display of the HYPERGEO menu
area.
The menu area must be displayed to enable the use of
the mouse for command selection.
Keystroke: N
Use: Toggles on and off the display of the name of the
current geometry definition file.
When its display is toggled on, the geometry file
name is shown in the upper-left of the main graphics
area.
Keystroke: O
Use: Outputs the current image of the entire screen into a
file in PCX graphics format. A dialog box prompts
for the file name. If a file already exists with the
specified name, a second dialog appears requesting
approval to go ahead and overwrite it.
Keystroke: P
Use: Selects perspective display mode.
Keystroke: Q
Use: Quits the HYPERGEO program and returns to DOS.
Keystroke: R
Use: Selects surface relief display mode.
If the current geometrical object is four-dimensional
and the 4-D to 3-D reduction mode is projection or
dual intersection/projection, the surface relief
display mode cannot be used.
HYPERGEO Version 2.1 Page D-14
Keystroke: S
Use: Selects solid display mode.
If the current geometrical object is four-dimensional
and the 4-D to 3-D reduction mode is projection or
dual intersection/projection, the solid display mode
cannot be used.
Keystroke: T
Use: Accepts a new value for the turn angle. The turn
angle is the basic incremental angle used by each of
the rotation commands. A large turn angle is useful
for rapid manipulation of the geometrical object
under study. Smaller angles can be used for fine
positioning.
The value entered is a positive floating-point
number. Its units are degrees.
Keystroke: U
Use: Toggles between the two states of the user interface.
In the default state, the user interface presents a
full set of commands for performing rotations of the
geometry in three and four dimensions.
In the alternative state, a particular vertex may be
selected in a 4-D geometry and may be temporarily
repositioned in hyperspace. In this state, the 4-D
rotation commands in the menu are replaced by the
commands for performing vertex translation.
Keystroke: V
Use: Toggles on and off the display of the unit axis
vectors.
Regardless of the setting of this toggle, the unit
axis vectors are not displayed with hidden-line,
surface relief, or solid display mode.
HYPERGEO Version 2.1 Page D-15
Keystroke: W
Use: The function of this command depends on whether the
current 4-D image is an intersection or a projection.
For 4-D to 3-D intersection images, it accepts a new
value for the W-coordinate of the hyperplane used to
calculate the intersection. Repositioning the
intersecting hyperplane at various W-coordinate
values provides a means for examining the
hypergeometrical structure of the current object.
For 4-D to 3-D projection images, the 'W' keystroke
accepts a new value for the W-coordinate of the
theoretical viewpoint used to calculate the
projection. The viewpoint is always located on the
positive W-axis; changing its distance from the
hyperobject's origin adjusts the degree of
perspective visible in the projection.
For both usages of the command the value entered is a
floating-point number in geometry units.
Note: In the dual imaging mode in which an
intersection and a projection both are displayed at
the same time, the 'W' command affects the
intersecting hyperplane, not the projection
viewpoint; thus, it has no effect on the appearance
of the projection image.
HYPERGEO Version 2.1 Page D-16
Keystroke: X
Y
Z
Use: Executes a three-dimensional rotation of the current
3-D image about the particular axis: X, Y, or Z. The
size of the rotation is determined by the current
turn angle.
When the active geometry is four-dimensional, all 3-D
rotations are transient and operate only on the
immediate 3-D image which has been derived from the
hyperobject's geometry via a 4-D to 3-D reduction
using either projection or intersection. In this
case, the program does not update the display of the
unit axis vectors or the values shown in the menu's
axis angle data fields during 3-D rotations.
For three-dimensional geometries, however, 3-D
rotations are permanent; the internal database is
modified accordingly, and the unit axis vectors and
the displayed values for the axis angles are updated
with each 3-D rotation.
By themselves, the X, Y, and Z keys produce a single
incremental rotation in the positive direction. This
effect can be altered by combining the keystroke with
the simultaneous pressing of one of the standard
keyboard modifier keys (for example, Shift-X is
entered by pressing and holding down the Shift key,
then pressing X):
Shift - Reverses the direction of the rotation
Ctrl - Automates continuous rotations in the
positive direction. The rotations are
performed as fast as the system's
processing speed will allow. To stop the
animation, press any key.
Alt - Automates continuous rotations in the
negative direction. The rotations are
performed as fast as the system's
processing speed will allow. To stop the
animation, press any key.
HYPERGEO Version 2.1 Page D-17
Keystroke: F1
Use: Displays the main on-line help screen. This screen
contains an overview of the HYPERGEO program and a
menu listing additional help pages that are organized
by command categories. Each contains a brief
description of a set of interactive commands
available within the HYPERGEO program that perform
related functions.
The on-line help facility is described more fully in
Section 3.2.2 of this document.
The on-line help screen can be dismissed by typing
<Esc>. This returns the program to the graphics
state it was in prior to the F1 command.
Keystroke: F2
Use: Pauses the HYPERGEO program and brings up a temporary
DOS command screen. This permits the user to execute
DOS commands without completely exiting HYPERGEO.
Typing EXIT at the DOS prompt closes the DOS screen
and returns to HYPERGEO; the program's status is
restored to that existing prior to executing the F2
command.
A temporary DOS command screen which is invoked from
within a running program like this is commonly
referred to as a "DOS shell".
Note: While the temporary DOS command screen is
active, the HYPERGEO program is still occupying its
share of the computer's memory. Since this leaves
considerably less free memory than is normally
available, some DOS commands may be unable to run in
the F2 DOS shell.
Keystroke: F3
F4
Use: Performs continuous automated random rotations. The
keystroke F3 initiates the continuous execution of
the three 3-D rotations in a randomly determined
order, and F4 initiates random execution of the six
4-D rotations. All rotations are in a positive
angular direction with a size determined by the
current turn angle. To stop the automation, press
any key.
HYPERGEO Version 2.1 Page D-18
Keystroke: F5
F6
F7
F8
F9
F10
Use: Executes a four-dimensional rotation of the current
hyperobject's geometry in hyperspace. The six
function keys F5 through F10 correspond to the six
possible coordinate planes in which a 4-D rotation
may occur:
F5 - YZ plane
F6 - XW plane
F7 - XZ plane
F8 - YW plane
F9 - XY plane
F10 - ZW plane
The size of the rotation is determined by the curent
turn angle.
After each 4-D rotation, the hyperobject's geometry
is reduced to a 3-D image using the currently active
method (intersection or projection), and the 3-D
image is converted into a 2-D display on the
computer's screen using the currently active display
mode (perspective, stereoscopic anaglyph,
hidden-line, surface relief, or solid).
By themselves, the F5 through F10 keys produce a
single incremental rotation in the positive
direction. This effect can be altered by combining
the keystroke with the simultaneous pressing of one
of the standard keyboard modifier keys (for example,
Shift-F5 is entered by pressing and holding down the
Shift key, then pressing F5):
Shift - Reverses the direction of the rotation
Ctrl - Automates continuous rotations in the
positive direction. The rotations are
performed as fast as the system's
processing speed will allow. To stop the
animation, press any key.
Alt - Automates continuous rotations in the
negative direction. The rotations are
performed as fast as the system's
processing speed will allow. To stop the
animation, press any key.
HYPERGEO Version 2.1 Page D-19
Keystroke: 1
2
3
4
5
6
Alt-1
Alt-2
Alt-3
Alt-4
Alt-5
Alt-6
Note: Only the commands '1', '2', and '3' are
available for 3-D geometries.
Use: Rotates the object to one of the possible distinct
orthogonal orientations. An "orthogonal orientation"
is one in which all coordinate axes have been rotated
an exact multiple of 90 degrees from their original
positions.
The orientations generated by these commands all have
the property that a set of three of the axes are
positioned coincident with the original positions of
the X, Y, and Z axes. This means that the three axes
form a normal "left-handed" 3-D coordinate system,
that is, one in which the positive Z-axis is directed
away from the viewer (into the screen) when the
positive X-axis points to the right and the positive
Y-axis points up. For 3-D geometries there are three
such orthogonal orientations, and for 4-D there are
twelve.
For 4-D objects the fourth coordinate axis is rotated
into the position of the original W-axis. This is
the coordinate axis along which the intersecting
hyperplane and the projection viewpoint are
positioned for 4-D to 3-D image reduction.
The orientations can be identified by specifying
which axes are rotated into each of the original
unrotated axis positions. For example, the
orientation designated YZXW has the Y-axis positioned
along the original X-axis, the Z-axis along the
original Y-axis, the X-axis along the original
Z-axis, and the W-axis still in its original
unrotated direction.
HYPERGEO Version 2.1 Page D-20
The twelve commands generate the following
orientations:
Orientation
Keystroke 3-D 4-D
--------- -------------------
1 XYZ XYZW
2 YZX YZXW
3 ZXY ZXYW
4 YWZX
5 XWYZ
6 ZWXY
Alt-1 YXWZ
Alt-2 ZYWX
Alt-3 XZWY
Alt-4 WYXZ
Alt-5 WXZY
Alt-6 WZYX
Notice that the Alt-modified version of each 4-D
command differs from the unmodified numeric key
version by having the same two axes form the rotated
XY-plane (but in reversed order) and the same two
axes form the ZW-plane (but also in reverse order).
Compare, for example, the rotation produced by the
'6' command (ZWXY) with that of the Alt-6 command
(WZYX); the pairs ZW/WZ and XY/YX are reversed
between the two.
Note: The orientation produced by the '1' command
(XYZ for 3-D or XYZW for 4-D) is the unrotated
orientation of the original geometry. This is the
same as the orientation generated by the Home
command. However, unlike the Home command, the '1'
command does not save the current orientation for
restoring with the End command.
Note: Use the numeric keys on the top row of the
regular keyboard for these commands, not the keypad
numeric keys.
Keystroke: 0
Use: Positions the display of the graphical image on the
screen so that the point corresponding to the origin
of the geometrical model is at the center of the main
display area.
The '5' key in the keypad (on keyboards with keypads
and with NumLock off) also performs this function.
HYPERGEO Version 2.1 Page D-21
Keystroke: Home
Use: Restores the orientation of the current geometry as
it existed when the geometry definition file was
first read in. All axis angles are reset to zero
degrees.
The current orientation is saved and may be returned
to by using the End command (see below).
Keystroke: End
Use: Restores the current geometry to the orientation it
was in prior to the most recent Home command (see
above).
If no Home command has yet been performed on the
current geometry, the End command has no effect.
Keystroke: =
Use: Accepts a new value for the current display scale
factor. A larger scale factor increases the size of
the image on the screen, while a smaller scale factor
decreases it.
The value entered is a positive floating-point
number. Its units are screen inches per geometry
unit.
Keystroke: +
-
Use: Performs a "zoom" operation on the visible image.
The '+' command enlarges the graphical display, and
the '-' command reduces it.
These commands operate by changing the display scale
factor. The '+' command increases the scale factor
by 10% of its current value, and the '-' command
decreases it by 10%.
HYPERGEO Version 2.1 Page D-22
Keystroke: Tab
Use: Toggles on and off the highlighting of all edge lines
in the displayed image that belong to a particular
hyperface in the original 4-D geometry. The <Space>
bar and <Backspace> key are used to select which
hyperface is highlighted (see below).
For 4-D to 3-D projection images, the highlighted
edges correspond exactly to edges in the original
hyperobject (they are in fact projections onto
3-space of those edges).
For 4-D to 3-D intersection images, the highlighted
edges form the outline of the polygonal face that is
the intersection of the highlighted hyperface with
the intersecting hyperplane. For a given orientation
of the hyperobject and position of the intersecting
hyperplane it is possible that the highlighted
hyperface will not be intersected; when that is the
case, no highlighting will show up in the 3-D image
even when highlighting is toggled on.
Hyperface highlighting may be used with dual
intersection/projection images; the highlighting will
appear in both images. In fact, this can be a very
revealing technique for visualizing the relation
between 4-D projection and intersection images.
Note: Hyperface highlighting does not appear if an
intersection image is drawn in hidden-line, surface
relief, or solid display mode.
Keystroke: Space
Backspace
Use: Cycles through all hyperfaces in a 4-D hyperobject
for highlighting (see <tab> command above). The
<Space> bar cycles in a forward direction (per an
arbitrary ordering), and the <Backspace> key cycles
in the reverse direction.
If hyperface highlighting is toggled on, the results
of stepping forward or back to a different hyperface
are immediately reflected in the display. If
highlighting is toggled off, there is no change in
the current display, but the hyperface cycling is
still performed; the next time highlighting is
toggled on, the newly selected hyperface will be the
one highlighted.
HYPERGEO Version 2.1 Page D-23
Keystroke: Insert
Delete
Ctrl-Insert
Ctrl-Delete
Use: Alters the degree of perceived 3-D perspective for
the currently displayed image. These commands
operate by modifying the eye-to-screen distance. The
Insert command increases the eye-to-screen distance
by 10% of its current value; this reduces the
apparent perspective. The Delete command increases
the perspective effect; it moves the viewpoint toward
the object by decreasing the eye-to-screen distance
by 10%.
HYPERGEO automatically limits the maximum and minimum
values to which the eye-to-screen distance can be
set. This prevents numeric errors from occurring in
the program's computations.
When combined with the Ctrl key, Insert and Delete
serve to set the eye-to-screen distance to its
maximum or minimum permissable value respectively.
The maximum eye-to-screen distance is useful in
particular to approximate a pure orthographic
projection.
Keystroke: Page Up
Page Down
Ctrl-Page Up
Ctrl-Page Down
Use: The function of the Page Up and Page Down commands
depends on whether the current image is a 4-D
projection or intersection.
For a 4-D to 3-D intersection image, the command
performs a translation of the intersecting
hyperplane. The hyperplane is moved along the W-axis
in hyperspace. The size of the translation is
determined by the value of the delta-W parameter.
The Page Up command increments the W coordinate of
the intersecting hyperplane by this delta amount, and
the Page Down command decrements it.
HYPERGEO Version 2.1 Page D-24
For 4-D to 3-D projection images, Page Up and Page
Down adjust the W-coordinate of the viewpoint used to
calculate the projection. The Page Up command
increases the distance of the viewpoint from the
hyperobject's origin by 10% of its current value;
this reduces the amount of perspective seen in the
image. Page Down decreases the distance of the
viewpoint from the origin, enhancing the apparent
perspective.
By themselves, the Page Up and Page Down commands
perform a single incremental action, adjusting up or
down the W-coordinate value of either the
intersecting hyperplane or the projection viewpoint.
When combined with the simultaneous pressing of the
Ctrl key (for example, to enter Ctrl-Page Up, first
press and hold down the Ctrl key, then press Page
Up), these keystrokes perform an enhanced variation
of their basic function.
For 4-D to 3-D intersections, they initiate the
continuously automated motion of the hyperplane
through the body of the current four-dimensional
geometry. In automated mode, the direction of the
hyperplane's motion is reversed each time it reaches
an extreme edge of the hyperobject, that is, the
point at which it ceases to intersect the hyperobject
in hyperspace. Thus, the hyperplane continues to
move back and forth through the entire body of the
hyperobject. The automated motion is stopped by
pressing any key.
For 4-D to 3-D projections, Ctrl-Page Up and
Ctrl-Page Down set the W-coordinate of the projection
viewpoint to its maximum and minimum permissable
values respectively. When the distance of the
projection viewpoint from the origin is maximized,
the generated 3-D image approximates a pure
orthographic projection. Minimizing the viewpoint's
distance creates a 3-D image with a high degree of
perceived perspective.
When HYPERGEO is displaying dual images of an
intersection and a projection together, the Page Up
and Page Down commands perform their functions for
the intersection image only. That is, they affect
the intersecting hyperplane (and hence the
intersection image), and do not affect the projection
viewpoint (or the projection image).
HYPERGEO Version 2.1 Page D-25
Keystroke: Arrow Keys: Left, Right, Up, Down
Use: The function of these keys depends on the state of
the user interface.
In the default user interface state for performing
rotations of the geometry, these keys move the
position of the current graphical display on the
screen.
When a new geometry is read in, HYPERGEO
automatically centers the display within the primary
graphics area. The arrow keys may be used to
reposition it as required by subsequent rotations or
other interactive manipulations.
When the user interface is in its alternative state
which permits the temporary translation of a
particular 4-D vertex, the arrow keys are used to
move a selected vertex in each of the four 4-D
coordinate directions:
Right arrow - Moves vertex in X direction
Up arrow - Moves vertex in Y direction
Left arrow - Moves vertex in Z direction
Down arrow - Moves vertex in W direction
By itself, each arrow key moves the vertex in the
positive direction, i.e., increasing the particular
coordinate. Combining the arrow key with the <Shift>
key reverses the direction of movement; the
coordinate value is decreased. (Note: Since the
<Shift> key does not work consistently with the arrow
keys on all keyboards, the <Ctrl> key may also may be
used with the arrow keys to reverse the direction of
vertex translation.)
HYPERGEO Version 2.1 Page E-1
Appendix E. Running HYPERGEO under Microsoft Windows
The program file supplied with HYPERGEO (HYPERGEO.EXE) is a
standard DOS executable; it is not a special Windows program.
However, it can be run under Windows using that system's ability
to execute non-Windows DOS programs. Two files are supplied with
HYPERGEO to assist in adding the program to the Windows Program
Manager: an icon file (HYPERGEO.ICO), and a Program Information
File (HYPERGEO.PIF).
The procedure to follow to add a new program to a particular
program group within the Program Manager is described in the
Windows User's Guide in the section "Creating a Program Item" in
the Program Manager chapter (page 78 for Windows 3.1). Within
the Program Item Properties dialog box that appears, the name of
the HYPERGEO PIF file (including its DOS path) should be entered
in the Command Line text box. You should also supply the name of
the icon file by choosing the "Change Icon..." option from the
Program Item Properties dialog box. Enter the icon file name
(HYPERGEO.ICO) along with its full DOS path in the File Name text
box within the Select Icon dialog box.
One final step may be necessary to enable the running of HYPERGEO
in Windows. The supplied PIF file has an entry which specifies
the program's start-up directory. This initially contains the
path specification C:\HYPERGEO. If you have installed HYPERGEO
in a different directory, you will have to change this entry in
the PIF to reflect the actual directory in which the program
executable HYPERGEO.EXE exists. To modify a PIF you use the
Windows PIF Editor. This is described fully in the Section
"Working with PIFs and the PIF Editor" (page 259 for Windows 3.1)
and subsequent sections in the chapter "PIF Editor" in the
Windows User's Guide.
The PIF Editor also lets you specify any optional command line
parameters you wish to pass to HYPERGEO each time it is executed.
The PIF file as supplied will cause HYPERGEO to run as a
full-screen DOS program.
HYPERGEO Version 2.1 Page F-1
Appendix F. What's New in Version 2
Version 2 represents a major revision of the HYPERGEO program.
Much of the program has been completely rewritten in an effort to
achieve faster and more robust performance. In addition, many
new features and enhancements to existing features have been
implemented.
First, a word or two about a couple of areas in which some
functionality has apparently been lost from Version 1. Most
notable is the fact that the program no longer supports high
resolution (640 by 480 pixels) on VGA displays; EGA and VGA both
use the same standard 640 by 350 resolution. This was done to
make the VGA's video memory available for video page swapping
(see below). It was felt that the benefits of video paging
outweigh the usefulness of the higher screen resolution
(unfortunately, you can't have both).
Also, the Orthographic display mode no longer exists.
Orthographic projections are in general the least revealing form
of perspective projection. An orthographic projection can be
approximated in HYPERGEO Version 2 by setting the eye-to-screen
parameter to its maximum permissable value (the new Ctrl-Insert
command does this).
The DELTA-W parameter is gone from the menu area. This was done
to make room for the new W-PROJ parameter (see below). The
delta-W value can still be specified in the configuration file
(the DELTA_W parameter), and can still be set interactively with
the 'D' command.
And lastly, the configuration file parameters COLOR_MESSAGE_TEXT
and RATIO no longer exist. The primary foreground graphics color
is now used for most text in all message windows (dialog boxes).
The RATIO parameter has been replaced by the SCALE parameter
which has a different meaning mathematically (see below).
The assignment of some command keystrokes has changed. The 4-D
rotation commands have been moved from function keys F1 through
F6 to use keys F5 through F10. This frees up F1 for on-line help
and F2 for the new DOS shell feature. The random 3-D and 4-D
rotation commands have also been reassigned; they now use F3 and
F4 (instead of '3' and '4').
HYPERGEO Version 2.1 Page F-2
The following is a list of new features and enhancements
incorporated in HYPERGEO Version 2:
* Most computations are now performed using a fixed-point
data format that makes use of integer arithmetic. This
provides fast execution even on systems without a math
coprocessor chip (such as an 80287 or 80387). The new
fixed-point computations are most efficient on 80386 (or
80486) CPUs which can perform 32-bit integer arithmetic.
However, even on 80286 (or lower) systems, the
performance of the program in the absence of a
coprocessor has been speeded up markedly.
* The hidden-line algorithm has been totally reprogrammed
for faster execution. It now performs a preliminary
decomposition of complex, concave objects into a set of
disjoint convex shapes. These are sorted along the
Z-coordinate and are displayed using the so-called
"painter's algorithm".
* Graphics are now drawn to two video pages which are
swapped between screen updates. This produces much
smoother graphics animation without the annoying
"flicker" that is visible when drawing to a single video
page. (Note that this necessitates abandoning 640 by 480
resolution for VGA as mentioned above.)
* The portion of the program that performs the topological
analysis of a new geometry definition file has been
broken out into a separate stand-alone utility program,
GEO2BIN. It is now only necessary to perform this
analysis once each time a geometry file is created or
modified rather than every time it is read into HYPERGEO.
GEO2BIN stores its results in a secondary version of the
geometry file that is in a binary format and can be read
by HYPERGEO much more efficiently. For large and complex
geometries, the time required to create a display in
HYPERGEO has been reduced from minutes to seconds.
* The user interface has been improved to allow additional
mouse invocation of interactive commands and to use
mouse-operated dialog boxes to prompt for and accept
input from the user.
* Within a 4-D image, those edges that belong to a single
hyperface in the original geometry can be highlighted.
Highlighted edges are displayed in a distinct color which
can be specified using the new COLOR_HILITE configuration
parameter.
HYPERGEO Version 2.1 Page F-3
* For 4-D images, all edges may be drawn using a color
spectrum that maps segments of edge lines to a color that
indicates their W-coordinate value in the original
hyperobject.
* A new dual imaging mode for 4-D to 3-D reductions
displays both a projection and an intersection together
side by side on the screen. When the dual mode is
entered, HYPERGEO automatically rescales the display so
the two images fit in the available area. All
interactive commands affect both images simultaneously.
The new DUAL parameter can be used in a HYPERGEO
configuration file to select this imaging mode.
* The user can change the position of the theoretical
viewpoint used to calculate 4-D to 3-D projection images.
This permits varying the amount of apparent perspective
in the images from virtually none (equivalent to
orthographic projection) to quite a lot. The 4-D
projection viewpoint's position is controlled by the
configuration parameter W_PROJECT plus several
interactive commands, and is displayed in the menu area
under the label W-PROJ.
* A journalling capability permits capturing all graphics
from a sequence of interactive manipulations of a
geometrical model into a permanent file. A recorded
journal file can be replayed in either forward or reverse
order, and any particular frame of the journal may be
viewed individually.
* The current geometry can be positioned directly to any
one of the set of distinct possible orthogonal
orientations. These provide views that are perpendicular
to one of the planes formed by a pair of coordinate axes.
All twelve of the orthogonal orientations that are
available for 4-D geometries can be generated, each via
its own single-keystroke command.
* A new "surface relief" display mode combines the features
of hidden-line and stereoscopic display modes. A
hidden-line display is shown using a red/blue anaglyph;
with "3D" glasses the user views the front surface of the
object with full depth perception of its relief.
* A special state of the user interface can be entered
which presents commands for temporarily adjusting the
position in hyperspace of a selected vertex of the
current hyperobject. The display is updated to show how
moving the vertex in each of the four coordinate
directions affects the resulting 3-D image.
HYPERGEO Version 2.1 Page F-4
* A new "Locate" command permits specifying a precise
orientation of the current geometry in terms of the
displacement angles of its coordinate axes.
* An alternative form of the Locate command is available in
the vertex translation state of the user interface. It
enables the direct entry of four coordinate values to
position the selected vertex precisely at a particular
point in hyperspace.
* The HYPERGEO screen image can be written to a file in PCX
graphics format. This permits using HYPERGEO images in
documents produced by third-party software.
* A DOS shell can be started from within HYPERGEO. This
pauses the HYPERGEO program and permits running one or
more DOS commands. When the DOS shell is exited, the
HYPERGEO display is restored to its previous state.
* The on-line help facility has been expanded from one page
to eight pages. The new on-line help is organized
hierarchically according to categories of related
commands.
* The number of separate pure shades used for solid surface
rendering has been increased from eight to twelve; and...
* ...color dithering techniques can be used to increase the
effective number of separate shades available for solid
surface rendering from twelve to twenty-three. The new
configuration parameter SOLID_DITHER controls this
option.
* Command-line options have been added that permit
overriding certain automatic hardware and system software
status checks that are performed by HYPERGEO. These
options cope with idiosyncratic CPUs and mouse drivers
that misidentify themselves to the program.
* The meaning of the scale factor has been mathematically
inverted. It is now defined as screen inches per
geometry unit (in Version 1 it was geometry units per
screen inch). This makes the value more intuitively
sensible; a larger scale factor now means a larger
display, and vice versa. To prevent the misapplication
of existing data, the configuration parameter that
specifies the scale factor has been renamed; the old
RATIO parameter no longer exists, and the new parameter
is called SCALE.
HYPERGEO Version 2.1 Page F-5
* The eye-to-screen parameter automatically restricts its
value to a range that avoids numerical errors and
corrupted graphics. New interactive commands permit
setting the parameter directly to either its maximum or
its minimum permissable value.
* HYPERGEO can now use a Microsoft compatible mouse even if
there is no standard mouse driver installed on the
system. The program will detect and use a mouse on
either serial port, COM1 or COM2.
* For systems with VGA graphics, the default dark gray is
redefined in the system palette to a shade that appears
more reliably dark and gray.
Note: The following two items are made available only with
registered copies of HYPERGEO. They are not included in the
shareware version.
* Six utility programs have been created which automate the
generation of geometry definition files for parameterized
families of six types of curved object: cone, cylinder,
sphere, hypercone, hypercylinder, and hypersphere. The
programs calculate the geometry of shapes that are
gridded approximations to these four curved shapes. The
user can specify the fineness of the gridding. (See
Appendix G for a fuller description.)
* Additional geometry definition files have been created
which describe the two "quasi-regular" 3-D convex
polyhedra, the cuboctahedron and the icosidodecahedron,
along with their derived compound and dual forms.
HYPERGEO Version 2.1 Page G-1
Appendix G. Utility Programs for Geometry File Generation
Six stand-alone utility programs have been developed which
automate the creation of certain categories of geometry
definition files. These utilities are supplied with registered
versions of the HYPERGEO program. (They are not included in the
shareware release.)
These utilities all deal with objects that contain curved
surfaces. They generate an approximation to the curves that
consists of a gridded structure of triangular or rectangular
polygons and polyhedra. The user specifies a parameter that
controls the fineness of the gridding. There is an obvious
trade-off: a finer gridding factor produces more accurate models
of the curved surfaces, but it also produces larger geometry
files that are slower to display and to manipulate.
The six utilities generate gridded models of cones, hypercones,
cylinders, hypercylinders, spheres, and hyperspheres. The
three-dimensional members of this list - cones, cylinders and
spheres - are the familiar objects of standard solid geometry.
The hypercone, hypercylinder, and hypersphere are their
four-dimensional analogs. A cone is defined as the shape formed
by a circle and the surface that connects each point on the edge
of the circle to a point not in the circle's plane. A cylinder
is a shape formed from two circular disks that are parallel in
3-space and are connected by a surface that joins all
corresponding points on their edges. A sphere is the surface of
all points that are equidistant in 3-space from its center point.
A hypercone consists of a sphere and the hypersurface that
connects each point on the surface of the sphere to a point that
is not on the sphere's hyperplane. A hypercylinder is formed by
two spherical surfaces that are parallel in 4-space and are
connected by a hypersurface that joins all of the sphere's
corresponding points. A hypersphere is the set of all points
that are equidistant in 4-space from its center point.
For a sphere, the gridding used to approximate the curved surface
corresponds exactly to the latitude and longitude lines used to
define locations on the earth's surface. For the cone and
cylinder, the base circles are approximated by regular polygons,
and the connections to the vertexes of the polygons form the
gridded approximation of the conical or cylindrical surface. For
a hypercone or hypercylinder, the base spheres are themselves
gridded spheres (with "latitude" and "longitude" lines). The
connections of these gridded vertexes and edges form the
hyperconical or hypercylindrical surface. In the hypersphere,
the third gridding dimension spans a sequence of parallel spheres
each of which is itself approximated with 3-D "latitude" and
HYPERGEO Version 2.1 Page G-2
"longitude" measures. The connecting edges, faces, and
hyperfaces between these spheres define the hyperspherical
surface.
The six utility programs are named as follows:
CONE - Cones
SPHERE - Spheres
CYLINDER - Cylinders
HYCONE - Hypercones
HYSPHERE - Hyperspheres
HYCYLNDR - Hypercylinders
Each is executed with the same syntax, for example:
SPHERE <gridding-parameter>
The "gridding parameter" is an integer that must be at least 2.
It determines the solid angle between parallel grid lines. This
angle is equal to 180 degrees divided by the gridding parameter.
Thus, a gridding parameter of 4 will generate grid lines that are
45 degrees apart on the object's surface. The larger the
gridding parameter, the higher the accuracy of the model, and the
larger and slower the file to execute.
The output of the programs is a binary geometry definition that
may be read directly into HYPERGEO. The name of the file is
fixed for each program:
CONE - CONEnn.BIN
SPHERE - SPHEREnn.BIN
CYLINDER - CYLNDRnn.BIN
HYCONE - HYCONEnn.BIN
HYSPHERE - HYSPHRnn.BIN
HYCYLNDR - HYCYLRnn.BIN
where 'nn' is the gridding parameter value (with leading '0' if
less than 10). Thus, the command
HYCYLNDR 3
produces a geometry definition file named HYCYLR03.BIN. This is
a hypercylinder gridded at 60 degree intervals.
The user should be forewarned that because of the inherent
complexity of hyperspace, the geometry files for hypercones,
hypercylinders, and hyperspheres get very large very quickly,
even for relatively modest values of the gridding parameter. The
hypersphere grows the most quickly; a gridding parameter of 4 is
already large for a hypersphere, and you will only be able to
handle a hypersphere with a gridding parameter of 5 if your
system has a full 640K of memory, almost all of it available to
HYPERGEO.