// Last edited on 2009-11-23 17:18:50 by stolfilocal // Processed by remove-cam-lights #macro eixo(ponta,cor,nome) union{ sphere{ <0,0,0>, 0.02 } cylinder{ <0,0,0>, 0.91*ponta, 0.02 } cone{ 0.90*ponta, 0.06, ponta, 0.00 } texture{ pigment{ color rgb cor } finish{ ambient 0.5 diffuse 0.5 } } } #end #macro eixos(tamanho) union{ object{ eixo( , <1.0,0.2,0.2>, "X") } object{ eixo( <0,tamanho,0>, <0.0,0.8,0.0>, "Y") } object{ eixo( <0,0,tamanho>, <0.3,0.3,1.0>, "Z") } } #end #include "nuvens.inc" #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_laranja = texture{ pigment{ color rgb < 1.00, 0.50, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_branca = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_rosa = texture{ pigment{ color rgb < 1.00, 0.50, 0.50 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_metal = texture{ pigment{ color rgb < 0.50, 0.50, 0.50 > } finish{ diffuse 1 ambient 0.1 reflection 0.05 specular 0.8 roughness 0.005 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.90, 0.70 > } finish{ diffuse 0.1 reflection 0.8*< 1.00, 0.90, 0.70 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.97, 0.98, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } union{ #declare piso = box{ < 5, 5, 0 >, < -5,-5, -0.5 > texture {tx_fosca_branca} } #declare teto = box{ < 5, 5, 6 >, < -5,-5, 6.5 > texture {tx_fosca_branca} } #macro paredes() union{ object { box{ < -5, 5, 0 >, < -5,-5, 6.5 > }} texture {tx_espelho} } #end #macro escadas() union{ box{ < 6, -5, -0.5 >, < 5,5, -1 > } box{ < 7, -5, -1 >, < 6,5, -1.5 > } box{ < 8, -5, -1.5 >, < 7,5, -2 > } texture {tx_fosca_branca} } #end #macro VasoDecorativo(tx, ty, tz) #local a11 = <2, 0>; #local a12 = <7, 3>; #local a13 = <0, 4>; #local a22 = <4, 7>; #local a23 = <0, 8>; #local a14 = (a13 + a22)/2 ; #local a21 = a14; #local a32 = <5, 10>; #local a33 = <0, 11>; #local a34 = <5, 14>; #local a24 = (a23 + a32)/2 ; #local a31 = a24; #local a42 = <5, 15>; #local a43 = <0, 17>; #local a44 = <0, 18>; #local a34 = (a33 + a42)/2 ; #local a41 = a34; union{ lathe{bezier_spline 16, a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44 texture {tx_fosca} } rotate 90*x scale 0.2 translate } #end #macro colunaA(tx, ty, tz) #local a11 = <2, 0>; #local a12 = <4, 3>; #local a13 = <0, 6>; #local a22 = <4, 9>; #local a23 = <0, 12>; #local a14 = (a13 + a22)/2 ; #local a21 = a14; #local a32 = <4, 15>; #local a33 = <0, 18>; #local a24 = (a23 + a32)/2 ; #local a31 = a24; #local a42 = <3, 21>; #local a43 = <0, 24>; #local a34 = (a33 + a42)/2 ; #local a41 = a34; #local a52 = <4, 36>; #local a53 = <0,39>; #local a44 = (a43 + a52)/2 ; #local a51 = a44; #local a54 = <3,42>; union{ lathe{bezier_spline 16, a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44 texture {tx_fosca_branca} } rotate 90*x scale <0.2,0.2,0.2> translate } #end #macro colunaB(tx, ty, tz) #local b12 = <-1, -1>; #local b13 = <2, -3>; #local b22 = <0.5,-0.5 >; #local b23 = <3, 0.5>; #local b14 = (b13 + b22)/2 ; #local b21 = b14; #local b32 = <1, 1>; #local b33 = <0, 4>; #local b24 = (b23 + b32)/2 ; #local b31 = b24; #local b42 = <-1, 1>; #local b43 = <-3, 0.5>; #local b34 = (b33 + b42)/2 ; #local b41 = b34; #local b52 = <-0.5, -1>; #local b53 = <-2,-3>; #local b44 = (b43 + b52)/2 ; #local b51 = b44; #local b54 = (b53 + b12)/2 ; #local b11 =b54; union{ prism{linear_sweep bezier_spline 0.0 18.0 20, b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, b51, b52, b53, b54 texture {tx_metal} } rotate 90*x scale <0.18,0.18,0.35> translate } #end #macro colunaC(tx, ty, tz) #local a11 = <4, 0>; #local a12 = <1, 1.5>; #local a13 = <3, 2.5>; #local a22 = <0, 5>; #local a23 = <3, 6>; #local a14 = (a13 + a22)/2 ; #local a21 = a14; #local a32 = <1, 8>; #local a33 = <0, 9>; #local a34 = <3, 12>; #local a24 = (a23 + a32)/2 ; #local a31 = a24; #local a42 = <5, 13>; #local a43 = <0, 15>; #local a44 = <3, 16>; #local a34 = (a33 + a42)/2 ; #local a41 = a34; union{ lathe{bezier_spline 16, a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44 texture {tx_fosca_rosa} } rotate 90*x scale <0.2,0.2,0.4> translate } #end union{ object {colunaA(0,4,0) } object {colunaA(0,-4,0)} object {colunaC(2,4,0) } object {colunaC(2,-4,0)} object {colunaC(-2,4,0) } object {colunaC(-2,-4,0) } object {colunaB(4.5,4.5,0) } object {colunaB(-4.5,4.5,0) } object {colunaB(4.5,-4.5,0) } object {colunaB(-4.5,-4.5,0) } object {piso} object {teto} object {paredes()} object {escadas()} object {VasoDecorativo(-1,1.5,0) } object {VasoDecorativo(-1,-1.5,0)} scale 0.5 } } // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_loc = <14.00,7.00,7.00> // #local cam_vec = <14.00,7.00,7.00> // #local cam_sky = z #include "camlight.inc" camlight(<0,0,1>,6.20,<10,6,2>,30.00,z,1.2)