//tetrahedron, cube, octahedron, dodecahedron and icosahedron //center<->vertex radius is always 1 unit #declare p = array[4] {<0,1,0>, <0,-.333333,.942809>, <.816497,-.333333,-.471405>, <-.816497,-.333333,-.471405>} #declare Tetrahedron = mesh { triangle { p[0],p[1],p[2] } triangle { p[0],p[1],p[3] } triangle { p[0],p[2],p[3] } triangle { p[1],p[2],p[3] } } #declare Cube = mesh { triangle { <-1,-1,-1>,<-1,-1,1>,<-1,1,1> } triangle { <-1,-1,-1>,<-1,1,-1>,<-1,1,1> } triangle { <-1,-1,-1>,<-1,-1,1>,<1,-1,1> } triangle { <-1,-1,-1>,<1,-1,-1>,<1,-1,1> } triangle { <-1,-1,-1>,<-1,1,-1>,<1,1,-1> } triangle { <-1,-1,-1>,<1,-1,-1>,<1,1,-1> } triangle { <1,1,1>,<1,1,-1>,<1,-1,-1> } triangle { <1,1,1>,<1,-1,1>,<1,-1,-1> } triangle { <1,1,1>,<1,1,-1>,<-1,1,-1> } triangle { <1,1,1>,<-1,1,1>,<-1,1,-1> } triangle { <1,1,1>,<-1,1,1>,<-1,-1,1> } triangle { <1,1,1>,<1,-1,1>,<-1,-1,1> } scale 0.57735026919 } #declare Octahedron = mesh { triangle { <0,1,0>,<0,0,1>,<1,0,0> } triangle { <0,1,0>,<1,0,0>,<0,0,-1> } triangle { <0,1,0>,<0,0,-1>,<-1,0,0> } triangle { <0,1,0>,<-1,0,0>,<0,0,1> } triangle { <0,-1,0>,<0,0,1>,<1,0,0> } triangle { <0,-1,0>,<1,0,0>,<0,0,-1> } triangle { <0,-1,0>,<0,0,-1>,<-1,0,0> } triangle { <0,-1,0>,<-1,0,0>,<0,0,1> } } #declare p = array[20] {< 0.642889,-0.884861, 0.208887>, < 0.000000, 0.884861,-0.675973>, < 0.642889, 0.884861,-0.208887>, < 0.397327, 0.884861, 0.546874>, <-0.397327, 0.884861, 0.546874>, <-0.642889, 0.884861,-0.208887>, < 0.000000, 0.208887,-1.093748>, < 1.040216, 0.208887,-0.337987>, < 0.642889, 0.208887, 0.884861>, <-0.642889, 0.208887, 0.884861>, <-1.040216, 0.208887,-0.337987>, < 0.000000,-0.208887, 1.093748>, <-1.040216,-0.208887, 0.337987>, <-0.642889,-0.208887,-0.884861>, < 0.642889,-0.208887,-0.884861>, < 1.040216,-0.208887, 0.337987>, < 0.000000,-0.884861, 0.675973>, <-0.642889,-0.884861, 0.208887>, <-0.397327,-0.884861,-0.546874>, < 0.397327,-0.884861,-0.546874>} #declare Dodecahedron = mesh { triangle { p[01],p[02],p[03] } triangle { p[01],p[03],p[04] } triangle { p[01],p[04],p[05] } triangle { p[01],p[02],p[07] } triangle { p[01],p[07],p[14] } triangle { p[01],p[14],p[06] } triangle { p[02],p[03],p[08] } triangle { p[02],p[08],p[15] } triangle { p[02],p[15],p[07] } triangle { p[03],p[04],p[09] } triangle { p[03],p[09],p[11] } triangle { p[03],p[11],p[08] } triangle { p[04],p[05],p[10] } triangle { p[04],p[10],p[12] } triangle { p[04],p[12],p[09] } triangle { p[05],p[01],p[06] } triangle { p[05],p[06],p[13] } triangle { p[05],p[13],p[10] } triangle { p[18],p[19],p[14] } triangle { p[18],p[14],p[06] } triangle { p[18],p[06],p[13] } triangle { p[19],p[00],p[15] } triangle { p[19],p[15],p[07] } triangle { p[19],p[07],p[14] } triangle { p[00],p[16],p[11] } triangle { p[00],p[11],p[08] } triangle { p[00],p[08],p[15] } triangle { p[16],p[17],p[12] } triangle { p[16],p[12],p[09] } triangle { p[16],p[09],p[11] } triangle { p[17],p[18],p[13] } triangle { p[17],p[13],p[10] } triangle { p[17],p[10],p[12] } triangle { p[16],p[17],p[18] } triangle { p[16],p[18],p[19] } triangle { p[16],p[19],p[00] } scale .898056 } #declare p = array[12] {<0,1,0>, < 0.000000, 0.447213, 0.894427>, < 0.850651, 0.447213, 0.276393>, < 0.525731, 0.447213,-0.723607>, <-0.525731, 0.447213,-0.723607>, <-0.850651, 0.447213, 0.276393>, <-0.000000,-0.447213,-0.894427>, <-0.850651,-0.447213,-0.276393>, <-0.525731,-0.447213, 0.723607>, < 0.525731,-0.447213, 0.723607>, < 0.850651,-0.447213,-0.276393>, <0,-1,0> } #declare Icosahedron = mesh { triangle { p[00],p[01],p[02] } triangle { p[00],p[02],p[03] } triangle { p[00],p[03],p[04] } triangle { p[00],p[04],p[05] } triangle { p[00],p[05],p[01] } triangle { p[01],p[02],p[09] } triangle { p[02],p[03],p[10] } triangle { p[03],p[04],p[06] } triangle { p[04],p[05],p[07] } triangle { p[05],p[01],p[08] } triangle { p[01],p[08],p[09] } triangle { p[09],p[10],p[02] } triangle { p[10],p[06],p[03] } triangle { p[06],p[07],p[04] } triangle { p[07],p[08],p[05] } triangle { p[11],p[06],p[07] } triangle { p[11],p[07],p[08] } triangle { p[11],p[08],p[09] } triangle { p[11],p[09],p[10] } triangle { p[11],p[10],p[06] } } #undef p