#include "colors.inc" background{ color rgb < 0.10, 0.80, 0.80 > } light_source { < 10.00, 5.00, 10.00 > color rgb < 1.00, 1.00, 1.00 > } light_source { < 5.00, 5.00, 20.00 > color rgb < 1.20, 1.20, 1.20 > } light_source { < -10.00, -5.00, 10.00 > color rgb < 1.00, 1.00, 1.00 > } camera { location < 15.00, 4.0, 20.00 > right < 2.40, 0.00, 0.00 > up < 0.00, 0.00, 1.80 > sky < 0.00, 5.00, 3.00 > look_at < 0.00, 0.00, 0.00 > rotate < 30.00, 0.00, 0.00 > } #declare textura_1 = texture { scale 0.03 pigment { Gray50 } finish { ambient .2 diffuse .6 specular .75 roughness .001 } } #declare textura_2 = texture { scale 0.03 pigment { Gray50 } finish { ambient .2 diffuse .6 specular .75 roughness .001 reflection 0.5 } } #declare lado1 = box { <0.1, 2.5, 0>, <-0.1, -2.5, 10> texture { textura_1 } } #declare lado2 = box { <2.5, 0.1, 0>, <-2.5, -0.1, 10> texture { textura_1 } } #declare base1 = box { <2.4, 2.4, 0> <-2.4, -2.4, 0.2> texture { textura_1 } } #declare cilindro = cylinder { <5, 1.5, 8>, <0, 1.5, 8>, 4 } #declare lgaveta = box { <2.5, 0.1, 2.6> <-2.3, -0.1, 0.2> texture { textura_1 } } #declare bgaveta = box { <2.5, 2.3,0.4> <-2.3, -2.3,0.2> texture { textura_1 } } #declare fgaveta = box { <2.5, 2.3, 0.2 >, <2.3, -2.3, 2.6 > texture { textura_1 } } #declare puxador = sphere { <2.8,0,1.4 >, 0.3 texture { textura_2} } plane {z,-1 texture { pigment { color <.85, .5, .15> } finish { ambient .25 diffuse .6 crand .5 } normal { ripples .35 turbulence .25 frequency 5 } scale 10 translate 50*x } } // porta canetas: union { object { lado1 translate <2.4, -4.5,0> } object { lado1 translate <-2.4, -4.5,0> } object { lado2 translate <0, -1.9, 0> } object { lado2 translate <0, -6.9, 0> } object { base1 translate <0, -4.5, 0> } } // porta clipes: union { object { lado1 scale <0.6, 0.8, 0.8> translate <-2.4,0,0> } object { base1 scale <0.6, 0.8, 0.8> translate <-0.5,0,0> } } difference { object { lado1 scale <1, 0.8, 0.8> translate <1.4, 0,0> } object { cilindro } } //porta gavetas: union { object { lado1 translate <-2.4, 4.5,0> } object { lado2 translate <0, 1.9, 0> } object { lado2 translate <0, 6.9, 0> } object { base1 translate <0, 4.4, 0> } object { base1 translate <0, 4.4, 9.9> } } //gavetas: union{ object { bgaveta translate <2.3, 4.5, 0> } object { lgaveta translate <2.3, 2.3, 0> } object { lgaveta translate <2.3, 6.8, 0> } object { fgaveta translate <2.3, 4.5, 0> } object { puxador translate <2.3, 4.5, 0> } } union{ object { bgaveta translate <0.1, 4.5, 2.4> } object { lgaveta translate <0.1, 2.3, 2.4> } object { lgaveta translate <0.1, 4.8, 2.4> } object { fgaveta translate <0.1, 4.5, 2.4> } object { puxador translate <0.1, 4.5, 2.4> } } union{ object { bgaveta translate <0, 4.5, 4.8> } object { lgaveta translate <0, 2.3, 4.8> } object { lgaveta translate <0, 6.8, 4.8> } object { fgaveta translate <0, 4.5, 4.8> } object { puxador translate <0, 4.5, 4.8> } } union{ object { bgaveta translate <1.5, 4.5, 7.2> } object { lgaveta translate <1.5, 2.3, 7.2> } object { lgaveta translate <1.5, 6.8, 7.2> } object { fgaveta translate <1.5, 4.5, 7.2> } object { puxador translate <1.5, 4.5, 7.2> } }