#include "colors.inc" #include "textures.inc" #include "stones.inc" //#include "scene.inc" #declare Cool=camera { location<0,10,-30> look_at<0,0,0> } #declare Close=camera { location<0,7,-10> look_at<0,7,0> } //camera { Close } camera { Cool } light_source { <2000,2000,-2000> color White } light_source { <-2000,2000,-2000> color White } background { color White } #declare ChainTex=texture { //pigment { color Gray } //Polished_Chrome Aluminum } #declare BallTex=texture { Polished_Brass //pigment { color Red } } #declare FrameTex=texture { Polished_Brass //pigment{White} normal{ granite 0.6 scale 3 } finish{phong 0.8 phong_size 200} //pigment { color Orange } } #declare Link=union { difference { union { torus { .4,.2 rotate<90,0,0> } torus { .4,.2 rotate<90,0,0> translate<0,.4,0> } } box { <-100,0,-100>,<100,.4,100> } } cylinder { <-.4,0,0>,<-.4,.4,0>,.2 } cylinder { <.4,0,0>,<.4,.4,0>,.2 } } #declare Chain=union { cylinder { <0,4.1,0>,<0,0,0>,.2 } cylinder { <0,8.5,0>,<0,11,0>,.2 } object { Link translate<0,4.5,0> } object { Link rotate<0,90,0> translate<0,5.3,0> } object { Link translate<0,6.1,0> } object { Link rotate<0,90,0> translate<0,6.9,0> } object { Link translate<0,7.7,0> } texture { ChainTex } } #declare Box=union { difference { box { <-10,-.5,-10>,<10,.5,10> translate<0,10,0> } box { <-100,-100,-100>,<0,100,100> rotate<0,0,7.5> } box { <0,-100,-100>,<100,100,100> rotate<0,0,-7.5> } box { <-100,-100,-100>,<0,100,100> rotate<0,0,7.5> rotate<0,90,0> } box { <0,-100,-100>,<100,100,100> rotate<0,0,-7.5> rotate<0,90,0> } } object { Chain } box { <-.4,0,-.4>,<.4,3.3,.4> texture { BallTex } } } union { object { Box } object { Box rotate<0,0,15> } object { Box rotate<0,0,30> } object { Box rotate<0,0,45> } object { Box rotate<0,0,60> } object { Box rotate<0,0,75> } object { Box rotate<0,0,90> } object { Box rotate<0,0,105> } object { Box rotate<0,0,120> } object { Box rotate<0,0,135> } object { Box rotate<0,0,150> } object { Box rotate<0,0,165> } object { Box rotate<0,0,180> } object { Box rotate<0,0,195> } object { Box rotate<0,0,210> } object { Box rotate<0,0,225> } object { Box rotate<0,0,240> } object { Box rotate<0,0,255> } object { Box rotate<0,0,270> } object { Box rotate<0,0,285> } object { Box rotate<0,0,300> } object { Box rotate<0,0,315> } object { Box rotate<0,0,330> } object { Box rotate<0,0,345> } object { Box rotate<0,0,90> rotate<0,15,0> } object { Box rotate<0,0,90> rotate<0,30,0> } object { Box rotate<0,0,90> rotate<0,45,0> } object { Box rotate<0,0,90> rotate<0,60,0> } object { Box rotate<0,0,90> rotate<0,75,0> } object { Box rotate<0,0,90> rotate<0,90,0> } object { Box rotate<0,0,90> rotate<0,105,0> } object { Box rotate<0,0,90> rotate<0,120,0> } object { Box rotate<0,0,90> rotate<0,135,0> } object { Box rotate<0,0,90> rotate<0,150,0> } object { Box rotate<0,0,90> rotate<0,165,0> } object { Box rotate<0,0,90> rotate<0,195,0> } object { Box rotate<0,0,90> rotate<0,210,0> } object { Box rotate<0,0,90> rotate<0,225,0> } object { Box rotate<0,0,90> rotate<0,240,0> } object { Box rotate<0,0,90> rotate<0,255,0> } object { Box rotate<0,0,90> rotate<0,270,0> } object { Box rotate<0,0,90> rotate<0,285,0> } object { Box rotate<0,0,90> rotate<0,300,0> } object { Box rotate<0,0,90> rotate<0,315,0> } object { Box rotate<0,0,90> rotate<0,330,0> } object { Box rotate<0,0,90> rotate<0,345,0> } object { Box rotate<15,0,0> } object { Box rotate<30,0,0> } object { Box rotate<45,0,0> } object { Box rotate<60,0,0> } object { Box rotate<75,0,0> } object { Box rotate<105,0,0> } object { Box rotate<120,0,0> } object { Box rotate<135,0,0> } object { Box rotate<150,0,0> } object { Box rotate<165,0,0> } object { Box rotate<195,0,0> } object { Box rotate<210,0,0> } object { Box rotate<225,0,0> } object { Box rotate<240,0,0> } object { Box rotate<255,0,0> } object { Box rotate<285,0,0> } object { Box rotate<300,0,0> } object { Box rotate<315,0,0> } object { Box rotate<330,0,0> } object { Box rotate<345,0,0> } texture { FrameTex } rotate<0,30,0> } sphere { <0,0,0>,3 texture { BallTex } }