// Last edited on 2003-06-28 11:19:48 by stolfi // Editado em 22-05-2003 por Evandro Leme da Silva RA:008597 #include "colors.inc" #include "stones.inc" #include "textures.inc" #if (clock < 0.20) #declare cameraX = 0.00; #declare cameraY = 6.00 - 4; #declare cameraZ = 20.0 + 5; #declare combustorX = -6; #declare combustorY = 8; #declare combustorZ = 0; #declare blocoX = 4.75; #declare blocoY = 8; #declare blocoZ = 0; #declare mancalX = 0; #declare mancalY = 3; #declare mancalZ = 0; #declare rotacaoY = 450 * clock; #declare rotacaoZ = 0; #else #if (clock < 0.40) #declare cameraX = 0.00; #declare cameraY = 6.00 - 4; #declare cameraZ = 20.0 + 5; #declare combustorX = -6 + (30 * (clock - 0.20)); #declare combustorY = 8; #declare combustorZ = 0; #declare blocoX = 4.75 - (20 * (clock - 0.20));; #declare blocoY = 8; #declare blocoZ = 0; #declare mancalX = 0; #declare mancalY = 3; #declare mancalZ = 0; #declare rotacaoY = 90; #declare rotacaoZ = 0; #else #if (clock < 0.60) #declare cameraX = 0.00; #declare cameraY = 6.00 - 4; #declare cameraZ = 20.0 + 5; #declare combustorX = 0; #declare combustorY = 8; #declare combustorZ = 0; #declare blocoX = 0.75 - (3.75 * (clock - 0.40)); #declare blocoY = 8 + (3.75 * (clock - 0.40));; #declare blocoZ = 0; #declare mancalX = 0; #declare mancalY = 3; #declare mancalZ = 0; #declare rotacaoY = 90; #declare rotacaoZ = 450 * (clock - 0.40); #else #if (clock < 0.80) #declare cameraX = 0.00; #declare cameraY = 6.00 - 4; #declare cameraZ = 20.0 + 5; #declare combustorX = 0; #declare combustorY = 8 - (20 * (clock - 0.60)); #declare combustorZ = 0; #declare blocoX = 0; #declare blocoY = 8.75 - (20 * (clock - 0.60)); #declare blocoZ = 0; #declare mancalX = 0; #declare mancalY = 3 + (10 * (clock - 0.60)); #declare mancalZ = 0; #declare rotacaoY = 90; #declare rotacaoZ = 90; #else #declare cameraX = 0.00 - (20 * (clock - 0.80)); #declare cameraY = 6.00 - 4 - (30 * (clock - 0.80));; #declare cameraZ = 20.0 + 5 - (40 * (clock - 0.80));; #declare combustorX = 0; #declare combustorY = 4; #declare combustorZ = 0; #declare blocoX = 0; #declare blocoY = 4.75; #declare blocoZ = 0; #declare mancalX = 0; #declare mancalY = 5; #declare mancalZ = 0; #declare rotacaoY = 90; #declare rotacaoZ = 90; #end #end #end #end background { color Gray80 } #declare ctr = < 0.00, (mancalY+combustorY)/2+1.5, 0.00>; camera { location ctr + 0.90* right -1.0*x up 0.75*y sky y look_at ctr } light_source { 100*vrotate(, +45*y) color 1.2*White } light_source { 100*vrotate(, -60*y) color 0.8*White } light_source { 100*vrotate(, +5*y) color 0.6*White } #declare chao = plane { <0,1,0>, -5 pigment { checker Gray70,Gray90 scale 10 } } #declare labelA = text { ttf "gothic.ttf" "A" 0.1, 0.0 pigment {Red} } #declare EsbocoCombustorPiloto = difference { cylinder { <0.00, 0.00, 2.00>, <0.00, 0.00, -2.00>, 2.00 } cylinder { <0.00, 0.00, 2.50>, <0.00, 0.00, -2.50>, 1.00 } pigment {checker IndianRed, Orange scale 0.5} } #declare CombustorPiloto = union { object { labelA rotate <0,90,0> translate <-1,2.2,0> } object { EsbocoCombustorPiloto } } #declare labelB = text { ttf "gothic.ttf" "B" 0.1, 0.0 pigment {Red} } #declare EsbocoBlocoRotativo = union { lathe { linear_spline 6, <0.00, 0.00>, <0.50, 0.14>, <0.86, 0.50>, <1.00, 1.00>, <1.00, 5.00>, <0.00, 5.00> } difference { sphere { <0.00, 5.00, 0.00>, 2.50 } box { <-3.00, +2.00, -3.00>, <+3.00, +5.00, +3.00> } } pigment {checker Cyan, Blue scale 0.5} rotate <0,0,-90> translate <-3.75,0,0> } #declare BlocoRotativo = union { object { labelB translate <4,0,0> } object { EsbocoBlocoRotativo } } #declare labelC = text { ttf "gothic.ttf" "C" 0.1, 0.0 pigment {Red} } #declare EsbocoMancalBasculanteInferior = difference { prism { linear_sweep linear_spline -1.00, +1.00, 7, <+3.00, 0.00>, <+1.50, +2.60>, <-1.50, +2.60>, <-3.00, 0.00>, <-1.50, -2.60>, <+1.50, -2.60>, <+3.00, 0.00> } cylinder { <0.00, -1.50, 0.00>, <0.00, +1.50, 0.00>, 2.00 } pigment { color 0.8*Green } } #declare MancalBasculanteInferior = union { object { labelC translate <3.4,0,0> } object { EsbocoMancalBasculanteInferior } } union { object { chao } object { CombustorPiloto rotate <0, rotacaoY,0> rotate <0, 0, rotacaoZ> translate } object { BlocoRotativo rotate <0, 0, rotacaoZ> translate } object { MancalBasculanteInferior translate } }