// POLYHEDRA / Radiant of Polyhedra '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,8,-10> angle 90 look_at <-0.5,0,0> } light_source { <100,100,-100> color rgb <1,1,1> } #declare Texsp= texture { pigment { color rgb <0.3,0.2,0.2> } finish { reflection 1 ambient 0.2 phong 1 brilliance 1 diffuse 1 } } #declare Texss= texture { pigment { color rgbt <0.5,0.5,1,0.8> } finish { ambient .5 diffuse .1 reflection 0 specular 0.2 roughness .01 irid { 0.5 thickness 0.5 turbulence 0.3 } } } #declare Rsp=0.1; #declare Rcl=0.05; // #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 //Platonic 12f #declare Pl12f=union { #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 } } 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 } } no_shadow } //Arcimedian 20c #declare Pl20c=union { #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 } } 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 } } no_shadow } // #declare Satpl20c= union { #declare Unit= union { object { Pl12f translate <0,2.327438437+1.113516364,0> } object { Pl20c translate <0,2*(2.327438437+1.113516364),0> } } #declare Unitp=union { object { Unit rotate y*36 rotate z*180/pi*2*1.017221968 } object { Unit rotate y*36 rotate z*180 rotate z*180/pi*2*1.017221968 } } object { Unit } object { Unit rotate z*180 } object { Unitp } object { Unitp rotate y*72 } object { Unitp rotate y*144 } object { Unitp rotate y*-72 } object { Unitp rotate y*-144 } } union { object { Pl20c } object { Satpl20c } }