%% INCLUDE html/header title = "Geodome: Geodome creation for POV-Ray" keywords = "geodome,geodesic dome,ray tracing,POV-Ray" description = "Geodome: Geodome creation utility for POV-Ray" bodytags = "vlink=\"#4141ba\"" %% %% INCLUDE header heat = 120 secname = geodome secdesc = "Geodome" back = "code" %%
Copyright © 1994-97 Andy Wardley. All Rights Reserved.
Geodome
[ download 24 bit JPEG 800x600 82k ]

Geodome is a utility to create data files for the POV-Ray ray tracer, Version 2.x and onwards. It creates geodesic spheres that consist of triangular facets (FACET mode) or a mesh of pipes and joints (MESH mode).

For further information on POV-Ray, check out the official POV-Ray web site:

Further examples of Geodome output can be found on the Digital Artist pages.

Download:


Contents


Copyright, License and Distribution Terms

Geodome is freely distributed software. No charge or registration fee is required for using the program and it may be distributed by any electronic or magnetic media providing the package is complete and unchanged.

No charge may be made for the program expect a small handling charge or for media supplied. The program may not be sold in any other way without the express permission of the author, Andy Wardley <abw@peritas.com>

No guarantees or warranties are made with the program and the author can accept no responsibility for any damages or losses incurred through using this program. I hate having to say that.


Usage

Run Geodome with the -h option to display the help/command summary screen:

  GEODOME V1.2  21-Jan-97  Geodome generator for POV-Ray V2.n+
  Copyright (C) 1994-97 Andy Wardley .  All Rights Reserved

  usage:
       geodome [options]
  
       -h            This help
       -v            verbose mode
       -r depth      recursion depth (default: 3)
       -f            generate triangular facets (default)
       -m            generate pipe mesh
       -p radius     pipe radius (mesh only) (default: 0.0100)
       -j radius     joint radius (mesh only) (default: 0.0150)

If no options are specified, a faceted geodome is created with a recursion level (see below) of 3. The data is sent to the standard output (stdout) and should be redirected to a file using the '>' operator. e.g.

  geodome > geodome.inc

In the above example, the output is sent to a file named "geodome.inc" which will contain something like the following (edited for brevity):

  /*
   * Geodome model data created by geodome V1.2  21-Jan-97
   *
   * geodome is free software by Andy Wardley 
   * http://www.peritas.com/~abw
   */

  #declare geodome_eighth =
  union {
      triangle {
          <0.0000000000, 1.0000000000, 0.0000000000>
          <0.0000000000, 0.9807852804, 0.1950903220>
          <0.1950903220, 0.9807852804, 0.0000000000>
      }

      [...snip...]

      triangle {
          <0.6396021491, 0.4264014327, 0.6396021491>
          <0.6396021491, 0.6396021491, 0.4264014327>
          <0.4264014327, 0.6396021491, 0.6396021491>
      }
  }


  #declare geodome_hemisphere = 
  union {
      object { geodome_eighth }
      object { geodome_eighth rotate <0, 90, 0> }
      object { geodome_eighth rotate <0, 180, 0> }
      object { geodome_eighth rotate <0, 270, 0> }
  }


  #declare geodome = 
  union {
      object { geodome_hemisphere }
      object { geodome_hemisphere rotate <180, 0, 0> }
  }

You can then #include this file into a povray scene file and use the defined objects "geodome_eighth", "geodome_hemisphere" and "geodome" as you require. The effective radius of the geodome is 1 unit and it is centred on the origin. The object can be scaled and translated as required.

The verbose option (-v) causes Geodome to print a summary of the active parameters to the standard error output (stderr).


Options

  -h          Help.

  -v          Verbose mode.  Parameter summary is printed on stderr.

  -r depth    This option sets the recursion depth.  If none is 
              specified, it defaults to 3.  

Geodome works by taking a triangle and sub-dividing it into a further 4 triangles. Each of these is then sub-divided, and so on. The recursion depth specifies how many times this happens.

A depth of 1 means that each "side" (i.e. eighth) of the dome has 4 triangles. Depth 2 gives 16 (4 * 4), 3 gives 64 (4 * 4 * 4), 4 gives 256, and so on. As you can see, it's not long before the number gets very large. At high recursion depths, it's likely you'll end up waiting a long time, assuming that you don't run out of memory or disk space first.

  -f          FACET mode - specifies that the geodome should be 
              constructed from a series of triangular facets.  
              This is the default and can safely be ignored.

  -m          MESH mode - specifies that the geodome should be 
              constructed from a series of pipes (cylinders) and 
              joints (spheres).  

When the -m option is used to specify MESH mode, the -p and -j options can be applied. If the -f option is used, the -p and -j options are ignored.

  -p radius   Specifies the radius of the pipes that consist 
              the framework.  This defaults to 0.01 units.

  -j radius   Specifies the radius of the joints connecting 
              the pipes.  This defaults to 0.015 units.


Examples of Use

  geodome             Default operation (facets, recursion depth 3).  

  geodome -r 2        Create facets with recursion depth 2.

  geodome -m          Create a mesh (use default pipe and joint widths).

  geodome -m -j 0.02  Mesh with joint radius of 0.02.


Compiling Geodome

The source code is distributed with Geodome to allow you to compile it for your own system. The code compiles cleanly on a SVR4 UNIX machine, but is untested on any other system. Maths library is required and getopt(3C) must be available (there is a getopt available as part of the GNU C library if your compiler doesn't support it directly). Pre-compiled Geodome versions are available for the PC (MS-DOS) and a handful of other selected platforms.

On most UNIX systems, something like the following should suffice:

  cc -o geodome geodome.c -lm

Geodome may be distributed freely as long as it is in its original form complete with all files, copyright messages, documentation, etc. Modified versions of the program may not be distributed without express permission of the author.

You are encouraged to modify, update or improve Geodome and submit your modified version to the author for perusal or inclusion in further versions of Geodome. Be aware though, that a major re-write is currently underway (read: "has been for 2 years now") so don't re-invent the same wheel without checking first.

Geodome version 2.0 will will be finished Real Soon Now.


History

Changes from version 1.1 to 1.2:


Bugs


Author Information

Geodome was written by Andy Wardley.

Please contact me (preferably by email) if you have any comments, criticisms, suggestions or even praise!

Email:
abw@peritas.com

On the Web:
http://www.peritas.com/~abw (Home Page)

Real Life Address: (to send money, gifts, postcards, etc.)
Andy Wardley
c/o Peritas Multimedia
Beaumont
Burfield Road
Old Windsor
Berkshire.
SL4 2JP

%% INCLUDE footer %%