// ====================================================================== // LABORATÓRIO 10 - COMPUTAÇÃO GRÁFICA // AVIÃO // RAFAEL LAMARE SILVEIRA 009669 // ====================================================================== #include "colors.inc" #declare semente = seed(492); // Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-09-04 15:25:26 by stolfi // ====================================================================== // CÂMERA camera { location < 0.00, -20.00, -10.00 > // Posição do observador. right -1.0*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. sky -y // Qual direção é "para cima"? look_at < 3, 1, 8 > // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } global_settings {assumed_gamma 1.0} background {rgb <1,0.9,0.9>} //camera {location <1.6,5,-6> look_at <1.5,0,1.5> angle 40} #declare cor_espelho = <0.8, 0.8, 0.3> ; #declare tx_espelho = texture { pigment { color rgb <1.00, 1.00, 1.00> } finish { ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.20 roughness 0.05 metallic } } // ====================================================================== // OBJETOS // Curvaturas usadas para deformar as asas #declare curvatura1 = 1; #declare curvatura2 = -1; #declare curvatura3 = 2; #declare curvatura4 = -0.8; // Declarações dos pontos da spline superior da asa #declare B11=<0,curvatura1,6>; #declare B12=<1,curvatura2,6>; // #declare B13=<2,curvatura3,6>; #declare B14=<3,0,6>; // row 1 #declare B21=<0,curvatura1,4>; #declare B22=<1,curvatura2,4>; // #declare B23=<2,curvatura3,4>; #declare B24=<3,0,4>; // row 2 #declare B31=<0,curvatura1,2>; #declare B32=<1,curvatura2,2>; // #declare B33=<2,curvatura3,2>; #declare B34=<3,0,2>; // row 3 #declare B41=<0,0,0>; #declare B42=<1,0,0>; // #declare B43=<2,0,0>; #declare B44=<3,0,0>; // row 4 //parte de cima da asa #declare superior = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> B11, B12, B13, B14 B21, B22, B23, B24 B31, B32, B33, B34 B41, B42, B43, B44 uv_mapping texture { pigment { checker Red Black scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } // Declarações dos pontos da spline inferior da asa #declare B11=<0,curvatura1,6>; #declare B12=<1,curvatura4,6>; // #declare B13=<2,curvatura4,6>; #declare B14=<3,0,6>; // row 1 #declare B21=<0,curvatura1,4>; #declare B22=<1,curvatura4,4>; // #declare B23=<2,curvatura4,4>; #declare B24=<3,0,4>; // row 2 #declare B31=<0,curvatura1,2>; #declare B32=<1,curvatura4,2>; // #declare B33=<2,curvatura4,2>; #declare B34=<3,0,2>; // row 3 #declare B41=<0,0,0>; #declare B42=<1,0,0>; // #declare B43=<2,0,0>; #declare B44=<3,0,0>; // row 4 //parte de baixo da asa #declare inferior = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> B11, B12, B13, B14 B21, B22, B23, B24 B31, B32, B33, B34 B41, B42, B43, B44 uv_mapping texture { pigment { checker Blue Green scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } // curvatura usada deformar a helice #declare curvatura5 = 3; // Declarações dos pontos da spline da hélice #declare B11=<.5,0,1.5>; #declare B12=<.1,0,1.5>; // #declare B13=<.2,0,1.5>; #declare B14=<.3,0,1.5>; // row 1 #declare B21=<0,0,1>; #declare B22=<.1,0,1>; // #declare B23=<.2,0,1>; #declare B24=<.3,0,1>; // row 2 #declare B31=<0,0,0.5>; #declare B32=<.1,0,0.5>; // #declare B33=<.2,0,0.5>; #declare B34=<.3,0,0.5>; // row 3 #declare B41=<0,0,0>; #declare B42=<.1,0,0>; // #declare B43=<.2,0,.50>; #declare B44=<.3,0,0>; // row 4 // Helice da asa #declare helice = union { bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> B11, B12, B13, B14 B21, B22, B23, B24 B31, B32, B33, B34 B41, B42, B43, B44 uv_mapping texture { pigment { Black } finish {phong 0.6 phong_size 20} } no_shadow rotate <-90,90,0> scale <3,3,3> } cylinder { <0,2,-1.5>, <0,2,2>, 0.2 pigment { Blue } } } // Asa completa #declare asa = union { object { superior } object { inferior } } #declare asa_voadora = union { object { asa } object { helice rotate <0,90,0> translate <-2,-0.5,2> } } // Duas asas unidas #declare duas_asas = union { object { asa_voadora } object { asa_voadora scale <0,0,-1> translate <0,0,15> } } // Avião completo union { object { duas_asas scale <1.5,1.5,1.5> } cylinder { <-4,0,11> <15,0,11> 2.5 texture { tx_espelho } } sphere { <-4,0,11> 2.5 pigment { Red } } sphere { <15,0,11> 2.5 texture { tx_espelho } } }