// POLYHEDRA / Plato and Archimedes '00.12 // By Tsutomu HIGO E-mail: nj2t-hg@asahi-net.or.jp #version 3.1; global_settings { assumed_gamma 2.2 } camera { location <0,25,-40> angle 28 look_at <-0.5,0,0> } light_source { <100,100,-100> color rgb <1,1,1> } #declare Texsp= texture { pigment { color rgb <1,0.7,0.7> } finish { reflection 1 ambient 0.4 phong 1 brilliance 1 diffuse 1 } } #declare Texss= texture { pigment { color rgbt <0.5,0.5,1,0.2> } finish { reflection 0.2 ambient 0.4 phong 1 brilliance 1 diffuse 1 } } #declare Rsp=0.1; #declare Rcl=0.05; #declare Yrot=80; #macro Poly6x8 (Ra,Rb,Rc) #declare Quate= intersection { plane { x,Ra } plane { y,Rb rotate z*180/pi*0.955316618 rotate y*45 } plane { -y,Rb rotate z*180/pi*0.955316618 rotate y*45 } plane { x,Rc rotate y*45 } plane { y,Rc rotate x*45 } plane { -y,Rc rotate x*45 } bounded_by { sphere { <0,0,0> 1.05 } } } intersection { plane { y,Ra } plane { -y,Ra } object { Quate } object { Quate rotate y*90 } object { Quate rotate y*180 } object { Quate rotate y*270 } bounded_by { sphere { <0,0,0> 1.05 } } } #end #macro Poly12x20 (Ra,Rb,Rc) #declare Pente= intersection { plane { y,Ra rotate z*180/pi*2*1.017221968 } plane { -y,Ra rotate z*180/pi*2*1.017221968 } plane { y,Rb rotate z*180/pi*0.65235814 } plane { -y,Rb rotate z*180/pi*0.65235814 } plane { y,Rb rotate z*180/pi*1.382085796 } plane { -y,Rb rotate z*180/pi*1.382085796 } plane { y,Rc rotate z*-180/pi*0.553574359 } plane { -y,Rc rotate z*-180/pi*0.553574359 } plane { y,Rc rotate z*180/pi*1.017221968 } plane { -y,Rc rotate z*180/pi*1.017221968 } plane { z,Rc } plane { -z,Rc } bounded_by { sphere { <0,0,0> 1.05 } } } intersection { plane { y,Ra } plane { -y,Ra } object { Pente } object { Pente rotate y*72 } object { Pente rotate y*144 } object { Pente rotate y*-72 } object { Pente rotate y*-144 } bounded_by { sphere { <0,0,0> 1.05 } } } #end #declare Poly4f= intersection { plane { -y,0.204124145 } plane { y,0.204124145 rotate z*180/pi*1.230959417 } plane { y,0.204124145 rotate z*180/pi*1.230959417 rotate y*120 } plane { y,0.204124145 rotate z*180/pi*1.230959417 rotate y*240 } bounded_by { box { <-0.7,-0.7,-0.7> <0.7,0.7,0.7> } } } //Platonic 4f #declare Unit4f=union { cylinder { <0,0.612372436,0> <-0.288675135,-0.204124145,0.5> Rcl } cylinder { <-0.288675135,-0.204124145,0.5> <0.577350269,-0.204124145,0> Rcl } sphere { <-0.288675135,-0.204124145,0.5> Rsp } } union { object { Poly4f texture { Texss } } union { sphere { <0,0.612372436,0> Rsp } object { Unit4f } object { Unit4f rotate y*120 } object { Unit4f rotate y*-120 } texture { Texsp } } rotate y*Yrot translate <9.5,7,0> no_shadow } //Arcimedian 4c #declare Unit4c=union { cylinder { <0.577350269,1.020620725,0> <-0.288675135,1.020620725,-0.5> Rcl } cylinder { <0.577350269,1.020620725,0> <0.577350269*2,0.204124145,0> Rcl } cylinder { <0.866025404,-0.612372435,0.5> <0.577350269*2,0.204124145,0> Rcl } cylinder { <0.866025404,-0.612372435,-0.5> <0.577350269*2,0.204124145,0> Rcl } cylinder { <0.866025404,-0.612372435,0.5> <0.866025404,-0.612372435,-0.5> Rcl } cylinder { <0,-0.612372435,-1> <0.866025404,-0.612372435,-0.5> Rcl } sphere { <0.866025404,-0.612372435,0.5> Rsp } sphere { <0.866025404,-0.612372435,-0.5> Rsp } sphere { <0.577350269*2,0.204124145,0> Rsp } sphere { <0.577350269,1.020620725,0> Rsp } } union { intersection { object { Poly4f scale 3 } object { Poly4f scale 5 rotate z*180 } bounded_by { box { <-1.2,-1.2,-1.2> <1.2,1.2,1.2> } } texture { Texss } } union { object { Unit4c } object { Unit4c rotate y*120 } object { Unit4c rotate y*-120 } texture { Texsp } } rotate y*Yrot translate <9.5,2,0> no_shadow } //Platonic 6f #declare Unit6f=union { cylinder { <0.5,0.5,0.5> <0.5,0.5,-0.5> Rcl } cylinder { <0.5,0.5,0.5> <0.5,-0.5,0.5> Rcl } cylinder { <0.5,-0.5,0.5> <0.5,-0.5,-0.5> Rcl } sphere { <0.5,-0.5,0.5> Rsp } sphere { <0.5,0.5,0.5> Rsp } } union { object { Poly6x8 (0.577350269,2,2) scale 0.866025404 texture { Texss } } union { object { Unit6f } object { Unit6f rotate y*90 } object { Unit6f rotate y*-90 } object { Unit6f rotate y*180 } texture { Texsp } } rotate y*Yrot translate <6,7.2,0> no_shadow } //Arcimedian 6c #declare Unit6c=union { cylinder { <-1.207106781,0.5,-1.207106781> <-1.207106781,-0.5,-1.207106781> Rcl } cylinder { <-1.207106781,1.207106781,0.5> <-1.207106781,1.207106781,-0.5> Rcl } cylinder { <-1.207106781,1.207106781,-0.5> <-0.5,1.207106781,-1.207106781> Rcl } cylinder { <-0.5,1.207106781,-1.207106781> <-1.207106781,0.5,-1.207106781> Rcl } cylinder { <-1.207106781,1.207106781,-0.5> <-1.207106781,0.5,-1.207106781> Rcl } sphere { <-1.207106781,1.207106781,0.5> Rsp } sphere { <-1.207106781,1.207106781,-0.5> Rsp } sphere { <-1.207106781,0.5,-1.207106781> Rsp } } union { object { Poly6x8 (0.678598345,0.945862166,2) scale 1.778823645 texture { Texss } } union { object { Unit6c } object { Unit6c rotate y*90 } object { Unit6c rotate y*-90 } object { Unit6c rotate y*180 } object { Unit6c rotate x*180 } object { Unit6c rotate x*180 rotate y*90 } object { Unit6c rotate x*180 rotate y*-90 } object { Unit6c rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <6,2,0> no_shadow } //Platonic 8f #declare Unit8f=union { cylinder { <0,0.707106781,0> <-0.5,0,-0.5> Rcl } cylinder { <0.5,0,-0.5> <-0.5,0,-0.5> Rcl } cylinder { <0,-0.707106781,0> <-0.5,0,-0.5> Rcl } sphere { <-0.5,0,-0.5> Rsp } rotate y*45 } union { object { Poly6x8 (2,0.577350269,2) scale 0.707106781 texture { Texss } } union { sphere { <0,0.707106781,0> Rsp } sphere { <0,-0.707106781,0> Rsp } object { Unit8f } object { Unit8f rotate y*90 } object { Unit8f rotate y*-90 } object { Unit8f rotate y*180 } texture { Texsp } } rotate y*Yrot translate <2,7.2,0> no_shadow } //Arcimedian 8c #declare Unit8c=union { cylinder { <-1.5,0,-0.5> <-1.5,0,0.5> Rcl } cylinder { <-0.5,1.414213562,0.5> <-0.5,1.414213562,-0.5> Rcl } cylinder { <-1,0.707106781,-1> <-0.5,1.414213562,-0.5> Rcl } cylinder { <-1,0.707106781,-1> <-1.5,0,-0.5> Rcl } cylinder { <-1,0.707106781,-1> <-0.5,0,-1.5> Rcl } sphere { <-0.5,1.414213562,-0.5> Rsp } sphere { <-1.5,0,0.5> Rsp } sphere { <-1,0.707106781,-1> Rsp } rotate y*45 } union { object { Poly6x8 (0.8944227191,0.774596668,2) scale 1.58113883 texture { Texss } } union { object { Unit8c } object { Unit8c rotate y*90 } object { Unit8c rotate y*-90 } object { Unit8c rotate y*180 } object { Unit8c rotate x*180 } object { Unit8c rotate x*180 rotate y*90 } object { Unit8c rotate x*180 rotate y*-90 } object { Unit8c rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <2,2,0> no_shadow } //Arcimedian 8d 8x6 #declare Unit8d=union { cylinder { <-0.5,0.707106781,-0.5> <-0.5,0.707106781,0.5> Rcl } cylinder { <-0.5,-0.707106781,-0.5> <-0.5,-0.707106781,0.5> Rcl } cylinder { <-0.5,0.707106781,-0.5> <-1,0,0> Rcl } cylinder { <-0.5,-0.707106781,-0.5> <-1,0,0> Rcl } cylinder { <-0.5,0.707106781,-0.5> <0,0,-1> Rcl } cylinder { <-0.5,-0.707106781,-0.5> <0,0,-1> Rcl } sphere { <-0.5,0.707106781,-0.5> Rsp } sphere { <-1,0,0> Rsp } sphere { <-0.5,-0.707106781,-0.5> Rsp } rotate y*45 } union { object { Poly6x8 (0.707106781,0.81649658,2) scale 1 texture { Texss } } union { object { Unit8d } object { Unit8d rotate y*90 } object { Unit8d rotate y*-90 } object { Unit8d rotate y*180 } texture { Texsp } } rotate y*Yrot translate <4,5,0> no_shadow } //Arcimedian 8x6c #declare Unit8x6c=union { cylinder { <-0.5,1.914213562,-1.207106781> <-1.207106781,1.914213562,-0.5> Rcl } cylinder { <-1.207106781,1.914213562,0.5> <-1.207106781,1.914213562,-0.5> Rcl } cylinder { <-0.5,1.914213562,-1.207106781> <-0.5,1.207106781,-1.914213562> Rcl } cylinder { <-1.207106781,1.914213562,-0.5> <-1.914213562,1.207106781,-0.5> Rcl } cylinder { <-1.914213562,1.207106781,0.5> <-1.914213562,1.207106781,-0.5> Rcl } cylinder { <-1.914213562,0.5,-1.207106781> <-1.207106781,0.5,-1.914213562> Rcl } cylinder { <-1.207106781,0.5,-1.914213562> <-0.5,1.207106781,-1.914213562> Rcl } cylinder { <-1.914213562,0.5,-1.207106781> <-1.914213562,1.207106781,-0.5> Rcl } cylinder { <-1.914213562,0.5,-1.207106781> <-1.914213562,-0.5,-1.207106781> Rcl } sphere { <-0.5,1.914213562,-1.207106781> Rsp } sphere { <-1.207106781,1.914213562,-0.5> Rsp } sphere { <-1.207106781,0.5,-1.914213562> Rsp } sphere { <-1.914213562,0.5,-1.207106781> Rsp } sphere { <-0.5,1.207106781,-1.914213562> Rsp } sphere { <-1.914213562,1.207106781,-0.5> Rsp } } union { object { Poly6x8 (0.825942591,0.902123071,0.952319809) scale 2.317610913 texture { Texss } } union { object { Unit8x6c } object { Unit8x6c rotate y*90 } object { Unit8x6c rotate y*-90 } object { Unit8x6c rotate y*180 } object { Unit8x6c rotate x*180 } object { Unit8x6c rotate x*180 rotate y*90 } object { Unit8x6c rotate x*180 rotate y*-90 } object { Unit8x6c rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <5.5,-3,0> no_shadow } //Arcimedian 8x6d #declare Unit8x6d=union { cylinder { <-0.5,1.207106781,0.5> <-0.5,1.207106781,-0.5> Rcl } cylinder { <-1.207106781,0.5,0.5> <-1.207106781,0.5,-0.5> Rcl } cylinder { <-0.5,0.5,-1.207106781> <-0.5,1.207106781,-0.5> Rcl } cylinder { <-0.5,1.207106781,-0.5> <-1.207106781,0.5,-0.5> Rcl } cylinder { <-0.5,0.5,-1.207106781> <-1.207106781,0.5,-0.5> Rcl } cylinder { <-1.207106781,-0.5,-0.5> <-1.207106781,0.5,-0.5> Rcl } sphere { <-0.5,1.207106781,-0.5> Rsp } sphere { <-0.5,0.5,-1.207106781> Rsp } sphere { <-1.207106781,0.5,-0.5> Rsp } } union { object { Poly6x8 (0.862856209,0.910868025,0.862856209) scale 1.398966326 texture { Texss } } union { object { Unit8x6d } object { Unit8x6d rotate y*90 } object { Unit8x6d rotate y*-90 } object { Unit8x6d rotate y*180 } object { Unit8x6d rotate x*180 } object { Unit8x6d rotate x*180 rotate y*90 } object { Unit8x6d rotate x*180 rotate y*-90 } object { Unit8x6d rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <6.5,-8,0> no_shadow } //Arcimedian 8x6t #declare Unit8x6t=union { cylinder { <-0.5,1.142613509,-0.5> <-0.5,1.142613509,0.5> Rcl } cylinder { <-1.191487884,0.621226411,0> <-0.5,1.142613509,0.5> Rcl } cylinder { <-0.5,1.142613509,-0.5> <-1.191487884,0.621226411,0> Rcl } cylinder { <-0.5,1.142613509,-0.5> <-0.919643378,0.337753974,-0.919643378> Rcl } cylinder { <-1.191487884,0.621226411,0> <-0.919643378,0.337753974,-0.919643378> Rcl } cylinder { <0,0.621226411,-1.191487884> <-0.919643378,0.337753974,-0.919643378> Rcl } cylinder { <-1.271844506,-0.337753974,-0.271844506> <-1.191487884,0.621226411,0> Rcl } cylinder { <-0.919643378,0.337753974,-0.919643378> <-1.271844506,-0.337753974,-0.271844506> Rcl } sphere { <-0.5,1.142613509,-0.5> Rsp } sphere { <-1.191487884,0.621226411,0> Rsp } sphere { <-0.919643378,0.337753974,-0.919643378> Rsp } } union { intersection { plane { y,1.142613509 } plane { -y,1.142613509 } plane { y,1.2133558 rotate x*180/pi*0.646061023 } plane { y,1.2133558 rotate z*180/pi*0.646061023 } plane { y,1.2133558 rotate x*-180/pi*0.646061023 } plane { y,1.2133558 rotate z*-180/pi*0.646061023 } plane { -y,1.2133558 rotate x*180/pi*0.646061023 rotate y*180/pi*0.574826298 } plane { -y,1.2133558 rotate z*180/pi*0.646061023 rotate y*180/pi*0.574826298 } plane { -y,1.2133558 rotate x*-180/pi*0.646061023 rotate y*180/pi*0.574826298 } plane { -y,1.2133558 rotate z*-180/pi*0.646061023 rotate y*180/pi*0.574826298 } plane { y,1.2133558 rotate x*180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { y,1.2133558 rotate z*180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { y,1.2133558 rotate x*-180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { y,1.2133558 rotate z*-180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { -y,1.2133558 rotate x*180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { -y,1.2133558 rotate z*180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { -y,1.2133558 rotate x*-180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { -y,1.2133558 rotate z*-180/pi*0.955316618 rotate y*-180/pi*0.49798501464 } plane { y,1.2133558 rotate x*180/pi*0.955316618 rotate y*-180/pi*1.072811312155 } plane { y,1.2133558 rotate z*180/pi*0.955316618 rotate y*-180/pi*1.072811312155 } plane { y,1.2133558 rotate x*-180/pi*0.955316618 rotate y*-180/pi*1.072811312155 } plane { y,1.2133558 rotate z*-180/pi*0.955316618 rotate y*-180/pi*1.072811312155 } plane { -y,1.2133558 rotate x*180/pi*0.955316618 rotate y*180/pi*0.076841283 } plane { -y,1.2133558 rotate z*180/pi*0.955316618 rotate y*180/pi*0.076841283 } plane { -y,1.2133558 rotate x*-180/pi*0.955316618 rotate y*180/pi*0.076841283 } plane { -y,1.2133558 rotate z*-180/pi*0.955316618 rotate y*180/pi*0.076841283 } plane { y,1.2133558 rotate x*180/pi*1.399293383 rotate y*180/pi*1.232161938 } plane { y,1.2133558 rotate z*180/pi*1.399293383 rotate y*180/pi*1.232161938 } plane { y,1.2133558 rotate x*-180/pi*1.399293383 rotate y*180/pi*1.232161938 } plane { y,1.2133558 rotate z*-180/pi*1.399293383 rotate y*180/pi*1.232161938 } plane { -y,1.2133558 rotate x*180/pi*1.399293383 rotate y*180/pi*0.913460686 } plane { -y,1.2133558 rotate z*180/pi*1.399293383 rotate y*180/pi*0.913460686 } plane { -y,1.2133558 rotate x*-180/pi*1.399293383 rotate y*180/pi*0.913460686 } plane { -y,1.2133558 rotate z*-180/pi*1.399293383 rotate y*180/pi*0.913460686 } plane { x,1.142613509 rotate y*-180/pi*1.283383178 } plane { z,1.142613509 rotate y*-180/pi*1.283383178 } plane { -x,1.142613509 rotate y*-180/pi*1.283383178 } plane { -z,1.142613509 rotate y*-180/pi*1.283383178 } bounded_by { sphere { <0,0,0> 1.4 } } texture { Texss } } union { object { Unit8x6t } object { Unit8x6t rotate y*90 } object { Unit8x6t rotate y*-90 } object { Unit8x6t rotate y*180 } object { Unit8x6t rotate x*180 rotate y*-57.065 } object { Unit8x6t rotate x*180 rotate y*(90-57.065) } object { Unit8x6t rotate x*180 rotate y*(-90-57.065) } object { Unit8x6t rotate x*180 rotate y*(180-57.065) } texture { Texsp } } rotate y*Yrot translate <10,-9,0> no_shadow } //Platonic 12f #declare Unit12f=union { cylinder { <-0.262865556,1.113516364,-0.809016994> <-0.850650808,1.113516364,0> Rcl } cylinder { <-0.262865556,1.113516364,-0.809016994> <-0.425325404,0.268286556,-1.309016994> Rcl } cylinder { <-1.113516364,-0.268286556,-0.809016994> <-0.425325404,0.268286556,-1.309016994> Rcl } cylinder { <0.425325404,-0.268286556,-1.309016994> <-0.425325404,0.268286556,-1.309016994> Rcl } sphere { <-0.262865556,1.113516364,-0.809016994> Rsp } sphere { <-0.425325404,0.268286556,-1.309016994> Rsp } } union { object { Poly12x20 (1.113516364/1.401258439,4,4) scale 1.401258439 texture { Texss } } union { object { Unit12f } object { Unit12f rotate y*72 } object { Unit12f rotate y*-72 } object { Unit12f rotate y*144 } object { Unit12f rotate y*-144 } object { Unit12f rotate x*180 rotate y*36 } object { Unit12f rotate x*180 rotate y*-36 } object { Unit12f rotate x*180 rotate y*108 } object { Unit12f rotate x*180 rotate y*-108 } object { Unit12f rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-2.5,7.2,0> no_shadow } //Arcimedian 12x20d #declare Unit12x20d=union { cylinder { <-0.262865556,2.064572881,-0.809016994> <-0.850650808,2.064572881,0> Rcl } cylinder { <-0.262865556,2.064572881,-0.809016994> <-0.951056516,1.53884177,-1.309016994> Rcl } cylinder { <-1.53884177,1.53884177,-0.5> <-0.850650808,2.064572881,0> Rcl } cylinder { <-1.53884177,1.53884177,-0.5> <-0.951056516,1.53884177,-1.309016994> Rcl } cylinder { <0,1.53884177,-1.618033989> <-0.951056516,1.53884177,-1.309016994> Rcl } cylinder { <-1.113516364,0.68819096,-1.809016994> <-0.951056516,1.53884177,-1.309016994> Rcl } cylinder { <-2.064572881,0.68819096,-0.5> <-1.53884177,1.53884177,-0.5> Rcl } cylinder { <-1.113516364,0.68819096,-1.809016994> <-1.801707325,0.162459848,-1.309016994> Rcl } cylinder { <-2.064572881,0.68819096,-0.5> <-1.801707325,0.162459848,-1.309016994> Rcl } cylinder { <-1.113516364,0.68819096,-1.809016994> <-0.162459848,0.68819096,-2.118033989> Rcl } cylinder { <-1.113516364,0.68819096,-1.809016994> <-0.68819096,-0.162459848,-2.118033989> Rcl } cylinder { <-0.162459848,0.68819096,-2.118033989> <-0.68819096,-0.162459848,-2.118033989> Rcl } sphere { <-0.262865556,2.064572881,-0.809016994> Rsp } sphere { <-0.951056516,1.53884177,-1.309016994> Rsp } sphere { <-1.53884177,1.53884177,-0.5> Rsp } sphere { <-2.064572881,0.68819096,-0.5> Rsp } sphere { <-1.113516364,0.68819096,-1.809016994> Rsp } sphere { <-1.801707325,0.162459848,-1.309016994> Rsp } } union { object { Poly12x20 (0.924594106,0.96599537,0.94853602) scale 2.23295051 texture { Texss } } union { object { Unit12x20d } object { Unit12x20d rotate y*72 } object { Unit12x20d rotate y*-72 } object { Unit12x20d rotate y*144 } object { Unit12x20d rotate y*-144 } object { Unit12x20d rotate x*180 rotate y*36 } object { Unit12x20d rotate x*180 rotate y*-36 } object { Unit12x20d rotate x*180 rotate y*108 } object { Unit12x20d rotate x*180 rotate y*-108 } object { Unit12x20d rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <0.5,-3,0> no_shadow } //Arcimedian 12x20e #declare Unit12x20e=union { cylinder { <0,3.440954801,-1.618033989> <-0.9510556516,3.440954801,-1.30901699> Rcl } cylinder { <-1.538841769,3.440954801,-0.5> <-0.9510556516,3.440954801,-1.30901699> Rcl } cylinder { <-1.538841769,3.440954801,-0.5> <-2.22703273,2.915223689,-1> Rcl } cylinder { <-1.63924748,2.915223689,-1.809016994> <-0.9510556516,3.440954801,-1.30901699> Rcl } cylinder { <-1.63924748,2.915223689,-1.809016994> <-2.22703273,2.915223689,-1> Rcl } cylinder { <-1.63924748,2.915223689,-1.809016994> <-1.37638192,2.389492577,-2.61803399> Rcl } cylinder { <-0.425325404,2.389492577,-2.92705098> <-1.37638192,2.389492577,-2.61803399> Rcl } cylinder { <0.253132188,2.915223689,-2.427050983> <-0.425325404,2.389492577,-2.92705098> Rcl } cylinder { <-1.538841769,1.538841769,-3.11803399> <-1.37638192,2.389492577,-2.61803399> Rcl } cylinder { <-0.425325404,2.389492577,-2.92705098> <-0.587785252,1.538841769,-3.42705098> Rcl } cylinder { <-1.538841769,1.538841769,-3.11803399> <-0.587785252,1.538841769,-3.42705098> Rcl } cylinder { <-1.538841769,1.538841769,-3.11803399> <-2.064572881,0.688190961,-3.118033989> Rcl } cylinder { <-0.162459848,0.688190961,-3.736067978> <-0.587785252,1.538841769,-3.42705098> Rcl } cylinder { <-1.639247477,-0.162459848,-3.42705098> <-2.064572881,0.688190961,-3.118033989> Rcl } cylinder { <-0.162459848,0.688190961,-3.736067978> <-0.68819096,-0.162459848,-3.73606798> Rcl } cylinder { <-0.68819096,-0.162459848,-3.73606798> <-1.639247477,-0.162459848,-3.42705098> Rcl } cylinder { <-2.752763841,0.162459848,-2.61803399> <-2.064572881,0.688190961,-3.118033989> Rcl } cylinder { <-0.162459848,0.688190961,-3.736067978> <0.68819096,0.162459848,-3.73606798> Rcl } sphere { <0,3.440954801,-1.618033989> Rsp } sphere { <-0.9510556516,3.440954801,-1.30901699> Rsp } sphere { <-2.22703273,2.915223689,-1> Rsp } sphere { <-1.63924748,2.915223689,-1.809016994> Rsp } sphere { <-1.37638192,2.389492577,-2.61803399> Rsp } sphere { <-0.425325404,2.389492577,-2.92705098> Rsp } sphere { <-1.538841769,1.538841769,-3.11803399> Rsp } sphere { <-0.587785252,1.538841769,-3.42705098> Rsp } sphere { <-0.162459848,0.688190961,-3.736067978> Rsp } sphere { <-2.064572881,0.688190961,-3.118033989> Rsp } sphere { <-0.68819096,-0.162459848,-3.73606798> Rsp } sphere { <-1.639247477,-0.162459848,-3.42705098> Rsp } } union { object { Poly12x20 (0.904944187,0.964797966,0.982556644) scale 3.8023945 texture { Texss } } union { object { Unit12x20e } object { Unit12x20e rotate y*72 } object { Unit12x20e rotate y*-72 } object { Unit12x20e rotate y*144 } object { Unit12x20e rotate y*-144 } object { Unit12x20e rotate x*180 rotate y*36 } object { Unit12x20e rotate x*180 rotate y*-36 } object { Unit12x20e rotate x*180 rotate y*108 } object { Unit12x20e rotate x*180 rotate y*-108 } object { Unit12x20e rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-9,-6,0> no_shadow } //Arcimedian 12c #declare Unit12c=union { cylinder { <-0.951056516,2.489898284,-1.309016995> <-1.538841769,2.489898284,-0.5> Rcl } cylinder { <0,2.489898284,-1.618033989> <-0.951056516,2.489898284,-1.309016995> Rcl } cylinder { <-0.951056516,2.489898284,-1.309016995> <-0.68819096,1.964167172,-2.118033989> Rcl } cylinder { <0,2.489898284,-1.618033989> <-0.68819096,1.964167172,-2.118033989> Rcl } cylinder { <-0.850650808,1.113516364,-2.618033989> <-0.68819096,1.964167172,-2.118033989> Rcl } cylinder { <-0.850650808,1.113516364,-2.618033989> <-1.37638192,0.262865556,-2.61803399> Rcl } cylinder { <-0.850650808,1.113516364,-2.618033989> <-0.425325404,0.262865556,-2.92705098> Rcl } cylinder { <-1.37638192,0.262865556,-2.61803399> <-0.425325404,0.262865556,-2.92705098> Rcl } cylinder { <-1.37638192,0.262865556,-2.61803399> <-2.06457288,-0.262865556,-2.11803399> Rcl } cylinder { <0.425325404,-0.262865556,-2.92705098> <-0.425325404,0.262865556,-2.92705098> Rcl } sphere { <-0.951056516,2.489898284,-1.309016995> Rsp } sphere { <-1.538841769,2.489898284,-0.5> Rsp } sphere { <-0.68819096,1.964167172,-2.118033989> Rsp } sphere { <-0.850650808,1.113516364,-2.618033989> Rsp } sphere { <-1.37638192,0.262865556,-2.61803399> Rsp } sphere { <-0.425325404,0.262865556,-2.92705098> Rsp } } union { object { Poly12x20 (0.838505147,0.980916376,4) scale 2.969449015 texture { Texss } } union { object { Unit12c } object { Unit12c rotate y*72 } object { Unit12c rotate y*-72 } object { Unit12c rotate y*144 } object { Unit12c rotate y*-144 } object { Unit12c rotate x*180 rotate y*36 } object { Unit12c rotate x*180 rotate y*-36 } object { Unit12c rotate x*180 rotate y*108 } object { Unit12c rotate x*180 rotate y*-108 } object { Unit12c rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-3,2,0> no_shadow } //Arcimedian 12x20 #declare Unit12x20=union { cylinder { <-0.68819096,1.376381921,-0.5> <0.262865556,1.376381921,-0.809016994> Rcl } cylinder { <-0.436710876,0.787925145,-1.344057873> <0.262865556,1.376381921,-0.809016994> Rcl } cylinder { <-0.68819096,1.376381921,-0.5> <-0.436710876,0.787925145,-1.344057873> Rcl } cylinder { <-0.951056516,0,-1.309016994> <0,0,-1.618033989> Rcl } cylinder { <-0.951056516,0,-1.309016994> <-0.436710876,0.787925145,-1.344057873> Rcl } cylinder { <-0.436710876,0.787925145,-1.344057873> <0,0,-1.618033989> Rcl } sphere { <-0.68819096,1.376381921,-0.5> Rsp } sphere { <-0.436710876,0.787925145,-1.344057873> Rsp } sphere { <0,0,-1.618033989> Rsp } sphere { <-0.951056516,0,-1.309016994> Rsp } } union { object { Poly12x20 (0.850650808,0.934172359,4) scale 1.618033989 texture { Texss } } union { object { Unit12x20 } object { Unit12x20 rotate y*72 } object { Unit12x20 rotate y*-72 } object { Unit12x20 rotate y*144 } object { Unit12x20 rotate y*-144 } object { Unit12x20 rotate x*180 rotate y*36 } object { Unit12x20 rotate x*180 rotate y*-36 } object { Unit12x20 rotate x*180 rotate y*108 } object { Unit12x20 rotate x*180 rotate y*-108 } object { Unit12x20 rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-6,6,0> no_shadow } //Platonic 20f #declare Unit20f=union { cylinder { <0,0.951056516,0> <-0.68819096,0.425325404,-0.5> Rcl } cylinder { <0.262865556,0.425325404,-0.809016994> <-0.68819096,0.425325404,-0.5> Rcl } cylinder { <0.262865556,0.425325404,-0.809016994> <-0.262865556,-0.425325404,-0.809016994> Rcl } cylinder { <-0.262865556,-0.425325404,-0.809016994> <-0.68819096,0.425325404,-0.5> Rcl } sphere { <0,0.951056516,0> Rsp } sphere { <-0.68819096,0.425325404,-0.5> Rsp } } union { object { Poly12x20 (4,0.755761314/0.951056516,4) scale 0.951056516 texture { Texss } } union { object { Unit20f } object { Unit20f rotate y*72 } object { Unit20f rotate y*-72 } object { Unit20f rotate y*144 } object { Unit20f rotate y*-144 } object { Unit20f rotate x*180 rotate y*36 } object { Unit20f rotate x*180 rotate y*-36 } object { Unit20f rotate x*180 rotate y*108 } object { Unit20f rotate x*180 rotate y*-108 } object { Unit20f rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-9,7.2,0> no_shadow } //Arcimedian 20c #declare Unit20c=union { cylinder { <-0.68819096,2.327438437,-0.5> <0.262865556,2.327438437,-0.809016994> Rcl } cylinder { <-0.68819096,2.327438437,-0.5> <-1.37638192,1.801707325,-1> Rcl } cylinder { <-2.064572881,1.275976213,-0.5> <-1.37638192,1.801707325,-1> Rcl } cylinder { <-1.113516364,1.275976213,-1.809016994> <-1.37638192,1.801707325,-1> Rcl } cylinder { <-1.113516364,1.275976213,-1.809016994> <-0.162459848,1.275976213,-2.118033989> Rcl } cylinder { <-2.064572881,1.275976213,-0.5> <-2.227032729,0.425325404,-1> Rcl } cylinder { <-1.113516364,1.275976213,-1.809016994> <-1.639247477,0.425325404,-1.809016994> Rcl } cylinder { <-2.227032729,0.425325404,-1> <-1.639247477,0.425325404,-1.809016994> Rcl } cylinder { <-2.389492577,-0.425325404,-0.5> <-2.227032729,0.425325404,-1> Rcl } cylinder { <-1.213922072,-0.425325404,-2.118033989> <-1.639247477,0.425325404,-1.809016994> Rcl } sphere { <-0.68819096,2.327438437,-0.5> Rsp } sphere { <-1.37638192,1.801707325,-1> Rsp } sphere { <-2.064572881,1.275976213,-0.5> Rsp } sphere { <-1.113516364,1.275976213,-1.809016994> Rsp } sphere { <-2.227032729,0.425325404,-1> Rsp } sphere { <-1.639247477,0.425325404,-1.809016994> Rsp } } union { object { Poly12x20 (0.939233621,0.914958382,4) scale 2.478018659 texture { Texss } } union { object { Unit20c } object { Unit20c rotate y*72 } object { Unit20c rotate y*-72 } object { Unit20c rotate y*144 } object { Unit20c rotate y*-144 } object { Unit20c rotate x*180 rotate y*36 } object { Unit20c rotate x*180 rotate y*-36 } object { Unit20c rotate x*180 rotate y*108 } object { Unit20c rotate x*180 rotate y*-108 } object { Unit20c rotate x*180 rotate y*180 } texture { Texsp } } rotate y*Yrot translate <-9.2,2,0> no_shadow } //Arcimedian 12t #declare Unit12t=union { cylinder { <-0.68819096,1.980915947,-0.5> <0.262865556,1.980915947,-0.809016994> Rcl } cylinder { <-0.68819096,1.980915947,-0.5> <-1.459343776,1.586805133,0> Rcl } cylinder { <-0.68819096,1.980915947,-0.5> <-0.450962028,1.586805133,-1.387918408> Rcl } cylinder { <-1.459343776,1.586805133,0> <-1.337259131,1.383984682,-0.97157563> Rcl } cylinder { <-0.68819096,1.980915947,-0.5> <-1.337259131,1.383984682,-0.97157563> Rcl } cylinder { <-1.337259131,1.383984682,-0.97157563> <-0.450962028,1.586805133,-1.387918408> Rcl } cylinder { <-1.337259131,1.383984682,-0.97157563> <-1.751891488,0.492817825,-1.155699613> Rcl } cylinder { <-0.998372077,0.820988208,-1.725359773> <-0.450962028,1.586805133,-1.387918408> Rcl } cylinder { <-1.337259131,1.383984682,-0.97157563> <-0.998372077,0.820988208,-1.725359773> Rcl } cylinder { <-0.998372077,0.820988208,-1.725359773> <-1.751891488,0.492817825,-1.155699613> Rcl } cylinder { <-0.998372077,0.820988208,-1.725359773> <-0.37494053,0.144866868,-2.11803399> Rcl } cylinder { <-1.751891488,0.492817825,-1.155699613> <-2.130233022,0.144866868,-0.29791886> Rcl } cylinder { <-1.256655414,-0.144866868,-1.745699158> <-0.37494053,0.144866868,-2.11803399> Rcl } cylinder { <-1.256655414,-0.144866868,-1.745699158> <-1.751891488,0.492817825,-1.155699613> Rcl } cylinder { <-1.256655414,-0.144866868,-1.745699158> <-0.998372077,0.820988208,-1.725359773> Rcl } cylinder { <-1.839142721,-0.492817825,-1.011098127> <-1.751891488,0.492817825,-1.155699613> Rcl } sphere { <-0.68819096,1.980915947,-0.5> Rsp } sphere { <-1.459343776,1.586805133,0> Rsp } sphere { <-1.337259131,1.383984682,-0.97157563> Rsp } sphere { <-0.998372077,0.820988208,-1.725359773> Rsp } sphere { <-1.751891488,0.492817825,-1.155699613> Rsp } sphere { <-0.37494053,0.144866868,-2.11803399> Rsp } } #declare Unit12ts=intersection { plane { y,1.980915947 } plane { y,1.980915947 rotate z*180/pi*1.107148718 rotate y*-85.10640338 } plane { y,2.0770896597 rotate z*180/pi*0.47246202 } plane { y,2.0770896597 rotate z*180/pi*0.6523581398 rotate y*22.89359662 } plane { y,2.0770896597 rotate z*180/pi*0.6523581398 rotate y*49.10640338 } plane { y,2.0770896597 rotate z*180/pi*0.916617056 rotate y*-55.6990917 } plane { y,2.0770896597 rotate z*180/pi*-1.123040111 rotate y*64.69444355 } plane { y,2.0770896597 rotate z*180/pi*-1.382085796 rotate y*58.89359662 } plane { y,2.0770896597 rotate z*180/pi*-1.438659166 rotate y*43.19950086 } plane { y,2.0770896597 rotate z*180/pi*-1.594046795 rotate y*69.09352588 } bounded_by { sphere { <0,0,0> 2.2 } } } union { intersection { object { Unit12ts } object { Unit12ts rotate y*72 } object { Unit12ts rotate y*-72 } object { Unit12ts rotate y*144 } object { Unit12ts rotate y*-144 } object { Unit12ts rotate x*180 rotate y*9.787193246 } object { Unit12ts rotate y*72 rotate x*180 rotate y*9.787193246 } object { Unit12ts rotate y*-72 rotate x*180 rotate y*9.787193246 } object { Unit12ts rotate y*144 rotate x*180 rotate y*9.787193246 } object { Unit12ts rotate y*-144 rotate x*180 rotate y*9.787193246 } bounded_by { sphere { <0,0,0> 2.2 } } texture { Texss } } union { object { Unit12t } object { Unit12t rotate y*72 } object { Unit12t rotate y*-72 } object { Unit12t rotate y*144 } object { Unit12t rotate y*-144 } object { Unit12t rotate x*180 rotate y*9.787193246 } object { Unit12t rotate x*180 rotate y*(9.787193246+72) } object { Unit12t rotate x*180 rotate y*(9.787193246-72) } object { Unit12t rotate x*180 rotate y*(9.787193246+144) } object { Unit12t rotate x*180 rotate y*(9.787193246-144) } texture { Texsp } } rotate y*Yrot translate <-2.5,-8,0> no_shadow }