// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare marrom = texture{ pigment{ color rgb < 1, 0.51, 0.23 > } finish{ diffuse 0.9 ambient 0.1 } } #declare verde = texture{ pigment{ color rgb < 0, 1, 0 > } finish{ diffuse 0.9 ambient 0.1 } } #declare solo = texture{ pigment{ color rgb < 0, 0.8, 0 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare cones = cone { < 0, 0, -0.6 >, 0, < 0, 0, 0.6 >, 0.3 } #declare caixa = box{ <-1,-1,-0.2>, <+1,+1,0> } #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } #declare M = 4; #declare arVal1 = array[M]; #declare arVal1[0] = 0; #declare arVal1[1] = 0; #declare arVal1[2] = 0; #declare arVal1[3] = 0; #declare arVal2 = array[M]; #declare arVal2[0] = 1; #declare arVal2[1] = 4; #declare arVal2[2] = 60; #declare arVal2[3] = 120; #declare roleta = seed(417); #macro bit(value, failure) union { #if (failure = 0) object { cones rotate x*180*value texture { verde }} #end object { caixa texture{ marrom } rotate y*90 } } #end #macro row(n, value, prob) #local i = 0; #local integer = int(value); #local frac = value - integer; union { #while (i < n) #local failure = 0; #if (rand(roleta) < prob) #local failure = 1; #end #local vv = mod(integer,2); #if (vv = 0) object { bit(frac, failure) translate < 0, -i*2, 0 > } #local frac = 0; #else object { bit(1 - frac, failure) translate < 0, -i*2, 0 > } #end #local integer = int(integer/2); #local i = i + 1; #end } #end #macro abaco(m, n, values1, values2, prob) #local i = 0; union { #while (m > i) object{ row(n, (values1[i] * (1 - clock)) + (values2[i] * clock), prob) translate < 0, 0, -i*2 > } #local i = i + 1; #end } #end union { object { abaco(M, 10, arVal1, arVal2, 0) translate <0, 6, 5>} object{ chao translate < 0,0,-5 > texture { tx_xadrez } } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 25.0; #declare dir_camera = < 1, 1 - clock, 1 - clock >; #declare dist_camera = 80.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)