// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "colors.inc" #include "stones.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #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 tx_stone = texture{ T_Stone15 } #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_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_preta = texture{ pigment{ color rgb < 0.1, 0.1, 0.1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_invisible = texture{ pigment{ color rgbt < 0.1, 0.1, 0.1, 1.0 > } } #declare chao = box{ <-100,-100,-1>, <+100,+100,0> } #include "eixos.inc" #include "retalho.inc" #macro assento(ff) #local F = 0.5*ff; #local P = array[4][4] {{<-0.5, -1.0, +1.0>, <-0.5, -0.5, +1+F>, <-0.5, +0.5, +1+F>, <-0.5, +1.0, +1.0>}, {<+0.0, -1.0, +1.0>, <+0.0, -0.5, +1+F>, <+0.0, +0.5, +1+F>, <+0.0, +1.0, +1.0>}, {<+0.5, -1.0, +0.5>, <+0.5+F, -0.5, +0.5>, <+0.5+F, +0.5, +0.5>, <+0.5, +1.0, +0.5> }, {<+0.0, -1.0, +0.0>, <+0.0, -0.5, +0.0>, <+0.0, +0.5, +0.0>, <+0.0, +1.0, +0.0>} } #local Q = array[4][4] {{<-0.5, -1.0, +1.0>, <-0.5, -0.5, +1+F>, <-0.5, +0.5, +1+F>, <-0.5, +1.0, +1.0>}, {<-1.0, -1.0, +1.0>, <-1.0, -0.5, +1+F>, <-1.0, +0.5, +1+F>, <-1.0, +1.0, +1.0>}, {<-1.5, -1.0, +1.0>, <-1.5, -0.5, +1+F>, <-1.5, +0.5, +1+F>, <-1.5, +1.0, +1.0>}, {<-2.0, -1.0, +1.0>, <-2.0, -0.5, +1+F>, <-2.0, +0.5, +1+F>, <-2.0, +1.0, +1.0>}} #local parte = union { retalho( P[0][0], P[0][1], P[0][2], P[0][3], P[1][0], P[1][1], P[1][2], P[1][3], P[2][0], P[2][1], P[2][2], P[2][3], P[3][0], P[3][1], P[3][2], P[3][3], 0.01, tx_invisible, tx_fosca ) retalho( Q[0][0], Q[0][1], Q[0][2], Q[0][3], Q[1][0], Q[1][1], Q[1][2], Q[1][3], Q[2][0], Q[2][1], Q[2][2], Q[2][3], Q[3][0], Q[3][1], Q[3][2], Q[3][3], 0.01, tx_invisible, tx_fosca ) scale <1, 1.5, 1> } union { object { parte translate <2, 0, 0> } // bunda box { <0, -1.5, 0>, <-1, 1.5, +1> texture { tx_fosca } } box { <0, -1.5, 0>, <-1, 1.5, +2.5> texture { tx_fosca } } object { parte rotate <0, -90, 0> scale <-1, 1, 1> translate <-1, 0, 3> } // costas } #end #declare R = array[4][4] {{<-0.5, -0.5, 1.0>, <-0.5, -1.0, 1.5>, <-0.5, -0.5, 2.0>, <-0.5, 0.0, 1.0>}, {<-1.0, -0.5, 1.0>, <-1.0, -1.0, 1.5>, <-1.0, -0.5, 2.0>, <-1.0, 0.0, 1.0>}, {<-1.5, -0.5, 1.0>, <-1.5, -1.0, 1.5>, <-1.5, -0.5, 2.0>, <-1.5, 0.0, 1.0>}, {<-2.0, -0.5, 1.0>, <-2.0, -1.0, 1.5>, <-2.0, -0.5, 2.0>, <-2.0, 0.0, 1.0>}} #declare braco = retalho( R[0][0], R[0][1], R[0][2], R[0][3], R[1][0], R[1][1], R[1][2], R[1][3], R[2][0], R[2][1], R[2][2], R[2][3], R[3][0], R[3][1], R[3][2], R[3][3], 0.01, tx_invisible, tx_fosca ) #declare roda = union { difference { cylinder { <0, -0.1, 0>, <0, +0.1, 0>, 1 texture { tx_preta } } cylinder { <0, -0.2, 0>, <0, +0.2, 0>, 0.8 texture { tx_preta } } } #local i = 0; #while (i < 360) cylinder { <0, 0, 0>, <0, 0, 0.9>, 0.05 rotate <0, i, 0> texture { tx_vidro} } #local i = i + 30; #end cylinder { <0, -0.12, 0>, <0, +0.12, 0>, 0.2 texture { tx_vidro } } } union{ object{ chao translate < 0,0,0 > texture{ tx_xadrez } } object { assento(0) translate <0, -1.5, 1> } // desinflado object { assento(1.0) translate <0, +1.5, 1> } // inflado object { braco translate <2, -3, 1> scale <1.5, 1, 1> } object { braco scale <1, -1, 1> translate <2, 3, 1> scale <1.5, 1, 1> } object { cylinder { <1, -3.7, 1>, <1, 3.7, 1>, 0.15 } texture {tx_vidro} } object { roda translate <1, 3.6, 1> } object { roda translate <1, -3.6, 1> } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 2.00 >; #declare raio_cena = 9.0; #declare dir_camera = < 7.00, 14.00, 10.00 >; #declare dist_camera = 10.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)