// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.10, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_amarelo = texture{ pigment{ color rgb < 0.80, 0.80, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 0.8, 0.10, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.1, 0.1 >, color rgb < 0.85, 0.7, 0.20 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare raio = 2.000; #declare spherM = sphere { <0,0,0> 1.3 } #declare spherm = sphere { <0,0,0.5> 1.1 } #declare cilesq = cylinder { <-0.0,-1.8,-0.5>, <0,-1.1,0.0>, 0.2 } #declare cildir = cylinder { <-0.0,1.8,-0.5>, <0,1.1,0.0>, 0.2 } #declare chao = box{ <-6,-6,-1>, <+6,+6,0> } #declare basedir = box { <-0.1,1.9,-0.9>,<0.1,1.7,0.1> rotate<0,0,0> } #declare baseesq = box { <-0.1,-1.9,-0.9>, <0.1,-1.7,0.1> rotate<0,0,0> } #include "eixos.inc" #macro torre(i,j,k) object { union{ cylinder{<0,0,0>,<0,0.3,0>,0.1 texture{pigment{color rgb<1,1,1>} finish{ diffuse 0.9 phong 1}}} cone{<0,0,0>,0.15,<0,0.15,0>,0 translate<0,0.3,0> texture{ pigment{color rgb<0.4,0,0>} finish{ diffuse 0.9 phong 1}}} cone{<0,0,0>,0.054,<0,0.27,0>,0 translate<0,0.3,0> texture{ pigment{color rgb<0.4,0,0>} finish{ diffuse 0.9 phong 1}}} } rotate<90,0,90> translate } #end #macro buildwall(p,i,n,k) #local widt = 0.1; union{ object { box {,} texture{ tx_amarelo } } object { box {,} texture{ tx_amarelo } } object { box {,} texture{ tx_amarelo } } object { box {,} texture{ tx_amarelo } } torre(i,i,k/3) torre(i,n,k/3) torre(n,i,k/3) torre(n,n,k/3) } #end #macro castelo(p,i,n,k) #if(p != 6 ) #local esp = 0.2; union{ buildwall(p,i,n,k) #if( mod(p,2) = 0 ) castelo(p+1,i+esp,n/2-esp,k+1) castelo(p+1,n/2+i+esp,n-esp,k+1) #else castelo(p+1,i+esp,n-esp,k+1) castelo(p+1,i+esp,n-esp,k+1) #end } #end #end union{ object{ eixos(3.00) } object{ chao translate < 0,0,-5 > texture{ tx_xadrez } } castelo(1,0.1,4,7) #declare xi = 0; } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 5.0, 2.10, 5.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)