#declare RANGESCALE = 0.55; #declare VP = <-0.1,-2,1.2>; #include "common.inc" // Edge length: 1.05146 // Vertex modulus: 1 #declare PHI = (1 + sqrt(5)) / 2; #declare DIST1 = 0.7946544656; #declare DIST2 = (1 + sqrt(5)) / 2; #declare BALLRADIUS = BALLRADIUS * 0.75; #declare RODRADIUS = RODRADIUS * 0.75 * DIST1 / 0.5; // Frame union { sphere { < 0.6070619422, 0.0000000000, 0.7946545151>, BALLRADIUS } sphere { < 0.1875924568, 0.5773502159, 0.7946545151>, BALLRADIUS } sphere { <-0.4911234279, 0.3568220568, 0.7946545151>, BALLRADIUS } sphere { <-0.4911234279,-0.3568220568, 0.7946545151>, BALLRADIUS } sphere { < 0.1875924568,-0.5773502159, 0.7946545151>, BALLRADIUS } sphere { < 0.9822469445, 0.0000000000, 0.1875924840>, BALLRADIUS } sphere { < 0.3035309985, 0.9341723572, 0.1875924840>, BALLRADIUS } sphere { <-0.7946544708, 0.5773502681, 0.1875924840>, BALLRADIUS } sphere { <-0.7946544708,-0.5773502681, 0.1875924840>, BALLRADIUS } sphere { < 0.3035309985,-0.9341723572, 0.1875924840>, BALLRADIUS } sphere { < 0.7946544708, 0.5773502681,-0.1875924840>, BALLRADIUS } sphere { <-0.3035309985, 0.9341723572,-0.1875924840>, BALLRADIUS } sphere { <-0.9822469445, 0.0000000000,-0.1875924840>, BALLRADIUS } sphere { <-0.3035309985,-0.9341723572,-0.1875924840>, BALLRADIUS } sphere { < 0.7946544708,-0.5773502681,-0.1875924840>, BALLRADIUS } sphere { < 0.4911234279, 0.3568220568,-0.7946545151>, BALLRADIUS } sphere { <-0.1875924568, 0.5773502159,-0.7946545151>, BALLRADIUS } sphere { <-0.6070619422, 0.0000000000,-0.7946545151>, BALLRADIUS } sphere { <-0.1875924568,-0.5773502159,-0.7946545151>, BALLRADIUS } sphere { < 0.4911234279,-0.3568220568,-0.7946545151>, BALLRADIUS } texture { BALLTEXTURE } scale 0.5/DIST1 scale 0.98 } union { cylinder { < 0.6070619422, 0.0000000000, 0.7946545151>, < 0.1875924568, 0.5773502159, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568, 0.5773502159, 0.7946545151>, <-0.4911234279, 0.3568220568, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279, 0.3568220568, 0.7946545151>, <-0.4911234279,-0.3568220568, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279,-0.3568220568, 0.7946545151>, < 0.1875924568,-0.5773502159, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568,-0.5773502159, 0.7946545151>, < 0.6070619422, 0.0000000000, 0.7946545151>, RODRADIUS } cylinder { < 0.6070619422, 0.0000000000, 0.7946545151>, < 0.1875924568, 0.5773502159, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568, 0.5773502159, 0.7946545151>, < 0.3035309985, 0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985, 0.9341723572, 0.1875924840>, < 0.7946544708, 0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708, 0.5773502681,-0.1875924840>, < 0.9822469445, 0.0000000000, 0.1875924840>, RODRADIUS } cylinder { < 0.9822469445, 0.0000000000, 0.1875924840>, < 0.6070619422, 0.0000000000, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568, 0.5773502159, 0.7946545151>, <-0.4911234279, 0.3568220568, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279, 0.3568220568, 0.7946545151>, <-0.7946544708, 0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708, 0.5773502681, 0.1875924840>, <-0.3035309985, 0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985, 0.9341723572,-0.1875924840>, < 0.3035309985, 0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985, 0.9341723572, 0.1875924840>, < 0.1875924568, 0.5773502159, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279, 0.3568220568, 0.7946545151>, <-0.4911234279,-0.3568220568, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279,-0.3568220568, 0.7946545151>, <-0.7946544708,-0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708,-0.5773502681, 0.1875924840>, <-0.9822469445, 0.0000000000,-0.1875924840>, RODRADIUS } cylinder { <-0.9822469445, 0.0000000000,-0.1875924840>, <-0.7946544708, 0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708, 0.5773502681, 0.1875924840>, <-0.4911234279, 0.3568220568, 0.7946545151>, RODRADIUS } cylinder { <-0.4911234279,-0.3568220568, 0.7946545151>, < 0.1875924568,-0.5773502159, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568,-0.5773502159, 0.7946545151>, < 0.3035309985,-0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985,-0.9341723572, 0.1875924840>, <-0.3035309985,-0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985,-0.9341723572,-0.1875924840>, <-0.7946544708,-0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708,-0.5773502681, 0.1875924840>, <-0.4911234279,-0.3568220568, 0.7946545151>, RODRADIUS } cylinder { < 0.1875924568,-0.5773502159, 0.7946545151>, < 0.6070619422, 0.0000000000, 0.7946545151>, RODRADIUS } cylinder { < 0.6070619422, 0.0000000000, 0.7946545151>, < 0.9822469445, 0.0000000000, 0.1875924840>, RODRADIUS } cylinder { < 0.9822469445, 0.0000000000, 0.1875924840>, < 0.7946544708,-0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708,-0.5773502681,-0.1875924840>, < 0.3035309985,-0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985,-0.9341723572, 0.1875924840>, < 0.1875924568,-0.5773502159, 0.7946545151>, RODRADIUS } cylinder { < 0.4911234279, 0.3568220568,-0.7946545151>, <-0.1875924568, 0.5773502159,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568, 0.5773502159,-0.7946545151>, <-0.3035309985, 0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985, 0.9341723572,-0.1875924840>, < 0.3035309985, 0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985, 0.9341723572, 0.1875924840>, < 0.7946544708, 0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708, 0.5773502681,-0.1875924840>, < 0.4911234279, 0.3568220568,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568, 0.5773502159,-0.7946545151>, <-0.6070619422, 0.0000000000,-0.7946545151>, RODRADIUS } cylinder { <-0.6070619422, 0.0000000000,-0.7946545151>, <-0.9822469445, 0.0000000000,-0.1875924840>, RODRADIUS } cylinder { <-0.9822469445, 0.0000000000,-0.1875924840>, <-0.7946544708, 0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708, 0.5773502681, 0.1875924840>, <-0.3035309985, 0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985, 0.9341723572,-0.1875924840>, <-0.1875924568, 0.5773502159,-0.7946545151>, RODRADIUS } cylinder { <-0.6070619422, 0.0000000000,-0.7946545151>, <-0.1875924568,-0.5773502159,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568,-0.5773502159,-0.7946545151>, <-0.3035309985,-0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985,-0.9341723572,-0.1875924840>, <-0.7946544708,-0.5773502681, 0.1875924840>, RODRADIUS } cylinder { <-0.7946544708,-0.5773502681, 0.1875924840>, <-0.9822469445, 0.0000000000,-0.1875924840>, RODRADIUS } cylinder { <-0.9822469445, 0.0000000000,-0.1875924840>, <-0.6070619422, 0.0000000000,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568,-0.5773502159,-0.7946545151>, < 0.4911234279,-0.3568220568,-0.7946545151>, RODRADIUS } cylinder { < 0.4911234279,-0.3568220568,-0.7946545151>, < 0.7946544708,-0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708,-0.5773502681,-0.1875924840>, < 0.3035309985,-0.9341723572, 0.1875924840>, RODRADIUS } cylinder { < 0.3035309985,-0.9341723572, 0.1875924840>, <-0.3035309985,-0.9341723572,-0.1875924840>, RODRADIUS } cylinder { <-0.3035309985,-0.9341723572,-0.1875924840>, <-0.1875924568,-0.5773502159,-0.7946545151>, RODRADIUS } cylinder { < 0.4911234279,-0.3568220568,-0.7946545151>, < 0.4911234279, 0.3568220568,-0.7946545151>, RODRADIUS } cylinder { < 0.4911234279, 0.3568220568,-0.7946545151>, < 0.7946544708, 0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708, 0.5773502681,-0.1875924840>, < 0.9822469445, 0.0000000000, 0.1875924840>, RODRADIUS } cylinder { < 0.9822469445, 0.0000000000, 0.1875924840>, < 0.7946544708,-0.5773502681,-0.1875924840>, RODRADIUS } cylinder { < 0.7946544708,-0.5773502681,-0.1875924840>, < 0.4911234279,-0.3568220568,-0.7946545151>, RODRADIUS } cylinder { < 0.4911234279, 0.3568220568,-0.7946545151>, <-0.1875924568, 0.5773502159,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568, 0.5773502159,-0.7946545151>, <-0.6070619422, 0.0000000000,-0.7946545151>, RODRADIUS } cylinder { <-0.6070619422, 0.0000000000,-0.7946545151>, <-0.1875924568,-0.5773502159,-0.7946545151>, RODRADIUS } cylinder { <-0.1875924568,-0.5773502159,-0.7946545151>, < 0.4911234279,-0.3568220568,-0.7946545151>, RODRADIUS } cylinder { < 0.4911234279,-0.3568220568,-0.7946545151>, < 0.4911234279, 0.3568220568,-0.7946545151>, RODRADIUS } texture { RODTEXTURE } scale 0.5/DIST1 scale 0.98 } #declare DOD1 = intersection { plane { < 0.0000000000, 0.0000000000, 1.0000000000>, DIST1 } plane { < 0.7236067847, 0.5257311026, 0.4472136277>, DIST1 } plane { <-0.2763931973, 0.8506507930, 0.4472136277>, DIST1 } plane { <-0.8944271749, 0.0000000000, 0.4472136277>, DIST1 } plane { <-0.2763931973,-0.8506507930, 0.4472136277>, DIST1 } plane { < 0.7236067847,-0.5257311026, 0.4472136277>, DIST1 } plane { < 0.2763931973, 0.8506507930,-0.4472136277>, DIST1 } plane { <-0.7236067847, 0.5257311026,-0.4472136277>, DIST1 } plane { <-0.7236067847,-0.5257311026,-0.4472136277>, DIST1 } plane { < 0.2763931973,-0.8506507930,-0.4472136277>, DIST1 } plane { < 0.8944271749,-0.0000000000,-0.4472136277>, DIST1 } plane { <-0.0000000000,-0.0000000000,-1.0000000000>, DIST1 } scale 0.5/DIST1 scale 1.001 } #declare DOD2 = union { object { DOD1 translate DIST2 * < 0.6070619422, 0.0000000000, 0.7946545151> } object { DOD1 translate DIST2 * < 0.1875924568, 0.5773502159, 0.7946545151> } object { DOD1 translate DIST2 * <-0.4911234279, 0.3568220568, 0.7946545151> } object { DOD1 translate DIST2 * <-0.4911234279,-0.3568220568, 0.7946545151> } object { DOD1 translate DIST2 * < 0.1875924568,-0.5773502159, 0.7946545151> } object { DOD1 translate DIST2 * < 0.9822469445, 0.0000000000, 0.1875924840> } object { DOD1 translate DIST2 * < 0.3035309985, 0.9341723572, 0.1875924840> } object { DOD1 translate DIST2 * <-0.7946544708, 0.5773502681, 0.1875924840> } object { DOD1 translate DIST2 * <-0.7946544708,-0.5773502681, 0.1875924840> } object { DOD1 translate DIST2 * < 0.3035309985,-0.9341723572, 0.1875924840> } object { DOD1 translate DIST2 * < 0.7946544708, 0.5773502681,-0.1875924840> } object { DOD1 translate DIST2 * <-0.3035309985, 0.9341723572,-0.1875924840> } object { DOD1 translate DIST2 * <-0.9822469445, 0.0000000000,-0.1875924840> } object { DOD1 translate DIST2 * <-0.3035309985,-0.9341723572,-0.1875924840> } object { DOD1 translate DIST2 * < 0.7946544708,-0.5773502681,-0.1875924840> } object { DOD1 translate DIST2 * < 0.4911234279, 0.3568220568,-0.7946545151> } object { DOD1 translate DIST2 * <-0.1875924568, 0.5773502159,-0.7946545151> } object { DOD1 translate DIST2 * <-0.6070619422, 0.0000000000,-0.7946545151> } object { DOD1 translate DIST2 * <-0.1875924568,-0.5773502159,-0.7946545151> } object { DOD1 translate DIST2 * < 0.4911234279,-0.3568220568,-0.7946545151> } scale 1 / (2 + PHI) scale 1.001 } #declare DOD3 = union { object { DOD2 translate DIST2 * < 0.6070619422, 0.0000000000, 0.7946545151> } object { DOD2 translate DIST2 * < 0.1875924568, 0.5773502159, 0.7946545151> } object { DOD2 translate DIST2 * <-0.4911234279, 0.3568220568, 0.7946545151> } object { DOD2 translate DIST2 * <-0.4911234279,-0.3568220568, 0.7946545151> } object { DOD2 translate DIST2 * < 0.1875924568,-0.5773502159, 0.7946545151> } object { DOD2 translate DIST2 * < 0.9822469445, 0.0000000000, 0.1875924840> } object { DOD2 translate DIST2 * < 0.3035309985, 0.9341723572, 0.1875924840> } object { DOD2 translate DIST2 * <-0.7946544708, 0.5773502681, 0.1875924840> } object { DOD2 translate DIST2 * <-0.7946544708,-0.5773502681, 0.1875924840> } object { DOD2 translate DIST2 * < 0.3035309985,-0.9341723572, 0.1875924840> } object { DOD2 translate DIST2 * < 0.7946544708, 0.5773502681,-0.1875924840> } object { DOD2 translate DIST2 * <-0.3035309985, 0.9341723572,-0.1875924840> } object { DOD2 translate DIST2 * <-0.9822469445, 0.0000000000,-0.1875924840> } object { DOD2 translate DIST2 * <-0.3035309985,-0.9341723572,-0.1875924840> } object { DOD2 translate DIST2 * < 0.7946544708,-0.5773502681,-0.1875924840> } object { DOD2 translate DIST2 * < 0.4911234279, 0.3568220568,-0.7946545151> } object { DOD2 translate DIST2 * <-0.1875924568, 0.5773502159,-0.7946545151> } object { DOD2 translate DIST2 * <-0.6070619422, 0.0000000000,-0.7946545151> } object { DOD2 translate DIST2 * <-0.1875924568,-0.5773502159,-0.7946545151> } object { DOD2 translate DIST2 * < 0.4911234279,-0.3568220568,-0.7946545151> } scale 1 / (2 + PHI) scale 1.001 } #declare DOD4 = union { object { DOD3 translate DIST2 * < 0.6070619422, 0.0000000000, 0.7946545151> } object { DOD3 translate DIST2 * < 0.1875924568, 0.5773502159, 0.7946545151> } object { DOD3 translate DIST2 * <-0.4911234279, 0.3568220568, 0.7946545151> } object { DOD3 translate DIST2 * <-0.4911234279,-0.3568220568, 0.7946545151> } object { DOD3 translate DIST2 * < 0.1875924568,-0.5773502159, 0.7946545151> } object { DOD3 translate DIST2 * < 0.9822469445, 0.0000000000, 0.1875924840> } object { DOD3 translate DIST2 * < 0.3035309985, 0.9341723572, 0.1875924840> } object { DOD3 translate DIST2 * <-0.7946544708, 0.5773502681, 0.1875924840> } object { DOD3 translate DIST2 * <-0.7946544708,-0.5773502681, 0.1875924840> } object { DOD3 translate DIST2 * < 0.3035309985,-0.9341723572, 0.1875924840> } object { DOD3 translate DIST2 * < 0.7946544708, 0.5773502681,-0.1875924840> } object { DOD3 translate DIST2 * <-0.3035309985, 0.9341723572,-0.1875924840> } object { DOD3 translate DIST2 * <-0.9822469445, 0.0000000000,-0.1875924840> } object { DOD3 translate DIST2 * <-0.3035309985,-0.9341723572,-0.1875924840> } object { DOD3 translate DIST2 * < 0.7946544708,-0.5773502681,-0.1875924840> } object { DOD3 translate DIST2 * < 0.4911234279, 0.3568220568,-0.7946545151> } object { DOD3 translate DIST2 * <-0.1875924568, 0.5773502159,-0.7946545151> } object { DOD3 translate DIST2 * <-0.6070619422, 0.0000000000,-0.7946545151> } object { DOD3 translate DIST2 * <-0.1875924568,-0.5773502159,-0.7946545151> } object { DOD3 translate DIST2 * < 0.4911234279,-0.3568220568,-0.7946545151> } scale 1 / (2 + PHI) scale 1.001 } #declare DOD5 = union { object { DOD4 translate DIST2 * < 0.6070619422, 0.0000000000, 0.7946545151> } object { DOD4 translate DIST2 * < 0.1875924568, 0.5773502159, 0.7946545151> } object { DOD4 translate DIST2 * <-0.4911234279, 0.3568220568, 0.7946545151> } object { DOD4 translate DIST2 * <-0.4911234279,-0.3568220568, 0.7946545151> } object { DOD4 translate DIST2 * < 0.1875924568,-0.5773502159, 0.7946545151> } object { DOD4 translate DIST2 * < 0.9822469445, 0.0000000000, 0.1875924840> } object { DOD4 translate DIST2 * < 0.3035309985, 0.9341723572, 0.1875924840> } object { DOD4 translate DIST2 * <-0.7946544708, 0.5773502681, 0.1875924840> } object { DOD4 translate DIST2 * <-0.7946544708,-0.5773502681, 0.1875924840> } object { DOD4 translate DIST2 * < 0.3035309985,-0.9341723572, 0.1875924840> } object { DOD4 translate DIST2 * < 0.7946544708, 0.5773502681,-0.1875924840> } object { DOD4 translate DIST2 * <-0.3035309985, 0.9341723572,-0.1875924840> } object { DOD4 translate DIST2 * <-0.9822469445, 0.0000000000,-0.1875924840> } object { DOD4 translate DIST2 * <-0.3035309985,-0.9341723572,-0.1875924840> } object { DOD4 translate DIST2 * < 0.7946544708,-0.5773502681,-0.1875924840> } object { DOD4 translate DIST2 * < 0.4911234279, 0.3568220568,-0.7946545151> } object { DOD4 translate DIST2 * <-0.1875924568, 0.5773502159,-0.7946545151> } object { DOD4 translate DIST2 * <-0.6070619422, 0.0000000000,-0.7946545151> } object { DOD4 translate DIST2 * <-0.1875924568,-0.5773502159,-0.7946545151> } object { DOD4 translate DIST2 * < 0.4911234279,-0.3568220568,-0.7946545151> } scale 1 / (2 + PHI) scale 1.001 } #switch (clock) #case (0) object { DOD1 texture { THETEXTURE1 } } #break #case (2) object { DOD2 texture { THETEXTURE1 } } #break #case (4) object { DOD3 texture { THETEXTURE1 } } #break #case (6) object { DOD4 texture { THETEXTURE1 } } #break #case (8) object { DOD5 texture { THETEXTURE1 } } #break #case (1) #break #case (3) difference { object { DOD1 scale 0.98} object { DOD2 } texture { THETEXTURE2 } } #break #case (5) difference { object { DOD1 scale 0.98 } object { DOD3 } texture { THETEXTURE2 } } #break #case (7) difference { object { DOD1 scale 0.98 } object { DOD4 } texture { THETEXTURE2 } } #break #case (9) difference { object { DOD1 scale 0.98 } object { DOD5 } texture { THETEXTURE2 } } #break #end