#declare ObjectCenter= <1,2,3>; global_settings { assumed_gamma 1.0 } #include "colors.inc" #include "glass.inc" #include "metals.inc" #local zoom=1.5; camera { location <-2.8, 2.8, 2.8> direction 1.5*z right 4/3*x*1/zoom up y*1/zoom look_at <0.0, 0.0, 0.0> } light_source { 0*x // light's position (translated below) color rgb <1,1,1> // light's color translate <20, 20, 10> } light_source { 0*x // light's position (translated below) color rgb <1,1,1>*0.5 // light's color translate <20, -10, -10> } light_source { 0*x // light's position (translated below) color rgb <0.6,0.6,0.6> // light's color translate <-20, 20, 10> } #default { texture{ finish { ambient .1 diffuse .6 phong .75 phong_size 50 } } } #include "geodesic.inc" #declare symmetry = 5; // use icosahedron #declare freq = 4; // subdivide faces into 4^2=16 triangles #declare mode = 1; // use planar subdivision #declare vertex_array_5_4 = geodesic(symmetry, freq, mode) #declare symmetry = 5; // use icosahedron #declare freq = 7; // subdivide faces into 7^2=49 triangles #declare mode = 1; // use planar subdivision #declare vertex_array_5_7 = geodesic(symmetry, freq, mode) #macro do_corner(position) sphere { position 0.1 } #end #macro do_edge( corner_1, corner_2 ) #end #macro do_face( corner_1, corner_2, corner_3 ) #end #macro do_edge( corner_1, corner_2 ) #end #macro do_corner(position) #end #macro do_edge( corner_1, corner_2 ) cylinder { corner_1, corner_2, 0.004 texture { pigment { color rgb <0,1,1> }} } #end #macro do_corner(position) #end object { geodesic_sphere ( 5, 7, vertex_array_5_7 ) translate <0,0,0> scale <.6,.6,.6> rotate x*0 // s1x rotate y*0 // s1y rotate z*0 // s1z } #macro do_corner(position) sphere { position 0.1 } #end #macro do_edge( corner_1, corner_2 ) #end #macro do_face( corner_1, corner_2, corner_3 ) #end #macro do_edge( corner_1, corner_2 ) #end #macro do_corner(position) #end #macro do_edge( corner_1, corner_2 ) cylinder { corner_1, corner_2, 0.004 texture { pigment { color Red }} } #end #macro do_corner(position) #end object { geodesic_sphere ( 5, 4, vertex_array_5_4 ) translate <0,0,0> scale <.8,.8,.8> rotate x*0 // s2x rotate y*0 // s2y rotate z*0 // s2z } #macro do_edge( corner_1, corner_2 ) cylinder { corner_1, corner_2, 0.004 texture { pigment { color rgb <0,1,1> }} } #end #macro do_corner(position) #end #macro do_corner(position) sphere { position 0.1 } #end #macro do_edge( corner_1, corner_2 ) #end #macro do_face( corner_1, corner_2, corner_3 ) #end #macro do_edge( corner_1, corner_2 ) #end #macro do_corner(position) #end #macro do_edge( corner_1, corner_2 ) cylinder { corner_1, corner_2, 0.004 texture { pigment { color Green }} } #end #macro do_corner(position) #end object { geodesic_sphere ( 5, 4, vertex_array_5_4 ) translate <0,0,0> rotate x* rotate y*0 // s3y rotate z*0 // s3z }