Quadrays and


The strategy employed centers around two lookup tables in a relational database: a table of points (allpoints) and a table of edges connecting pairs of points (shapes). Every shape is defined as a set of edges (polyhedra treated as wireframes), and each edge is defined as a point pair. 
If we identify the corners of tetrahedron T1 as T1A through T1D, then the edges will be: (T1A,T1B) (T1A,T1C) (T1A,T1D) (T1B,T1C) (T1B,T1D) (T1C,T1D) The negatives of our original four points define the corners of the dual tetrahedron, one intersecting the original at its midedges. In quadray notation, to negate a vector is to get one pointing in the opposite direction, just as we would expect from our experience with the xyz coordinate system. However, we learned an An Introduction to Quadrays that only positive numbers are required to specify all vectors in quadray space. For example, (1,0,0,0) = (1,0,0,0) = (0,1,1,1). Below we see the original tetrahedron T1, its dual T2, and the two tetrahedra interpenetrating one another (T1+T2): 

The tetrahedron and its dual also define the eight corners of a cube. In our shapes table, we define cube C1 as pairs of points already defined in association with T1 and T2. In other words, we don't need to add any new points to our database, just more edges. Below we see a listing of all records in the shapes table defining our concentric hierarchy cube of volume 3. The program scans through these records and builds lines of text using syntax which the ray tracing program, Povray, knows how to interpret as a colored cylinder running from point ID1 to point ID2. Tiny spheres are defined at each end to give our cylinders rounded ends. 

SHAPEID ID1 ID2  C1 T1A T2B C1 T1A T2C C1 T1A T2D C1 T1B T2A C1 T1B T2C C1 T1B T2D C1 T1C T2A C1 T1C T2B C1 T1C T2D C1 T1D T2A C1 T1D T2B C1 T1D T2C 




sphere { <0, 0, 0>, 1 texture { pigment { wood color_map { [0.0 color DarkTan] [0.9 color DarkBrown] [1.0 color VeryDarkBrown] } turbulence 0.08 } finish { phong .5 } } } 









(0,0,1,1) (0,1,0,1) (0,0,1,1) So our pushing apart and shortening operations involves adding vectors in the above six directions, after first scaling them by precise amounts. Scaling involves first dividing a vector by its native distance, such as root(2) in the case of the above 6, which effectively makes it unit length. Given our turtle objects internally track a vector's distance, scaling to unity is easy to implement. Then whatever additional scaling factors are applied. The scaled and added vectors will move existing vertices of the
cuboctahedron out and closer together, to give 3 golden rectangles,
with external edges of 1, and cross beams  through the interior
of the cuboctahedron  of length 2 x phi (where 

(0,1,1,2) (0,1,2,1) (0,2,1,1) These quadray vector additions generate 12 new points for the allpoints table, and 30 new entries in shapes, patterned after those used for V1 + VS (cuboctahedron plus 6 square diagonals). Given the new data for I1, the existing makeshape( ) method provides the expected icosahedron of volume ~18.51. We develop the pentagonal dodecahedron by adding the 3 quadrays associated with each of the icosahedron's 20 triangles. Each 3vector sum provides a spoke aimed straight through an icosahedron face center. A scale factor of 1/distance shortens the spokes to unit length, and a second scale factor extends them to provide a dodecahedron with midedges perpendicalar to and intersecting the icosahedron's. This second scale factor was computed using Figure 986.405 and Figure 986.411A in Synergetics (2nd volume) and is: This pentagonal dodecahedron, the icosahedron's dual, supplies the remaining vertices of the rhombic triacontahedron, another fivefold symmetric member of the synergetics concentric hierarchy. 
As a practical matter, our ray tracing program will not be able to visually convey the miniscule difference in scale between these two shapes. For convenience, the E modular version will be calculated and stored. At left above we see the icosahedron and pentagonal dodecahedron serving as a framework for the 60 additional edges of the rhombic triacontahedron of radius phi (center to midface). Beneath is a rescaled rhombic triacontahedron of radius 1, obtained by multiplying its edges by a factor of 1/phi. The original cuboctahedron and icosahedron are provided as context. 
This essentially completes our study of the concentric hierarchy using quadrays. A cuboctahedron of volume 2.5 (inscribed in the volume 3 cube) and a cube of volume 24 (in which the volume 20 cuboctahedron is inscribed) also play a role in Synergetics. And of course the A, B, T and E modules deserve further analysis in terms of quadrays. 

Synergetics on the
Web 