// Last edited on 2013-12-11 05:46:29 by stolfilocal // Processed by remove-cam-lights #include "retalho.inc" 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 geraRetalhoLin(M,p1,p2,p3,tx1,tx2) #declare i = 0; #while ( i < 4 ) #declare j = 0; #while ( j < 4 ) #declare M[i][j] = ; #declare j = j + 1; #end #declare i = i + 1; #end #end #macro geraRetalhoLinInv(M,p1,p2,p3,tx1,tx2) #declare i = 0; #while ( i < 4 ) #declare j = 0; #while ( j < 4 ) #declare M[3-i][j] = ; #declare j = j + 1; #end #declare i = i + 1; #end #end #macro geraRetalhobraco(M,p1,p2,p3,tx1,tx2) #declare i = 0; #while ( i < 4 ) #declare j = 0; #while ( j < 4 ) #declare M[i][j] = ; #declare j = j + 1; #end #declare i = i + 1; #end #end #declare A = array[4][4]; #declare B = array[4][4]; #declare C = array[4][4]; #declare D = array[4][4]; #declare E = array[4][4]; geraRetalhoLinInv(A,0.5,0.2,0.9,tx_fosca,tx_plastico) geraRetalhoLin(B,0.5,0.2,0.0,tx_amarelo,tx_xadrez) geraRetalhoLinInv(C,2.9,0,-1.9,tx_fosca,tx_plastico) geraRetalhobraco(D,0.0,3.0,0.5,tx_amarelo,tx_amarelo) geraRetalhobraco(E,0.0,-1.5,0.5,tx_amarelo,tx_amarelo) #local B[0][0] = A[3][0]; #local B[0][1] = A[3][1]; #local B[0][2] = A[3][2]; #local B[0][3] = A[3][3]; #local B[3][0] = C[0][0]; #local B[3][1] = C[0][1]; #local B[3][2] = C[0][2]; #local B[3][3] = C[0][3]; #local D[0][0] = B[0][3]; #local D[1][0] = B[1][3]; #local D[2][0] = B[2][3]; #local D[3][0] = B[3][3]; #local E[0][3] = B[0][0]; #local E[1][3] = B[1][0]; #local E[2][3] = B[2][0]; #local E[3][3] = B[3][0]; union{ object{ eixos(3.00) } object{ chao translate < 0,0,-5 > texture{ tx_xadrez } } object{ retalho(A[0][0],A[0][1],A[0][2],A[0][3], A[1][0],A[1][1],A[1][2],A[1][3], A[2][0],A[2][1],A[2][2],A[2][3], A[3][0],A[3][1],A[3][2],A[3][3], 0.01,tx_amarelo,tx_fosca) } object{ retalho(B[0][0],B[0][1],B[0][2],B[0][3], B[1][0],B[1][1],B[1][2],B[1][3], B[2][0],B[2][1],B[2][2],B[2][3], B[3][0],B[3][1],B[3][2],B[3][3],0.01,tx_fosca,tx_plastico) } object{ retalho(C[0][0],C[0][1],C[0][2],C[0][3], C[1][0],C[1][1],C[1][2],C[1][3], C[2][0],C[2][1],C[2][2],C[2][3], C[3][0],C[3][1],C[3][2],C[3][3],0.01,tx_fosca,tx_fosca) } object{ retalho(D[0][0],D[0][1],D[0][2],D[0][3], D[1][0],D[1][1],D[1][2],D[1][3], D[2][0],D[2][1],D[2][2],D[2][3], D[3][0],D[3][1],D[3][2],D[3][3],0.01,tx_fosca,tx_amarelo) } object{ retalho(E[0][0],E[0][1],E[0][2],E[0][3], E[1][0],E[1][1],E[1][2],E[1][3], E[2][0],E[2][1],E[2][2],E[2][3], E[3][0],E[3][1],E[3][2],E[3][3],0.01,tx_fosca,tx_amarelo) } cylinder{ <1.5,-1,-1.5> <1.5,0,-1.5>,1 } cylinder{ <1.5,3.5,-1.5> <1.5,4,-1.5>,1 } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 5.0, 0.10, 1.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)