// Last edited on 2009-07-22 13:55:00 by stolfilocal // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare BLUE = texture { pigment { color rgb < 0.10, 0.20, 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.00, 0.00 > } 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 shelves = difference { box { < 10.0, 5.0, 10.0 > < 0.0, 0.0, 0.0 > } box { < 9.8, 4.8, 9.8 > < 0.2, -1.0, 0.2 > } texture { GREEN } } #declare shelves1 = difference { box { < 10.0, 5.0, 7.0 > < 0.0, 0.0, 0.0 > } box { < 9.8, 4.8, 6.8 > < 0.2, -1.0, 0.2 > } texture { YELLOW } } #declare shelves2 = difference { box { < 10.0, 5.0, 15.0 > < 0.0, 0.0, 0.0 > } box { < 9.8, 4.8, 14.8 > < 0.2, -1.0, 0.2 > } texture { GOLDENROD } } #declare shelf = box { < 9.9, 4.9, 0.2> < 0.1, 0.1, 0.0 > } #declare book_sphere = sphere { < 0.0, 0.0, 0.0 >, 1.0 } #declare book_box = box { < 0.5, 1.0, 0.1 > < 0.0, 0.0, 0.0 > } #declare book_cylinder = cylinder { < 0.0, 0.0, 0.1 > < 0.0, 0.0, 0.0 > 1.0 } #declare book_ring = difference { cylinder { < 0.0, 0.0, 0.1 > < 0.0, 0.0, 0.0 > 1.0 } cylinder { < 0.0, 0.0, 1.0 > < 0.0, 0.0, -1.0 > 0.8 } } #declare shelves_and_books = union { object { shelves } #declare i = 0; #declare shelf_random_books = union{ object { shelf texture { RED } } #declare s = seed(241287); #declare i = 0; #declare n = int(5*rand(s)); #while (i < n) #declare c = int(40*rand(s)); #declare index = mod(c,4); #switch (index) #case (0) object { book_cylinder translate < i*2+1 , 2.0, 0.2> texture { BLUE }} #break #case (1) object { book_ring translate < i*2+1 , 2.0, 0.2> texture { YELLOW }} #break #case (2) object { book_box translate < i*2+1 , 2.0, 0.2> texture { GREEN }} #break #case (3) object { book_sphere translate < i*2+1 , 2.0, 1.2> texture { BLUE }} #break #end #declare i = i + 1; #end } #while (i < 4) object { shelf_random_books translate < 0.0, 0.0, 2.0*i+1.5> } #declare i = i + 1; #end } #declare shelves_and_books1 = union { object { shelves1 } #declare i = 0; #declare shelf_random_books1 = union{ object { shelf texture { RED } } #declare s = seed(31); #declare i = 0; #declare n = int(5*rand(s)); #while (i < n) #declare c = int(40*rand(s)); #declare index = mod(c,4); #switch (index) #case (0) object { book_cylinder translate < i*2+1 , 2.0, 0.2> texture { BLUE }} #break #case (1) object { book_ring translate < i*2+1 , 2.0, 0.2> texture { YELLOW }} #break #case (2) object { book_box translate < i*2+1 , 2.0, 0.2> texture { GREEN }} #break #case (3) object { book_sphere translate < i*2+1 , 2.0, 1.2> texture { BLUE }} #break #end #declare i = i + 1; #end } #while (i < 2) object { shelf_random_books1 translate < 0.0, 0.0, 2.0*i+1.5> } #declare i = i + 1; #end } #declare shelves_and_books2 = union { object { shelves2 } #declare i = 0; #declare shelf_random_books2 = union{ object { shelf texture { RED } } #declare s = seed(112); #declare i = 0; #declare n = int(5*rand(s)); #while (i < n) #declare c = int(40*rand(s)); #declare index = mod(c,4); #switch (index) #case (0) object { book_cylinder translate < i*2+1 , 2.0, 0.2> texture { BLUE }} #break #case (1) object { book_ring translate < i*2+1 , 2.0, 0.2> texture { YELLOW }} #break #case (2) object { book_box translate < i*2+1 , 2.0, 0.2> texture { GREEN }} #break #case (3) object { book_sphere translate < i*2+1 , 2.0, 1.2> texture { BLUE }} #break #end #declare i = i + 1; #end } #while (i < 5) object { shelf_random_books2 translate < 0.0, 0.0, 2.0*i+1.5> } #declare i = i + 1; #end } object { shelves_and_books rotate < 0.0, 0.0, 30.0 > } object { shelves_and_books1 translate < -13.0, 0.0, 0.0> } object { shelves_and_books2 translate < 13.0, 0.0, 0.0> } // Original camera parameters: // #local cam_ctr = <0.00,0.00,6.00> // #local cam_vec = (<0.00,-45.00,20.00>-<0.00,0.00,6.00>) // #local cam_sky = z #include "camlight.inc" camlight(<4.00,0.00,3.00>,<10,-10,5>,40.0,z,1.0)