#declare RANGESCALE = 0.6; #declare VP = <0.3,-2,-0.6>; #include "common.inc" // Edge length: 0.713644 // Vertex modulus: 1 #declare PHI = (1 + sqrt(5)) / 2; #declare DIST1 = 0.7946544656; #declare BALLRADIUS = 0.75 * BALLRADIUS * DIST1 / 0.5; #declare RODRADIUS = 0.75 * RODRADIUS * DIST1 / 0.5; // Frame union { sphere { < 0.0000000000, 0.0000000000, 1.0000000000>, BALLRADIUS } sphere { < 0.8944272002, 0.0000000000, 0.4472135771>, BALLRADIUS } sphere { < 0.2763932051, 0.8506508171, 0.4472135771>, BALLRADIUS } sphere { <-0.7236068052, 0.5257311175, 0.4472135771>, BALLRADIUS } sphere { <-0.7236068052,-0.5257311175, 0.4472135771>, BALLRADIUS } sphere { < 0.2763932051,-0.8506508171, 0.4472135771>, BALLRADIUS } sphere { < 0.7236068052, 0.5257311175,-0.4472135771>, BALLRADIUS } sphere { <-0.2763932051, 0.8506508171,-0.4472135771>, BALLRADIUS } sphere { <-0.8944272002, 0.0000000000,-0.4472135771>, BALLRADIUS } sphere { <-0.2763932051,-0.8506508171,-0.4472135771>, BALLRADIUS } sphere { < 0.7236068052,-0.5257311175,-0.4472135771>, BALLRADIUS } sphere { < 0.0000000000, 0.0000000000,-1.0000000000>, BALLRADIUS } texture { BALLTEXTURE } scale 0.5/DIST1 scale 0.98 } union { cylinder { < 0.0000000000, 0.0000000000, 1.0000000000>, < 0.8944272002, 0.0000000000, 0.4472135771>, RODRADIUS } cylinder { < 0.8944272002, 0.0000000000, 0.4472135771>, < 0.2763932051, 0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051, 0.8506508171, 0.4472135771>, < 0.0000000000, 0.0000000000, 1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000, 1.0000000000>, < 0.2763932051, 0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051, 0.8506508171, 0.4472135771>, <-0.7236068052, 0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052, 0.5257311175, 0.4472135771>, < 0.0000000000, 0.0000000000, 1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000, 1.0000000000>, <-0.7236068052, 0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052, 0.5257311175, 0.4472135771>, <-0.7236068052,-0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052,-0.5257311175, 0.4472135771>, < 0.0000000000, 0.0000000000, 1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000, 1.0000000000>, <-0.7236068052,-0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052,-0.5257311175, 0.4472135771>, < 0.2763932051,-0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051,-0.8506508171, 0.4472135771>, < 0.0000000000, 0.0000000000, 1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000, 1.0000000000>, < 0.2763932051,-0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051,-0.8506508171, 0.4472135771>, < 0.8944272002, 0.0000000000, 0.4472135771>, RODRADIUS } cylinder { < 0.8944272002, 0.0000000000, 0.4472135771>, < 0.0000000000, 0.0000000000, 1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000,-1.0000000000>, < 0.7236068052, 0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052, 0.5257311175,-0.4472135771>, <-0.2763932051, 0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051, 0.8506508171,-0.4472135771>, < 0.0000000000, 0.0000000000,-1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000,-1.0000000000>, <-0.2763932051, 0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051, 0.8506508171,-0.4472135771>, <-0.8944272002, 0.0000000000,-0.4472135771>, RODRADIUS } cylinder { <-0.8944272002, 0.0000000000,-0.4472135771>, < 0.0000000000, 0.0000000000,-1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000,-1.0000000000>, <-0.8944272002, 0.0000000000,-0.4472135771>, RODRADIUS } cylinder { <-0.8944272002, 0.0000000000,-0.4472135771>, <-0.2763932051,-0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051,-0.8506508171,-0.4472135771>, < 0.0000000000, 0.0000000000,-1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000,-1.0000000000>, <-0.2763932051,-0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051,-0.8506508171,-0.4472135771>, < 0.7236068052,-0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052,-0.5257311175,-0.4472135771>, < 0.0000000000, 0.0000000000,-1.0000000000>, RODRADIUS } cylinder { < 0.0000000000, 0.0000000000,-1.0000000000>, < 0.7236068052,-0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052,-0.5257311175,-0.4472135771>, < 0.7236068052, 0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052, 0.5257311175,-0.4472135771>, < 0.0000000000, 0.0000000000,-1.0000000000>, RODRADIUS } cylinder { < 0.8944272002, 0.0000000000, 0.4472135771>, < 0.2763932051, 0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051, 0.8506508171, 0.4472135771>, < 0.7236068052, 0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052, 0.5257311175,-0.4472135771>, < 0.8944272002, 0.0000000000, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051, 0.8506508171, 0.4472135771>, <-0.7236068052, 0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052, 0.5257311175, 0.4472135771>, <-0.2763932051, 0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051, 0.8506508171,-0.4472135771>, < 0.2763932051, 0.8506508171, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052, 0.5257311175, 0.4472135771>, <-0.7236068052,-0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052,-0.5257311175, 0.4472135771>, <-0.8944272002, 0.0000000000,-0.4472135771>, RODRADIUS } cylinder { <-0.8944272002, 0.0000000000,-0.4472135771>, <-0.7236068052, 0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052,-0.5257311175, 0.4472135771>, < 0.2763932051,-0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051,-0.8506508171, 0.4472135771>, <-0.2763932051,-0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051,-0.8506508171,-0.4472135771>, <-0.7236068052,-0.5257311175, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051,-0.8506508171, 0.4472135771>, < 0.8944272002, 0.0000000000, 0.4472135771>, RODRADIUS } cylinder { < 0.8944272002, 0.0000000000, 0.4472135771>, < 0.7236068052,-0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052,-0.5257311175,-0.4472135771>, < 0.2763932051,-0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.7236068052, 0.5257311175,-0.4472135771>, <-0.2763932051, 0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051, 0.8506508171,-0.4472135771>, < 0.2763932051, 0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051, 0.8506508171, 0.4472135771>, < 0.7236068052, 0.5257311175,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051, 0.8506508171,-0.4472135771>, <-0.8944272002, 0.0000000000,-0.4472135771>, RODRADIUS } cylinder { <-0.8944272002, 0.0000000000,-0.4472135771>, <-0.7236068052, 0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052, 0.5257311175, 0.4472135771>, <-0.2763932051, 0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.8944272002, 0.0000000000,-0.4472135771>, <-0.2763932051,-0.8506508171,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051,-0.8506508171,-0.4472135771>, <-0.7236068052,-0.5257311175, 0.4472135771>, RODRADIUS } cylinder { <-0.7236068052,-0.5257311175, 0.4472135771>, <-0.8944272002, 0.0000000000,-0.4472135771>, RODRADIUS } cylinder { <-0.2763932051,-0.8506508171,-0.4472135771>, < 0.7236068052,-0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052,-0.5257311175,-0.4472135771>, < 0.2763932051,-0.8506508171, 0.4472135771>, RODRADIUS } cylinder { < 0.2763932051,-0.8506508171, 0.4472135771>, <-0.2763932051,-0.8506508171,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052,-0.5257311175,-0.4472135771>, < 0.7236068052, 0.5257311175,-0.4472135771>, RODRADIUS } cylinder { < 0.7236068052, 0.5257311175,-0.4472135771>, < 0.8944272002, 0.0000000000, 0.4472135771>, RODRADIUS } cylinder { < 0.8944272002, 0.0000000000, 0.4472135771>, < 0.7236068052,-0.5257311175,-0.4472135771>, RODRADIUS } texture { RODTEXTURE } scale 0.5/DIST1 scale 0.98 } #declare ICO1 = intersection { plane { < 0.4911234803, 0.3568220949, 0.7946544656>, DIST1 } plane { <-0.1875924768, 0.5773502776, 0.7946544656>, DIST1 } plane { <-0.6070620070, 0.0000000000, 0.7946544656>, DIST1 } plane { <-0.1875924768,-0.5773502776, 0.7946544656>, DIST1 } plane { < 0.4911234803,-0.3568220949, 0.7946544656>, DIST1 } plane { < 0.1875924768, 0.5773502776,-0.7946544656>, DIST1 } plane { <-0.4911234803, 0.3568220949,-0.7946544656>, DIST1 } plane { <-0.4911234803,-0.3568220949,-0.7946544656>, DIST1 } plane { < 0.1875924768,-0.5773502776,-0.7946544656>, DIST1 } plane { < 0.6070620070,-0.0000000000,-0.7946544656>, DIST1 } plane { < 0.7946544709, 0.5773502681, 0.1875924834>, DIST1 } plane { <-0.3035309986, 0.9341723573, 0.1875924834>, DIST1 } plane { <-0.9822469446, 0.0000000000, 0.1875924834>, DIST1 } plane { <-0.3035309986,-0.9341723573, 0.1875924834>, DIST1 } plane { < 0.7946544709,-0.5773502681, 0.1875924834>, DIST1 } plane { < 0.3035309986, 0.9341723573,-0.1875924834>, DIST1 } plane { <-0.7946544709, 0.5773502681,-0.1875924834>, DIST1 } plane { <-0.7946544709,-0.5773502681,-0.1875924834>, DIST1 } plane { < 0.3035309986,-0.9341723573,-0.1875924834>, DIST1 } plane { < 0.9822469446,-0.0000000000,-0.1875924834>, DIST1 } scale 0.5/DIST1 scale 1.001 } #declare ICO2 = union { object { ICO1 translate < 0.0000000000, 0.0000000000, 1.0000000000> } object { ICO1 translate < 0.8944272002, 0.0000000000, 0.4472135771> } object { ICO1 translate < 0.2763932051, 0.8506508171, 0.4472135771> } object { ICO1 translate <-0.7236068052, 0.5257311175, 0.4472135771> } object { ICO1 translate <-0.7236068052,-0.5257311175, 0.4472135771> } object { ICO1 translate < 0.2763932051,-0.8506508171, 0.4472135771> } object { ICO1 translate < 0.7236068052, 0.5257311175,-0.4472135771> } object { ICO1 translate <-0.2763932051, 0.8506508171,-0.4472135771> } object { ICO1 translate <-0.8944272002, 0.0000000000,-0.4472135771> } object { ICO1 translate <-0.2763932051,-0.8506508171,-0.4472135771> } object { ICO1 translate < 0.7236068052,-0.5257311175,-0.4472135771> } object { ICO1 translate < 0.0000000000, 0.0000000000,-1.0000000000> } scale 1 / (1 + PHI) scale 1.001 } #declare ICO3 = union { object { ICO2 translate < 0.0000000000, 0.0000000000, 1.0000000000> } object { ICO2 translate < 0.8944272002, 0.0000000000, 0.4472135771> } object { ICO2 translate < 0.2763932051, 0.8506508171, 0.4472135771> } object { ICO2 translate <-0.7236068052, 0.5257311175, 0.4472135771> } object { ICO2 translate <-0.7236068052,-0.5257311175, 0.4472135771> } object { ICO2 translate < 0.2763932051,-0.8506508171, 0.4472135771> } object { ICO2 translate < 0.7236068052, 0.5257311175,-0.4472135771> } object { ICO2 translate <-0.2763932051, 0.8506508171,-0.4472135771> } object { ICO2 translate <-0.8944272002, 0.0000000000,-0.4472135771> } object { ICO2 translate <-0.2763932051,-0.8506508171,-0.4472135771> } object { ICO2 translate < 0.7236068052,-0.5257311175,-0.4472135771> } object { ICO2 translate < 0.0000000000, 0.0000000000,-1.0000000000> } scale 1 / (1 + PHI) scale 1.001 } #declare ICO4 = union { object { ICO3 translate < 0.0000000000, 0.0000000000, 1.0000000000> } object { ICO3 translate < 0.8944272002, 0.0000000000, 0.4472135771> } object { ICO3 translate < 0.2763932051, 0.8506508171, 0.4472135771> } object { ICO3 translate <-0.7236068052, 0.5257311175, 0.4472135771> } object { ICO3 translate <-0.7236068052,-0.5257311175, 0.4472135771> } object { ICO3 translate < 0.2763932051,-0.8506508171, 0.4472135771> } object { ICO3 translate < 0.7236068052, 0.5257311175,-0.4472135771> } object { ICO3 translate <-0.2763932051, 0.8506508171,-0.4472135771> } object { ICO3 translate <-0.8944272002, 0.0000000000,-0.4472135771> } object { ICO3 translate <-0.2763932051,-0.8506508171,-0.4472135771> } object { ICO3 translate < 0.7236068052,-0.5257311175,-0.4472135771> } object { ICO3 translate < 0.0000000000, 0.0000000000,-1.0000000000> } scale 1 / (1 + PHI) scale 1.001 } #declare ICO5 = union { object { ICO4 translate < 0.0000000000, 0.0000000000, 1.0000000000> } object { ICO4 translate < 0.8944272002, 0.0000000000, 0.4472135771> } object { ICO4 translate < 0.2763932051, 0.8506508171, 0.4472135771> } object { ICO4 translate <-0.7236068052, 0.5257311175, 0.4472135771> } object { ICO4 translate <-0.7236068052,-0.5257311175, 0.4472135771> } object { ICO4 translate < 0.2763932051,-0.8506508171, 0.4472135771> } object { ICO4 translate < 0.7236068052, 0.5257311175,-0.4472135771> } object { ICO4 translate <-0.2763932051, 0.8506508171,-0.4472135771> } object { ICO4 translate <-0.8944272002, 0.0000000000,-0.4472135771> } object { ICO4 translate <-0.2763932051,-0.8506508171,-0.4472135771> } object { ICO4 translate < 0.7236068052,-0.5257311175,-0.4472135771> } object { ICO4 translate < 0.0000000000, 0.0000000000,-1.0000000000> } scale 1 / (1 + PHI) scale 1.001 } #switch (clock) #case (0) object { ICO1 texture { THETEXTURE1 } } #break #case (2) object { ICO2 texture { THETEXTURE1 } } #break #case (4) object { ICO3 texture { THETEXTURE1 } } #break #case (6) object { ICO4 texture { THETEXTURE1 } } #break #case (8) object { ICO5 texture { THETEXTURE1 } } #break #case (1) #break #case (3) difference { object { ICO1 scale 0.98 } object { ICO2 } texture { THETEXTURE2 } } #break #case (5) difference { object { ICO1 scale 0.98 } object { ICO3 } texture { THETEXTURE2 } } #break #case (7) difference { object { ICO1 scale 0.98 } object { ICO4 } texture { THETEXTURE2 } } #break #case (9) difference { object { ICO1 scale 0.98 } object { ICO5 } texture { THETEXTURE2 } } #break #end