// Last edited on 2003-06-28 13:15:16 by stolfi #include "colors.inc" #include "textures.inc" // arquivo de descricao de cena para POV-ray // Laboratório 1 - MC930 - 1S/2003 // Marcelo Bello RA 992119 background{ color rgb < 0.7, 0.7, 0.7 > } sky_sphere { pigment { gradient y color_map { [0.000 0.002 color rgb <0.0, 0.2, 1.0> color rgb <0.0, 0.2, 1.0>] [0.002 0.200 color rgb <0.0, 0.1, 0.8> color rgb <0.3, 0.2, 0.2>] } scale 2 translate -1 } pigment { bozo turbulence 0.65 octaves 6 omega 0.7 lambda 2 color_map { [0.0 0.1 color rgb <0.85, 0.85, 0.85> color rgb <0.75, 0.75, 0.75>] [0.1 0.5 color rgb <0.75, 0.75, 0.75> color rgbt <1, 1, 1, 1>] [0.5 1.0 color rgbt <1, 1, 1, 1> color rgbt <1, 1, 1, 1>] } scale <0.2, 0.5, 0.2> } rotate -135*x } plane { y, -1.0 pigment { rgb < 0.3, 1.0, 0.3 > } finish { ambient .3 diffuse .7 } } #declare deslocamentoPrego = 0; #declare deslocamentoBloco = 0; #declare teta = 0; #if ( clock <= 0.33 ) #declare cam = < 0.00, 4.00, -10.00 >; #declare ctr = < 0.00, 5.00, 0.00 >; #declare deslocamentoPrego = (clock*3)*3.5; #else #if ( clock > 0.33 & clock <= 0.66 ) #declare cam = < 0.00, 2.50, -8.00 >; #declare ctr = < 0.00, 3.00, 0.00 >; #declare deslocamentoBloco = ((clock-0.33)*3)*1.5; #declare deslocamentoPrego = 3.5 + deslocamentoBloco; #else #declare cam = < 0.00, 2.50, -7.00 >; #declare ctr = < 0.00, 1.50, 0.00 >; #declare deslocamentoBloco = 1.5 + ((clock - 0.66)*3)*2; #declare deslocamentoPrego = deslocamentoBloco + 3.5; #declare teta = ((clock - 0.66)*3)*90; #end #end #declare prego = lathe { cubic_spline 8, < 0, 2.5 >, < 0, 2.4 >, < 1, 2.0 >, < 1, 2.0 >, < 0.4, 1.8 >, < 0, 0.5 >, < 0, 0.0 >, < 0, -2 > } #declare coneAux = difference { cone { < 0.00, 0.000, 0.00 >, 2 < 0.00, 2.001, 0.00 >, 2 } sphere { < 0,1,-2>, 0.5 } // Para enxergar o movimento do cone --stolfi } #declare buracoPrego = difference { object{ coneAux } object{ prego } } #declare blocoAux = box { < -2.50, 0.00, -2.50 >, < 2.50, 2.00, 2.50 > } #declare blocoEncaixe = difference { object{ blocoAux } object{ coneAux } } union { object{ prego pigment{ checker Blue, Cyan scale 0.5 } // Colocado antes do translate --stolfi translate < 0.00, 7.00 - deslocamentoPrego, 0.00 > rotate < 0.00, teta, 0.00 > } object{ buracoPrego translate < 0.00, 3.50 - deslocamentoBloco, 0.00 > texture{ Candy_Cane } // Deveria vir antes do translate ! --stolfi rotate < 0.00, teta, 0.00 > } object{ blocoEncaixe texture{ Aluminum } } } camera { location ctr + 1.25*cam right 1.0*x up 0.75*y sky y look_at ctr } light_source { ctr + 100*vrotate(, -30*y) color 1.2*White } light_source { ctr + 100*vrotate(, +45*y) color 0.7*White } light_source { ctr + 100*vrotate(, +5*y) color 0.6*White }