// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_red = texture{ pigment{ color rgb < 0.90, 0.05, 0.05 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_yellow = texture{ pigment{ color rgb < 0.93, 0.79, 0.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_green = texture{ pigment{ color rgb < 0.05, 0.90, 0.05 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_blue = texture{ pigment{ color rgb < 0.05, 0.05, 0.90 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 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_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.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #include "retalho.inc" #declare raio = 2.000; #declare roda= cylinder{ < 0.00, 0.00, 0.00 > < 0.00, 0.00, 0.10 > 0.8 texture{tx_red} } #macro sofa(tam,ff) union{ #local A=array[4][4]; // braco #local B=array[4][4]; // fecha braco #local C=array[4][4]; // costas #local D=array[4][4]; // base #local E=array[4][4]; // fecha costas #local F=array[4][4]; // fecha base #local A[0][0]=<2.5,-2,1>; #local A[0][1]=<2.5,-0.5,1>; #local A[0][2]=<2.5,+0.5,1>; #local A[0][3]=<2.5,+2,1>; #local A[1][0]=<2.35,-2,0.2>; #local A[1][1]=<2.35,-0.5,0.2*ff>; #local A[1][2]=<2.35,+0.5,0.2*ff>; #local A[1][3]=<2.35,+2,0.2>; #local A[2][0]=<1.65,-2,0.2>; #local A[2][1]=<1.65,-0.5,0.2*ff>; #local A[2][2]=<1.65,+0.5,0.2*ff>; #local A[2][3]=<1.65,+2,0.2>; #local A[3][0]=<1.5,-2,1>; #local A[3][1]=<1.5,-0.5,1>; #local A[3][2]=<1.5,+0.5,1>; #local A[3][3]=<1.5,2,1>; #local B[1][0]=<2.35,-2,1.8>; #local B[1][1]=<2.35,-0.5,1.8*ff>; #local B[1][2]=<2.35,+0.5,1.8*ff>; #local B[1][3]=<2.35,+2,1.8>; #local B[2][0]=<1.65,-2,1.8>; #local B[2][1]=<1.65,-0.5,1.8*ff>; #local B[2][2]=<1.65,+0.5,1.8*ff>; #local B[2][3]=<1.65,+2,1.8>; #local D[0][0]=<2,2,0.5>; #local D[0][1]=<0.75,2,0.5>; #local D[0][2]=<-0.75,2,0.5>; #local D[0][3]=<-2,2,0.5>; #local D[1][0]=<2,0.75,0.25>; #local D[1][1]=<0.75,0.75,0.25*ff>; #local D[1][2]=<-0.75,0.75,0.25*ff>; #local D[1][3]=<-2,0.75,0.25>; #local D[2][0]=<2,-0.75,0.25>; #local D[2][1]=<0.75,-0.75,0.25*ff>; #local D[2][2]=<-0.75,-0.75,0.25*ff>; #local D[2][3]=<-2,-0.75,0.25>; #local E[1][0]=<2,-3.5,1.5>; #local E[1][1]=<0.75,-3.5*ff,1.5>; #local E[1][2]=<-0.75,-3.5*ff,1.5>; #local E[1][3]=<-2,-3.5,1.5>; #local E[2][0]=<2,-4,2.5>; #local E[2][1]=<0.75,-4*ff,2.5>; #local E[2][2]=<-0.75,-4*ff,2.5>; #local E[2][3]=<-2,-4,2.5>; #local C[1][0]=<2,-2.2,1.5>; #local C[1][1]=<0.75,-2.2*ff,1.5>; #local C[1][2]=<-0.75,-2.2*ff,1.5>; #local C[1][3]=<-2,-2.2,1.5>; #local C[2][0]=<2,-2.5,2.5>; #local C[2][1]=<0.75,-2.5*ff,2.5>; #local C[2][2]=<-0.75,-2.5*ff,2.5>; #local C[2][3]=<-2,-2.5,2.5>; #local C[3][0]=(C[2][0]+E[2][0])/2; #local C[3][1]=(C[2][1]+E[2][1])/2; #local C[3][2]=(C[2][2]+E[2][2])/2; #local C[3][3]=(C[2][3]+E[2][3])/2; #local C[0][0]=(C[1][0]+D[2][0])/2; #local C[0][1]=(C[1][1]+D[2][1])/2; #local C[0][2]=(C[1][2]+D[2][2])/2; #local C[0][3]=(C[1][3]+D[2][3])/2; #local F[1][1]=<0.75,0.75,1.25*ff>; #local F[1][2]=<-0.75,0.75,1.25*ff>; #local F[2][1]=<0.75,-0.75,1.25*ff>; #local F[2][2]=<-0.75,-0.75,1.25*ff>; union{ 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], C[0][0],C[0][1],C[0][2],C[0][3], 0.00001,tx_yellow,tx_yellow) scale} object{ retalho(D[0][0],D[0][1],D[0][2],D[0][3], D[1][0],F[1][1],F[1][2],D[1][3], D[2][0],F[2][1],F[2][2],D[2][3], C[0][0],C[0][1],C[0][2],C[0][3], 0.00001,tx_yellow,tx_yellow) scale} } object { roda rotate <0,90,0> translate <1.9,-1.3,0> scale} object { roda rotate <0,90,0> translate <-2.1,-1.3,0> scale} object { roda rotate <0,90,0> translate <1.9,1.0,0> scale} object { roda rotate <0,90,0> translate <-2.1,1.0,0> scale} union{ 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.0001,tx_yellow,tx_blue) scale} object{ retalho(A[0][0],A[0][1],A[0][2],A[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], A[3][0],A[3][1],A[3][2],A[3][3], 0.0001,tx_yellow,tx_blue) scale } object{ retalho(A[0][3],A[0][3],A[0][3],A[0][3], B[1][3],B[1][3],A[1][3],A[1][3], B[2][3],B[2][3],A[2][3],A[2][3], A[3][3],A[3][3],A[3][3],A[3][3], 0.0001,tx_yellow,tx_blue) scale } object{ retalho(A[0][0],A[0][0],A[0][0],A[0][0], B[1][0],B[1][0],A[1][0],A[1][0], B[2][0],B[2][0],A[2][0],A[2][0], A[3][0],A[3][0],A[3][0],A[3][0], 0.0001,tx_yellow,tx_blue) scale } } union{ 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.0001,tx_yellow,tx_blue) scale} object{ retalho(A[0][0],A[0][1],A[0][2],A[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], A[3][0],A[3][1],A[3][2],A[3][3], 0.0001,tx_yellow,tx_blue) scale } object{ retalho(A[0][3],A[0][3],A[0][3],A[0][3], B[1][3],B[1][3],A[1][3],A[1][3], B[2][3],B[2][3],A[2][3],A[2][3], A[3][3],A[3][3],A[3][3],A[3][3], 0.0001,tx_yellow,tx_blue) scale } object{ retalho(A[0][0],A[0][0],A[0][0],A[0][0], B[1][0],B[1][0],A[1][0],A[1][0], B[2][0],B[2][0],A[2][0],A[2][0], A[3][0],A[3][0],A[3][0],A[3][0], 0.0001,tx_yellow,tx_blue) scale } translate <-4*tam,0,0> } union{ 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.0001,tx_yellow,tx_blue) scale} object{ retalho(C[0][0],C[0][1],C[0][2],C[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], C[3][0],C[3][1],C[3][2],C[3][3], 0.0001,tx_yellow,tx_blue) scale} object{ retalho(C[0][0],C[0][0],C[0][0],C[0][0], E[1][0],E[1][0],C[1][0],C[1][0], E[2][0],E[2][0],C[2][0],C[2][0], C[3][0],C[3][0],C[3][0],C[3][0], 0.0001,tx_yellow,tx_blue) scale} object{ retalho(C[0][3],C[0][3],C[0][3],C[0][3], E[1][3],E[1][3],C[1][3],C[1][3], E[2][3],E[2][3],C[2][3],C[2][3], C[3][3],C[3][3],C[3][3],C[3][3], 0.0001,tx_yellow,tx_blue) scale} } } #end union{ union { sofa(1.5,0.5) translate<5,0,0> } union { sofa(1.5,2) translate<-5,0,0> } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 15.0; #declare dir_camera = < 2,7,4>; #declare dist_camera = 50.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)