// Last edited on 2009-07-24 13:14:54 by stolfilocal // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare BLUE = texture { pigment { color rgb < 0.40, 0.60, 1.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare YELLOW = texture { pigment { color rgb < 1.0, 1.0, 0.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare GREEN = texture { pigment { color rgb < 0.20, 0.80, 0.10 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare RED = texture { pigment { color rgb < 1.00, 0.30, 0.20 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare SILVER = texture { pigment { color rgb < 0.86, 0.86, 0.86 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare GOLDENROD = texture { pigment { color rgb < 0.854, 0.64, 0.125 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare cutter = difference{ box{ <0,-2,-1> <1,2,2> } box{ <0,-3,0> <5,3,2> rotate <0, 75, 0> translate <-0.2,0,3> } } #declare def_length = 4; #declare sphere_radius = 1.2; #declare knife_obj = difference{ box{ <0,0,-1> <10,1,1> } object{cutter translate <-0.2,0,0> scale<1,1,1.5>} object{cutter translate <1,0,-2>} object{cutter translate <1.5,0,-2>} object{cutter translate <2,0,-2>} object{cutter translate <2.5,0,-2>} object{cutter translate <3,0,-2>} translate <-10, -1, 0> rotate <0,0,180> } #declare arm_obj = merge{ box{ <0,0,-1> } sphere{ ,sphere_radius } } #declare base = box{ <-2,0,-4> <5,2,5> } #macro knife_leaf() object{knife_obj} #end #macro arm0(knife_y) merge{ object{arm_obj} object{ knife_leaf() rotate <0, knife_y, 0> translate } } #end #macro arm1(arm0_x, knife_y) merge{ object{arm_obj} object{arm0(knife_y) rotate translate } } #end #macro arm2(arm1_z, arm0_x, knife_y) merge{ object{arm_obj} object{arm1(arm0_x, knife_y) rotate <0, 0, arm1_z> translate } } #end #macro fancy_knife(arm2_y, arm2_z, arm1_z, arm0_x, knife_y) merge{ object{base} merge{ sphere{ <0,0,0>, sphere_radius } object{arm2(arm1_z, arm0_x, knife_y)} rotate <0, arm2_y, arm2_z> translate <1, -1, 3> } } #end object{fancy_knife(40, -40, -30, 45, -70) texture{BLUE} scale 0.8 translate +7*x} object{fancy_knife(30, -120, +30, -24, -26) texture{RED} scale 0.8 translate -7*x} // Original camera parameters: // #local cam_ctr = <4.00,3.00,4.00> // #local cam_vec = (<20.0,-7.00,10.00>-<4.00,3.00,4.00>) // #local cam_sky = z #include "camlight.inc" camlight(<0.00,-7.00,0.00>,<10,-10,5>,33.0,z,1.0)