// Last edited on 2001-01-29 01:50:34 by stolfi // Alterada a posição da câmera [J.Stolfi] #include "colors.inc" #include "textures.inc" background { color rgb <0.9, 0.9, 0.9> } light_source { < 5.00, 50.00, 20.00 > color rgb < 1.00, 1.00, 1.00 > } light_source { < 0, 3, 0 > color rgb < 1,1,1 > } camera { // location 0.7*< 25.00, 4.5, 8.00 > // [original] location 0.4*< 25.00, 4.5, 8.00 > // [J.Stolfi] right < 2.40, 0.00, 0.00 > up < 0.00, 0.00, 1.80 > sky < 0.00, 1.00, 0.00 > look_at < 0.00, 0.00, 0.00 > } #declare grama = texture { pigment { bozo colour_map { [ 0.00 color rgb <0.7, 0.9, 0.3> ] [ 0.33 color rgb <0.6, 0.8, 0.3> ] [ 0.66 color rgb <0.6, 0.95, 0.3> ] [ 1.00 color rgb <0.65, 0.7, 0.3> ] } } normal { bumps 0.9 scale 0.005 } finish { phong 1} } plane { y, -7 texture { grama } } #declare cor_telhado = texture { pigment { BrightGold } finish { ambient .1 diffuse .3 reflection .4 } } #declare cor_aux = texture { pigment { color<.9,.85,.1> } finish { ambient .1 diffuse .3 reflection .4 } } #declare cor_base = texture { pigment { color<.8,.8,.1> } } #declare verde = MediumSeaGreen; #declare p1_telhado = difference{ torus {3.5,1.25 texture{cor_telhado} } box {<-5.7,0,-5.7><5.7,-1.3,5.7> verde } } #declare ponto = <0,.805,0>; #declare p2_telhado = intersection{ sphere{<0,-3,0>,5} difference{ torus {8,7.95 texture{cor_telhado} translate ponto } torus {8,7.8 texture{cor_telhado} translate ponto } box{<-25,0,-25><25,12,25> texture{cor_telhado} translate ponto } } translate<0,7,0> } #declare p3_telhado = union { object {p1_telhado} object {p2_telhado} } #declare p4_telhado = difference{ object{p3_telhado} box{<-10,4,-10><10,10,10> texture{cor_telhado}} } #declare telhado = union { object {p4_telhado} prism { linear_sweep linear_spline 4, // altura 1 5, // altura 2 9, // quantidade de pontos <1,0>, , , , , , , , <1,0> texture{cor_telhado} } prism { conic_sweep linear_spline 0, // altura 1 1, // altura 2 9, // quantidade de pontos <1,0>, , , , , , , , <1,0> texture{cor_telhado} rotate<180,0,0> translate<0,6,0> } cylinder{<0,6,0><0,8,0>,.1 texture{cor_telhado}} } #declare junta = union{ prism { conic_sweep linear_spline .35, // altura 1 1, // altura 2 5, // quantidade de pontos <.6,.9>, <-.6,.9>, <-.6,-.9>, <.6,-.9>, <.6,.9> texture{cor_aux} rotate<180,0,0> scale<1,1.1,1> translate<5.2,1,0> } cylinder{<4.8,0,.8>,<4.8,-4, .8>,.08 pigment{verde} } cylinder{<5.57,0,.8>,<5.57,-4,.8>,.08 pigment{verde} } cylinder{<4.8,0,-.8>,<4.8,-4,-.8>,.08 pigment{verde} } cylinder{<5.57,0,-.8>,<5.57,-4,-.8>,.08 pigment{verde} } box{<4.5,-7,-1><5.77,-4,1> texture{cor_aux} } } #declare i = 0; #declare juntas = union{ #while(i<9) #declare i = i+1; object{ junta rotate<0,i*45,0> } #end } #declare ref = 5; #declare base = prism { linear_sweep linear_spline -4, // altura 1 -7, // altura 2 9, // quantidade de pontos , , , , , , , , texture{cor_base} } object { juntas } object { telhado } object { base }