// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "eixos.inc" #include "textures.inc" #include "camlight.inc" #include "colors.inc" #include "retalho.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio=0.000001; #declare A=array[4][4] #declare A[0][0]=<-2,0,0>; #declare A[0][1]=<-1,0,0>; #declare A[0][2]=<1,0,0>; #declare A[0][3]=<2,0,0>; #declare A[1][0]=<-1.4,-2,0>; #declare A[1][1]=<-2.4,-2,0>; #declare A[1][2]=<1.4,-2,0>; #declare A[1][3]=<2.4,-2,0>; #declare A[2][0]=<-3,-3,0>; #declare A[2][1]=<-3.4,-3,0>; #declare A[2][2]=<3,-3,0>; #declare A[2][3]=<3.4,-3,0>; #declare A[3][0]=<-4,-4,0>; #declare A[3][1]=<-2,-4,0>; #declare A[3][2]=<2,-4,0>; #declare A[3][3]=<4,-4,0>; #declare roda= cylinder{<0,0,0>,<0.2,0,0>,0.6 texture{Silver_Metal}} #declare frente=union{ object{roda translate x*(2)} object{roda translate x*(-2)} } #macro meio_sofa(ff) union{ #local A=array[4][4] #local A[0][0]=<0,0,0>; #local A[0][1]=<0.5,0,0>; #local A[0][2]=<1,0,0>; #local A[0][3]=<2,0,0>; #local A[1][0]=<0,-2,0>; #local A[1][1]=<0.6,-2,0>; #local A[1][2]=<1.2,-2,0>; #local A[1][3]=<2.4,-2,0>; #local A[2][0]=<0,-3,0>; #local A[2][1]=<0.8,-3,0>; #local A[2][2]=<2.4,-3,0>; #local A[2][3]=<3.4,-3,0>; #local A[3][0]=<0,-4,0>; #local A[3][1]=<1,-4,0>; #local A[3][2]=<2,-4,0>; #local A[3][3]=<4,-4,0>; 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], raio,texture{Rust},texture{Rust})} #local B=array[4][4] #local B[0][0]=<1,0,1>; #local B[0][1]=<1.4,0,2>; #local B[0][2]=<1.8,0,1>; #local B[0][3]=A[0][3]; #local B[1][0]=<1,-2*ff,1*ff>; #local B[1][1]=<1.4*ff,-2*ff,3*ff>; #local B[1][2]=<1.8*ff,-2*ff,1.4*ff>; #local B[1][3]=A[1][3]; #local B[2][0]=<1,-3*ff,1*ff>; #local B[2][1]=<1.4*ff,-3*ff,3.4*ff>; #local B[2][2]=<1.8*ff,-3*ff,1.6*ff>; #local B[2][3]=A[2][3]; #local B[3][0]=<1,-4*ff,1*ff>; #local B[3][1]=<1.4,-4*ff,3.6*ff>; #local B[3][2]=<1.8,-4*ff,1.8*ff>; #local B[3][3]=A[3][3]; 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], raio,texture{Rust},texture{Cork})} #local C=array[4][4] #local C[0][0]=<0,0,0.3>; #local C[0][1]=<0.5,0,0.4>; #local C[0][2]=<1,0,0.8>; #local C[0][3]=B[0][0]; #local C[1][0]=<0,-2,0.3*ff>; #local C[1][1]=<0.5,-2,0.4*ff>; #local C[1][2]=<1,-2,0.8*ff>; #local C[1][3]=B[1][0]; #local C[2][0]=<0,-3,0.3*ff>; #local C[2][1]=<0.5,-3,0.4*ff>; #local C[2][2]=<1,-3,0.8*ff>; #local C[2][3]=B[2][0]; #local C[3][0]=<0,-4,0.3>; #local C[3][1]=<0.5,-4,0.4>; #local C[3][2]=<1,-4,0.8>; #local C[3][3]=B[3][0]; 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], raio,texture{Silver_Metal},texture{Yellow_Pine})} #local D=array[4][4] #local D[0][0]=<1,0,0>; #local D[0][1]=<1.25,0,0>; #local D[0][2]=<1.5,0,0>; #local D[0][3]=<2,0,0>; #local D[1][0]=<1,0.2*ff,0.4>; #local D[1][1]=<1.25,0.2*ff,0.4>; #local D[1][2]=<1.50,0.2*ff,0.4>; #local D[1][3]=<1.8,0.2*ff,0.4>; #local D[2][0]=<1,0.2*ff,0.8>; #local D[2][1]=<1.25,0.2*ff,0.8>; #local D[2][2]=<1.50,0.2*ff,0.8>; #local D[2][3]=<1.8,0.2*ff,0.8>; #local D[3][0]=B[0][0]; #local D[3][1]=B[0][1]; #local D[3][2]=B[0][2]; #local D[3][3]=B[0][3]; 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], raio,texture{Silver_Metal},texture{Cork})} #local E=array[4][4] #local E[0][0]=C[0][0]; #local E[0][1]=C[0][1]; #local E[0][2]=C[0][2]; #local E[0][3]=C[0][3]; #local E[1][0]=<0,0*ff,0.2>; #local E[1][1]=<0.25,0*ff,0.2>; #local E[1][2]=<0.5,0*ff,0.2>; #local E[1][3]=D[2][0]; #local E[2][0]=<0,0*ff,0.1>; #local E[2][1]=<0.25,0*ff,0.1>; #local E[2][2]=<0.5,0*ff,0.1>; #local E[2][3]=D[1][0]; #local E[3][0]=<0,0*ff,0>; #local E[3][1]=<0.25,0*ff,0>; #local E[3][2]=<0.5,0*ff,0>; #local E[3][3]=<1,0*ff,0>; 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], raio,texture{Silver_Metal},texture{Cork})} object{retalho( E[0][0],E[0][1],E[0][2],E[0][3], E[1][0],E[1][1],E[1][2],<1,0,0.2>, E[2][0],E[2][1],E[2][2],<1,0,0.1>, E[3][0],E[3][1],E[3][2],E[3][3], raio,texture{Silver_Metal},texture{Cork}) translate y*(-4)} #local F=array[4][4] #local F[0][0]=<1,-4,0>; #local F[0][1]=<2,-4,0>; #local F[0][2]=<3,-4,0>; #local F[0][3]=A[3][3]; #local F[1][0]=<1,-4*ff,0.25>; #local F[1][1]=<1.8,-4*ff,0.25>; #local F[1][2]=<2.4,-4*ff,0.25>; #local F[1][3]=B[3][3]; #local F[2][0]=<1,-4*ff,0.5>; #local F[2][1]=<1.8,-4*ff,0.5>;; #local F[2][2]=<2.4,-4*ff,0.5>;; #local F[2][3]=B[3][3];; #local F[3][0]=B[3][0]; #local F[3][1]=B[3][1]; #local F[3][2]=B[3][2]; #local F[3][3]=B[3][3]; object{retalho( F[0][0],F[0][1],F[0][2],F[0][3], F[1][0],F[1][1],F[1][2],F[1][3], F[2][0],F[2][1],F[2][2],F[2][3], F[3][0],F[3][1],F[3][2],F[3][3], raio,texture{Silver_Metal},texture{Cork})} } #end #macro sofa(ff) union{ object{meio_sofa(ff)} object{meio_sofa(ff) scale <-1,1,1>} } #end union{ object{frente} object{frente translate y*(-2) scale 2} sofa(1.6) translate x*(-3) } union{ object{frente} object{frente translate y*(-2) scale 2} sofa(1) translate x*5 } #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 15.0; #declare dir_camera = < 20, 20, 12 >; #declare dist_camera = 80.0; #declare intens_luz = 1.40; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)