// Last edited on 2004-03-14 23:21:02 by stolfi #include "colors.inc" #include "metals.inc" #include "golds.inc" #include "stones1.inc" #include "textures.inc" #declare ctr = < 0.00, 0.00, 0.00 >; #declare camDir = < 1.50, 1.0, 15.0 >; camera { location ctr + 1.00*camDir right -0.80*x up 0.60*y sky y look_at ctr } light_source { //fonte de luz < 0.00, 10.00, 0.00 > color rgb < 1.00, 1.00, 1.0 > } light_source { //fonte de luz < 0.00, 0.00, 0.00 > color rgb 3*< 1.00, 1.00, 1.00 > } background{ color rgb < 0.8,0.9,1.5 > } #declare cor_cristal = < 0.8,0.9,1.5>; #declare cristal = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal filter 1} } #declare cor_piso = texture{ pigment {color Brown} finish { diffuse 0.9 specular 0.5 roughness 0.005 ambient 0.1 } } #if (clock <= 0.5) #declare rotacao = 360*clock; #declare translacao = -7*clock; #else #declare rotacao = 360*clock; #declare translacao = -10*clock; #end #if ( clock <= 4/7 ) #declare posicao = 0; #declare tamanho = 0; #else #declare posicao = 0 - 10*( (clock - 4/7)/(1-4/7) ); #declare tamanho = (clock - 4/7)/(1-4/7); #end #declare anuncio_1 = text { ttf "latinwd.ttf" "Seja campeao nessa" 0.2, 0 } #declare anuncio_2 = text { ttf "latinwd.ttf" "corrida!" 0.2, 0 } #declare parte_1 = cone { <0,0,0>, 2.5 <0,-.5,0>, 1.6 pigment { color LightBlue } //texture { cristal } } #declare parte_2 = cylinder { <0,0.01,0>, <0,0,0>, 1.6 texture { cristal } interior {ior 1.5} //pigment { color LightBlue } } #declare prato = union { object {parte_1} object {parte_2} } #declare chao = plane { y, -3.5 pigment { Brown} } #declare carro_esq = prism { cubic_spline 0, // sweep the following shape from here ... 1, // ... up through here 6, // the number of points making up the shape ... < -4, 0>, // point#1 (control point... not on curve) < -3, 0>, // point#2 ... THIS POINT ... < -3.5, -3>,// point#3 < -4, 0>, // point#4 < -3, 0>, // point#5 ... MUST MATCH THIS POINT <-3.5, -3> // point#6 (control point... not on curve) pigment { Yellow } translate -3.5*y } #declare carro_dir = prism { cubic_spline 0, // sweep the following shape from here ... 1, // ... up through here 6, // the number of points making up the shape ... < 4.5, 0>, // point#1 (control point... not on curve) < 3.5, 0>, // point#2 ... THIS POINT ... < 4, -3>,// point#3 < 4.5, 0>, // point#4 < 3.5, 0>, // point#5 ... MUST MATCH THIS POINT < 4, -3> // point#6 (control point... not on curve) pigment { Red } translate -3.5*y } #declare carro_centro = prism { cubic_spline 0, // sweep the following shape from here ... 1, // ... up through here 6, // the number of points making up the shape ... < -0.5, 0>, // point#1 (control point... not on curve) < 0.5, 0>, // point#2 ... THIS POINT ... < 0, -3>,// point#3 < -0.5, 0>, // point#4 < 0.5, 0>, // point#5 ... MUST MATCH THIS POINT < 0, -3> // point#6 (control point... not on curve) pigment { Green } translate -3.5*y } #declare pilar_esq = lathe { linear_spline 4, <0.5,2+4*clock>, <1,1+clock>, <0.5,0 - clock>, <1,-3.5> //, <0.5,-1*clock>, <1,-2*clock>, <0.5,-3.5> pigment { Blue } finish { ambient .3 phong .75 } translate -6*x translate -30*z } #declare pilar_dir = lathe { linear_spline 4, <0.5,2+4*clock>, <1,1+clock>, <0.5,0 - clock>, <1,-3.5> //, <0.5,-1*clock>, <1,-2*clock>, <0.5,-3.5> pigment { Blue } finish { ambient .3 phong .75 } translate 6*x translate -30*z } #declare teto = cylinder { <6,1.2+4*clock,-30>, <-6,1.2+4*clock,-30>, 0.8 pigment { Blue } } object {teto} object {pilar_esq} object {pilar_dir} object {carro_esq translate 8*translacao*z} object {carro_dir translate 10*translacao*z} object {carro_centro translate 9*translacao*z} object {chao} object {prato rotate translate 4*translacao*z} #if ( tamanho != 0 ) object { anuncio_1 scale <1,3,1> scale tamanho translate pigment { color Bronze } } #end #if ( tamanho != 0 ) object { anuncio_2 scale <1,3,1> scale tamanho translate pigment { color Bronze } } #end