// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 1, 1, 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_gray = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } } #declare tx_red = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } } #declare raio = 1.000; #declare wheel = torus{ 0.8*raio, 0.4*raio texture{ tx_gray } } #declare bottom = box { <-1,-1,0> <1,1,-1> texture{ tx_red } } #declare side = box { <-1,-1.5,0.5> <1,-1,-1> texture{ tx_red } } #declare top = box { <-1,-1,2> <-0.5,1,0> texture{ tx_red } } #declare pedal = union { object { cylinder { <1,0.5,-0.75>, <2,0.5,-0.75>, 0.15 texture{ tx_gray } } } object { cylinder { <1.85,0.5,-0.75>, <1.85,0.5, -0.25>, 0.15 texture{ tx_gray } } } object { box { <1.7,0.25,-0.25>, <2,0.75, -0.15> texture{ tx_red } } } } #macro half_sofa (inflation) #local k = inflation/4; union{ #local A = array[4][4]; #local A[0][0] = <(1.5)/2,0,(-0.3)/2>; #local A[0][1] = <(1.5+k)/2,0.5,(k-0.3)/2>; #local A[0][2] = <(1.5+k)/2,0.5,(k-0.3)/2>; #local A[0][3] = <(1.5)/2,1,(-0.3)/2>; #local A[1][0] = <0.5,0,0>; #local A[1][1] = <0.5,0.5,0+k>; #local A[1][2] = <0.5,0.5,0+k>; #local A[1][3] = <0.5,1,0>; #local A[2][0] = <0,0,0>; #local A[2][1] = <0,0.5,0+k>; #local A[2][2] = <0,0.5,0+k>; #local A[2][3] = <0,1,0>; #local A[3][0] = <-0.5,0,0>; #local A[3][1] = <-0.5,0.5,0>; #local A[3][2] = <-0.5,0.5,0>; #local A[3][3] = <-0.5,1,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], 0.0001, tx_gray, tx_red) } #local B = array[4][4]; #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[1][0] = <-0.5,0,0.3>; #local B[1][1] = <-0.5+k,0.5,0.3>; #local B[1][2] = <-0.5+k,0.5,0.3>; #local B[1][3] = <-0.5,1,0.3>; #local B[2][0] = <-0.5,0,0.6>; #local B[2][1] = <-0.5,0.5,0.6>; #local B[2][2] = <-0.5,0.5,0.6>; #local B[2][3] = <-0.5,1,0.6>; #local B[3][0] = <-0.5,0,1>; #local B[3][1] = <-0.5,0.5,1>; #local B[3][2] = <-0.5,0.5,1>; #local B[3][3] = <-0.5,1,1>; 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.0001, tx_gray, tx_red) } 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.0001, tx_gray, tx_red) translate <0,0,1> } #local C = array[4][4]; #local C[0][0] = A[0][0]; #local C[0][1] = A[0][1]; #local C[0][2] = A[0][2]; #local C[0][3] = A[0][3]; #local C[1][0] = <1,0,-0.3>; #local C[1][1] = <1+k,0.5,-0.3>; #local C[1][2] = <1+k,0.5,-0.3>; #local C[1][3] = <1,1,-0.3>; #local C[2][0] = <1,0,-0.6>; #local C[2][1] = <1+k,0.5,-0.6>; #local C[2][2] = <1+k,0.5,-0.6>; #local C[2][3] = <1,1,-0.6>; #local C[3][0] = <1,0,-1>; #local C[3][1] = <1,0.5,-1>; #local C[3][2] = <1,0.5,-1>; #local C[3][3] = <1,1,-1>; 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_gray, tx_red) } #local D = array[4][4]; #local D[0][0] = <-0.5,0,2>; #local D[0][1] = <-0.5,0.5,2>; #local D[0][2] = <-0.5,0.5,2>; #local D[0][3] = <-0.5,1,2>; #local D[1][0] = <-0.63,0,2>; #local D[1][1] = <-0.63,0.5,2+k>; #local D[1][2] = <-0.63,0.5,2+k>; #local D[1][3] = <-0.63,1,2>; #local D[2][0] = <-0.86,0,2>; #local D[2][1] = <-0.86,0.5,2+k>; #local D[2][2] = <-0.86,0.5,2+k>; #local D[2][3] = <-0.86,1,2>; #local D[3][0] = <-1,0,2>; #local D[3][1] = <-1,0.5,2>; #local D[3][2] = <-1,0.5,2>; #local D[3][3] = <-1,1,2>; 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.0001, tx_gray, tx_red) } } #end #macro half_arm (inflation) #local k = inflation/4; union{ #local C = array[4][4]; #local C[0][0] = <1,1.5,0.5>; #local C[0][1] = <1,1.25,0.5>; #local C[0][2] = <1,1.25,0.5>; #local C[0][3] = <1,1,0.5>; #local C[1][0] = <0.83,1.5,0.5>; #local C[1][1] = <0.83,1.25,0.5+k>; #local C[1][2] = <0.83,1.25,0.5+k>; #local C[1][3] = <0.83,1,0.5>; #local C[2][0] = <0.63,1.5,0.5>; #local C[2][1] = <0.63,1.25,0.5+k>; #local C[2][2] = <0.63,1.25,0.5+k>; #local C[2][3] = <0.63,1,0.5>; #local C[3][0] = <0.5,1.5,0.5>; #local C[3][1] = <0.5,1.25,0.5>; #local C[3][2] = <0.5,1.25,0.5>; #local C[3][3] = <0.5,1,0.5>; 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_gray, tx_red) } 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_gray, tx_red) translate <-0.5,0,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], 0.0001, tx_gray, tx_red) translate <-1,0,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], 0.0001, tx_gray, tx_red) translate <-1.5,0,0> } } #end #include "eixos.inc" #include "retalho.inc" object{ eixos(3.00) } union { object{ wheel translate <0,-2,0>} object{ wheel translate <0,2,0>} object{ bottom } object{ side } object{ side translate <0,2.5,0>} object{ top } object { half_sofa(4) } object { half_arm(3) } object { half_sofa(4) translate <0,-1,0> } object { half_arm(3) translate <0,-2.5,0> } object { pedal } object { pedal translate <0,-1,0> } translate <0,-3,0> } union { object{ wheel translate <0,-2,0>} object{ wheel translate <0,2,0>} object{ bottom } object{ side } object{ side translate <0,2.5,0>} object{ top } object { half_sofa(0) } object { half_arm(0) } object { half_sofa(0) translate <0,-1,0> } object { half_arm(0) translate <0,-2.5,0> } object { pedal } object { pedal translate <0,-1,0> } translate <0,3,0> } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 10.0; #declare dir_camera = < 100.01, 100.01, 100.01 >; #declare dist_camera = 30.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)