3-D VIEWER - Version 2.5
3DV displays 3-dimensional wire-frame objects or data, with real-time
rotations. It works on IBM PC/AT compatibles, with VGA, EGA, CGA or
Hercules graphics. A Microsoft-compatible mouse is required.
This program is made available for unrestricted use. However, it may
not be sold or included with other software. The package may be
copied and distributed freely so long as all its files are kept
together, unmodified, and no remuneration of any kind is received in
Load the mouse driver before running the program. Data file names
can be given on the command line (3DV filename.ext), or later with
the FILE option. Options/commands are selected by clicking a mouse
button on the appropriate selection boxes. Perspective or orthogonal
projections can be specified.
3DV attempts to detect the graphics hardware and sets the default
mode accordingly (CGA is selected if identification fails).
WARNING! With some configurations (e.g. EGA without the enhanced
color monitor) hardware damage can occur if the wrong mode is
selected. The EGA mode requires a 256k EGA card and enhanced color
The FILE option presents a menu with all the files matching *.3* in
the current directory. Some samples are included. See below how to
set up your own data files.
In display mode, the position of the view point on a sphere
surrounding the object is controlled by moving the mouse:
horizontally changes the longitude, vertically changes latitude.
Pressing a button takes you back to the options menu. That's all
there is to it!
Data is given in ASCII text files, in free format, in the following
number of points
x, y, and z coordinates for each point (scaling is automatic)
number of connecting lines or moves (number of items below)
point number to draw or to move to, and color (color=0 for move)
Yes, a bit obscure, but see the sample files for examples.
Capacity is limited by 10*(number of points) + 4*(moves and draws)
<= 58280 .
CHANGES FROM PREVIOUS VERSION (2.0)
- Fixed memory allocation bug, increased capacity.
- New stand-alone Hercules routines. These ones actually work!
- Point-and-shoot file selection.
- Hardware auto-detect.
- Better latitude/longitude display; previously conflicted with
TECHNICAL INFO, ETC.
After the public release of 2.0, several people asked about the
source code. Sorry, but after thinking about it I decided not to
make it available. Among other things, it is not a pretty sight.
Believe it or not, 3dv originated from a Basic and Z80 Assembler
version that run on my TRS-80 clone (made in HongKong, yes, they
invented the clones! BTW, it still works), with a homemade graphics
card based on the TI TMS9929A chip (256x192 pixels). The port to the
PC was one of my first uses of C and 8086 Assembler, several years
ago. Definitely not fit for human consumption.
If you must know, 3dv is written in Turbo C, with fast line drawing
routines in assembler. Speed is due largely to the use of 16 bit
integer arithmetic, with careful scaling and arrangement of
computations to maintain precision while avoiding overflow (as in the
good old days). Note, however, that absolute precision is a bit
lower than the display resolution. Uses double buffering, swapping
between two video pages (except CGA that buffers from RAM). VGA uses
only the EGA 640x350 mode, which is the highest standard mode with
two video pages. The performance of buffering in RAM for higher
resolution modes might or might not be acceptable, and hi-res paging
may be possible with SVGA, but I have wasted enough of my time
already. No further versions are planned unless, perhaps, if some
horrible bug is discovered (or I receive some offer that I can't
CREDITS FOR EXAMPLES
SKULL.3D and 2SKULLS.3D - Prehistoric Pacific islands skulls.
Dr Foss Leach ([email protected]
), National Museum of New
TREE1.3D - Pine branch measurements, from crown architecture study.
Dr David Whitehead ([email protected]
), Forest Research
GLASS.3D - Stolen from example by Gershon Elber in GNUPLOT (a
very good plotting package, recommended. Look for GPLOT-3D.ZIP in SIMTEL20).
GALAXY.3D - From "A simulated view of the Galaxy" by Mark Dahmke,
BYTE, April 1979, p 66-80.
Send me your favorite 3dv pretty pictures. We could distribute
collections of them if there is enough interest and contributions.
Oscar Garca ([email protected]) - 1 Clyde St, Rotorua, New Zealand.