Copyright (C) 2004-2010 dondalah721@yahoo.com (Dondalah)
Xdome is a suite of programs and subroutines that help you visualize the structure of a geodesic dome in all its variations. The programs are not optimized for speed but are written to illustate the mathematics of a geodesic dome. The programs are written in two phases. Phase I generates the vertices of the dome. Phase II joins the vertices into struts and triangles, then displays the dome in X Windows. In most of the lower level subroutines, you see two loops representing each phase of the process.
It is hoped that these programs will be eye candy for those who like to look at geodesic domes. By seeing the variety of domes available, you should be able to decide which type of geodesic dome you like the best and want to build as your work space or living space.
If you know very little about geodesic domes, you may want to start by running the domedemo program. Later, you can run the xdome program to refine your desired choice of a geodesic dome. When you have refined your choice, you can run the strlen program to generate detailed information about the dome, and rotate it in 3D space. You may run the strlen program without the -s parameter to see summary statistics about the dome. Then add the -s parameter to see the location and length of each strut in the sphere. The -s parameter is used to let you rotate the dome in 3D space.
The graphics part of the xdome program shows a full geodesic dome sphere. You will have to decide where you want to truncate the sphere to obtain a half dome. Domes with even frequencies truncate exactly at the equator. Domes with odd frequencies truncate just above or below the equator.
The term dome is used broadly in this documentation to refer to a half sphere or a full sphere. Even the half sphere is sometimes a 3/4 sphere, a 5/8 sphere, a 1/3 sphere, or a 3/8 sphere.
Very large domes, such as the railway repair shed in Wood River, Illinois, truncate the dome at theta equal to 63 degrees below the north pole. This makes the dome a 1/3 dome. The Wood River dome has a frequency of 20, with 11 foot struts, and is 354 feet across and 88.5 feet high at the center.
This image has the same proportions as the Wood River dome.
The geodesic dome that Buckminster Fuller designed for Montreal Expo '67 was a 3/4 dome. The bottom of the dome was truncated at different levels to fit the underlying terrain.
The Montreal dome has a frequency of 16, with 7 to 10 foot struts, and is 250 feet across and 210 feet high at the center.
This image has the same proportions as the Montreal dome. The image is has not been truncated to look like the Montreal dome.
The domedemo program needs a library from xdome, called libxdome.a. You will have to compile xdome before you compile domedemo. The strlen compile creates its own library, called libstrlen.a.
The verify programs depend upon strlen for testing. You will have to compile strlen before you compile the verify programs. The verify programs allow you to visually inspect the output of strlen by rotating the domes in 3D space.
The image of a dome at a low frequency, as in the previous example, is not always a perfect sphere. The image that you see on the screen is the foreground portion of the dome.
The strlen program gives you a more detailed output of this dome, if you specify the -s parameter. This output shows you every strut in the sphere. If you leave out the -s parameter, you get strut statistics for a single face of a polyhedron. The struts for the first face are repeated for all faces in the sphere.
For example, for an icosahedron dome, the first face goes from a phi angle of 0 to 72 degrees. The theta angle goes from 0 north to 63 degrees from the north pole. The first face is repeated 5 times around the north pole of the dome and 10 times around the side. The faces around the side alternate between being right side up and upside down. If you rotate the previous picture 72 degrees, 5 times, you could see how these faces fit together on the icosahedron.
You can do that by piping strlen into verify and rotating the sphere with the right arrow key.
strlen -c1 -pi -f1 -s | verify
Rotate the sphere to:
In xdome, phi angles between -90 and +90 degrees show you the front view of a sphere. The back view of the sphere shows you phi angles from 90 to 270 degrees. You use the right and left arrow keys to change the view of the sphere between front, back, and top.
The xdome program show you spheres for an icosahedron (20 faces), an octahedron (8 faces), and a tetrahedron (4 faces). You change the polyhedron with the tab key in xdome.
For the same polyhedron, you can see class I and II spheres. You change the class with the insert and delete keys. Class II spheres are a variation of class I spheres. In a class II sphere, each face is half as tall as in a class I sphere. Therefore, the programs for class II spheres use a field, called halffreq. This field is not used to build a class I sphere.
The up and down arrow keys allow you to increase or decrease the frequency of the dome. The frequency is the tessellation of each face. In quilting, tessellation refers to repeating patterns in a quilt. With geodesic domes, tessellation means breaking up the triangular face into smaller triangles to create a rounder dome. The frequency 20 icosahedron at Wood River is rounder in shape than the frequency 1 icosahedron as the result of tessellation.
The left and right arrow keys allow you to change the view of the dome between front, back, and top views.
If you want to imagine what a home would look like as a geodesic dome, you will need to imagine the sphere truncated at or near the equator. Homes are frequently built as class I, frequency 3, icosahedron domes. The ground level for a home lies just above or below the equator on the sphere.
If you want to create an eccentric dome, press the F2 function key to create horizontal eccentricity. Press the F3 function key to create vertical eccentricity. Shift-F2 and shift-F3 return the dome to full spherical shape.
You will notice that the top view of a dome with vertical eccentricity shows a small, round shape. After you change the view to front or back, the eccentricity is more elongated.
If you want to create a buckyball dome, press the F4 function key. Pressing the F4 key again returns the dome to triangles.
If you want to see how a dome is painted on the screen, you can slow it down with the F1 key in xdome. If your computer runs very fast, you may have to change the slp.c subroutine to slow it down even more than it already is.
To start xdome, enter the command,
xdome
To start domedemo, enter the command,
domedemo
To get help on running strlen, enter the command,
strlen -h
This command gives you the syntax for all the strlen parameters.
To verify the output of strlen visually, enter the following piped command:
strlen -c1 -pi -f3 -s | verify
This command shows you the syntax of verify, after the output of strlen is piped to it for a class 1 icosahedron, frequency 3.
To run spin from strlen, enter the following piped command:
strlen -c1 -pi -f3 -s | spin
This command shows you the syntax of spin, after the output of strlen is piped to it for a class 1 icosahedron, frequency 3.
To run spinecc from strlen, enter the following piped command:
strlen -c1 -pi -f3 -e1.5 -s | spinecc
strlen -c1 -pi -f3 -e0.75 -s | spinecc
These commands show you the syntax of spinecc, after the output of strlen is piped to it for a class 1 icosahedron, frequency 3. The first example shows a vertical elipse. The second example shows a horizontal elipse.
Press the letter q to quit from the online programs.
xdome, domedemo, verify, spin, and spinecc show the menu on the right of the screen. On the left of the screen, is the dome image.
xdome and domedemo give you enough information in the menu to create the parameters for running the strlen program. In particular, note the class, polyhedron, frequency, and eccentricity. Write this information on a piece of paper and create the strlen parameters from that information.