1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
<html>
<!-- Page created on Sunday, August 18, 1996 -->
<head><title>DOME readme.html</title></head>
<body>
<CENTER><H1>Geodesic Dome Design</H1>
<H2>DOME</H2>
<H4>Version 4.60<BR>
September 22, 1996</H4><BR></CENTER>
<HR>
<H2>What is DOME?</H2>
DOME is a program which calculates the properties of a geodesic dome symmetry triangle. DOME calculates spherical
vertex coordinates, symmetry triangle topological abundance, and chord factors. DOME supports class I (alternate)
and class II (triacon) breakdowns for Icosahedron, Octahedron and Tetrahedron polyhedron types. DOME also
supports "Buckyball" formations as well as elliptical geodesics.
<HR>
<H2>Why DOME?</H2>
DOME began as a set of geodesic math test algorithims for use in investigating properties of generalized geodesic
structures. This continues to be the main purpose of my development of the DOME code. DOME should serve as a basic
tool for those interested in geodesic dome design and modeling. All source code is also included in this package
and is freely modifiable under the conditions of the
<A HREF="http://www.cs.utah.edu/csinfo/texinfo/emacs19/emacs_3.html#SEC3">GNU General Public License</A>.
<HR>
<H2>System Requirements</H2>
DOME has been complied using Borland C++ 4.52 and should run on any PC class system. Dome frequency is limited by
the amount of memory available. Full spheres use more memory so the frequency should be reduced accordingly.
<HR>
<H2>Changes From Previous Release Version 4.2</H2>
<UL>
<LI>Full support for class II spheres!
<LI>Split the POV output into two files. The .POV file contains the scene description while the dome.inc file
contains the geometry. This provides better flexability in rendering scene changes.
<LI>Defined a wire-frame type for VRML & DXF output.
<LI>Added wire-frame vrml support for buckyballs.
<LI>Placed comments in output files specifying the polyface associated with the data. This makes editing out certain faces easy.
<LI>DAT file output now displays Axial & Face angles for spherical symmetry triangles.
</UL>
<HR>
<H2>Usage</H2>
DOME is run from the DOS command line. The program will terminate with an error message if there is not enough
memory to allocate array space for the coordinate matrix. If this occurs, re-run DOME and request
a smaller subdivision frequency. Only even frequencies are allowed when using class II.</P>
<H3>
Usage: dome [-fnnn] [-cn] [-px] [-s or -sb] [-en] [-v] [-w] [-h] [filename.xxx]<BR>
<XMP>
Where: -fnnn is geodesic frequency (default nnn=2)
-cn is class type (n=1 or 2; default n=1)
-px sets the polyhedron type
where x is: i for icosahedron (default)
o for octahedron
t for tetrahedron
-s generate full sphere data (default: symmetry triangle)
-sb generate a buckyball. Must use class I with frequency equal
to a multiple of three.
-en enable elliptical formation (default: n=1 circle)
n=elliptical eccentricity (n > 0.0 and n < 2.0)
-v verbose data display at run-time
-w enable wire-frame VRML or DXF output (default: face data)
-h displays a help screen
filename.xxx is a standard DOS filename
where xxx is: DXF, DAT, WRL, POV or PRN
</XMP>
</H3>
<HR>
<H2>Examples of Usage</H2>
<BR>
<UL>
<LI>A 5 frequency, class I, icosahedron sphere in DXF format (note class I & icosa are the defaults): dome -f5 myfile.dxf
<LI>A 3 frequency buckyball in POV format: dome -f3 -sb myfile.pov
<LI>A 10 frequency, class II, octahedron symmetry triangle in DXF format: dome -f10 -c2 -po myfile.dxf
</UL>
<HR>
<H2>File Formats</H2>
DOME currently supports five file formats:
<UL>
<LI>DXF - DXF face data which can be input into most computer aided design packages. Each polyhedron face
is saved on a seperate level if spherical data generation is requested. DXF data for Buckyballs are saved as LINE
data. The default DXF data for all other structures is 3D POLYFACE data. This can be changed to LINE data with
the -w option. Note that not all applications support DXF line data. In these cases, use polyface instead. There are also
applications that do not like DXF comment groups. Use and ASCII test editor to remove the lines containing only a
"999" and the following line which indicates which polyface the data references.
<LI>DAT - An ASCII report format. Shows only symmetry triangle parameters. This format displays chord factors,
face angles and axial angles. Not available for Buckyballs.
<LI>PRN - An ASCII comma delimited format. Contains vertex coordinate and chord coordinate data. Suitable
for parsing into custom routines and spreadsheets. Only data for the symmetry triangle is saved. Not available for
Buckyballs.
<LI>POV - POV-ray script file. Generates spheres for vertexia, cylinders for chords and triangles for faces.
Faces are not saved when using the Buckyball option. The POV script consists of two files. The .POV file contains the scene description
while the dome.inc file contains the dome geometry. Note that DOME references "up" as the z-axis while POV references the y-axis.
The Sky statement in the camera definition compensates for this.
<LI>WRL - VRML file for use with a VRML browser such as Worldview or Live3D. Only wire-frame output is available with
Buckyball option.
</UL>
<HR>
<H2>Elliptical Structures</H2>
DOME allows the creation of elliptical geodesic structures. The -en switch enables this feature. The "n" parameter is the
elliptical eccentricity. This value is simply the ratio of the ellipse major axis to ellipse minor axis. A circle has an
eccentricity of 1.0.</P>
Dome allows eccentricity values greater than 0.0 but less than 2.0. An eccentricity less than 1.0 results in an ellipse having
a semimajor axis = 1.0 and aligned along the x-axis. Likewise, an eccentricity greater than results in an ellipse having a semiminor
axis = 1.0 and major axis aligned along the z-axis.</P>
<HR>
<H2>Other Goodies</H2>
See the <A HREF="http://www.cris.com/~rjbono/">Applied Synergetics Homepage</A> for image samples and links
to other Synergetics Web sites. The latest DOME info can be found
<A HREF="http://www.cris.com/~rjbono/html/domes.html">here</A>.</P>
DOME is also available via ftp from Kirby Urner's <A HREF="ftp.teleport.com/pub/users/pdx4d/bin/dome45.zip">
Synergetics on the Web</A> site.</P>
DXFtoPOV is a short utility which converts DXF line entities to POV-ray script. This is useful when using a CAD
program to modify a DXF file. The modified DXF file can then be rendered using POV-ray.
See the source code for more implementation comments.</P>
<HR>
<H2>Recommended Extras</H2>
Visit the following sites for freeware that will come in handy using DOME:
<UL>
<LI><A HREF="http://www.pov.org/">POVray 3.0</A> is now available for several different
platforms. Lots of enhancements on the previous version. A 32-bit windows
version is now available. This is a great program!
<LI>Try a copy of <A HREF="http://www.europa.com/~keithr/free.htm">WCVT2POV V2.6</A>. This is a pretty good windows-based format
converter/viewer for VRML, DXF, POV and other formats.
<LI>Those interested in Tensegrities should download a copy of Gerald de Jong's
<A HREF="http://www.xs4all.nl/~gdj/">Struck</A> program. It is available
in both a windows and Java version. Also try my <A HREF="http://www.cris.com/~rjbono/html/utility.html">Struck Utilities</A>
which will convert Struck's RBF file format to VRML, POVray & DXF.
<LI>Though not freeware, <A HREF="http://www.jasc.com/">Paint Shop Pro</A> comes in real handy for
manipulating graphics images created by POVray. A shareware version is available.
</UL>
Note: I can recommend these programs but I cannot support (with the exception of the Struck Utilities) them or guarantee their availablity.
<HR>
<H2>UNIX Portability</H2>
Several defines have now been added to the DOME & DXFtoPOV source code to allow
porting to UNIX machines. </P>
A Unix/LINUX makefile developed by Chris Fearnley has now been included
to improve g++ compilation.</P>
<HR>
<H2>Source Code Comments</H2>
Releases of DOME prior to 4.0 had all the source code in one file.
DOME 4.60 has the source code split across several files:</P>
<UL>
<LI>dome.cpp - Source code for main program loop.
<LI>geodesic.hpp - Header file containing variables, structures and class member function prototypes.
<LI>geodesic.cpp - Source code for geodesic class member functions. Most of the work is done by these routines.
<LI>dxfsave.cpp - Geodesic class DXF save routines.
<LI>povsave.cpp - Geodesic class POV save routines.
<LI>wrlsave.cpp - Geodesic class WRL (VRML) save routines.
<LI>dxftopov.cpp - source code for dxf to pov conversion utility
<LI>dome.mak - Borland C++ 4.52 makefile
<LI>domegcc.mak - GNU make file for DOME and DXFtoPOV
</UL>
<HR>
<H2>DOME Updates</H2>
The next major release of DOME will include:
<UL>
<LI>Provide Buckyball topological abundance in reports
<LI>Buckyball face data
<LI>Dihedral Face Angles
<LI>INI file input for customizing POV-ray and other settings.
<LI>Enhanced non-spherical support
<LI>Space frame support
</UL>
Feel free to contact me at <A HREF="mailto:rjbono@hiline.net">rjbono@hiline.net</A> for suggestions, bug reports or
questions.</P>
<HR>
<H2>Copyright Information</H2>
DOME 4.60, Copyright (C) 1995, 1996 Richard J. Bono</P>
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or any later version.</P>
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.</P>
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.</P>
Please direct inquiries, comments and modifications to:<BR>
<A HREF="http://www.cris.com/~rjbono/html/rjb.html">Richard J. Bono</A><BR>
44 Augusta Rd.<BR>
Brownsville, TX 78521<BR><BR>
email: <A HREF="mailto:rjbono@hiline.net">rjbono@hiline.net</A></P>
<HR>
<H2>Acknowledgements & References</H2>
The main reference used in the creation of this code was:
"Geodesic Math & How to Use It" by Hugh Kenner, 1976,
University of California Press.
ISBN 0-520-02924-0; Library of Congress Catalog Card Number:
74-27292.
Many thanks to Hugh for putting this data in an accessible
format.</P>
Also, many thanks to:
<UL>
<LI>J. F. (Jym) Nystrom for turning me on to Bucky back in the
summer of 1984.
<LI>My wife Sonia and my daughter Kathy for their de-finite patience.
<LI>Chris Fearnley for pushing me to release this code, providing uploading
tips, general comments, GNU POV scripts and UNIX/LINUX make files.
<LI>Kirby Urner for introducing me to POV-ray and for providing DOME
with a home in cyberspace.
<LI>R. Buckminster Fuller for changing the way I view Universe.
</UL>
<HR>
Contact <A HREF="http://www.cris.com/~rjbono/html/rjb.html"> Rick Bono </A>at: <A HREF="mailto:rjbono@hiline.net"><I>rjbono@hiline.net</I></A></P>
</body>
</html>
|