//------------------ ATENCAO ------------------------------// // Serao exibidas no maximo 10 barras verticais devido // // a limitacoes do proprio Prolog quando trata de leitura // // de arquivos. // //---------------------------------------------------------// #include "colors.inc" #include "metals.inc" #include "golds.inc" #include "stones1.inc" #include "textures.inc" background{ color rgb < 0.8,0.9,1.5 > } //background{ color rgbf < 0.9,0.9,0.8,1 > } //background{ color rgb < 1,1,1 > } //background {color MediumBlue } //definicao da camera camera { //location < 1, 1, 10 > location < 1, -3, 10 > //location < 10.0, 0.00, 1.00 > right < -0.60, 0.00, 0.00 > up < 0.00, 0.00, 0.80 > sky < 0.00, 1.00, 0.00 > look_at < 0.00, 1.00, 0.00 > } // ====================================================================== // FONTES DE LUZ light_source { 20*< -10.0, 0.0, 0.0 > // Posição da lâmpada. color rgb 2.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 20*< 10.0, 0.0, 0.0 > // Posição da lâmpada. color rgb 2.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA // OBJETOS /// // Frente #declare A11=<-2,2,0>; #declare A12=<-1,2,0>; #declare A13=<1,2,0>; #declare A14=<2,2,0>; // row 1 #declare A21=<-2.3,1,0>; #declare A22=<-1,1,0.5>; // #declare A23=<1,1,0.5>; #declare A24=<2.3,1,0>; // row 2 #declare A31=<-2.3,0,0>; #declare A32=<-1,0,0.5>; // #declare A33=<1,0,0.5>; #declare A34=<2.3,0,0>; // row 3 #declare A41=<-2,-1,0>; #declare A42=<-1,-1,0>; // #declare A43=<1,-1,0>; #declare A44=<2,-1,0>; // row 4 // Cima #declare B11=<-2,2,0>; #declare B12=<-1,2,0>; #declare B13=<1,2,0>; #declare B14=<2,2,0>; // row 1 #declare B21=<-2,2,-1/3>; #declare B22=<-1,2.3,-1/3>; // #declare B23=<1,2.3,-1/3>; #declare B24=<2,2,-1/3>; // row 2 #declare B31=<-2,2,-2/3>; #declare B32=<-1,2.3,-2/3>; // #declare B33=<1,2.3,-2/3>; #declare B34=<2,2.3,-2/3>; // row 3 #declare B41=<-2,2,-1>; #declare B42=<-1,2,-1>; // #declare B43=<1,2,-1>; #declare B44=<2,2,-1>; // row 4 // Baixo #declare C11=<-2,-1,0>; #declare C12=<-1,-1,0>; #declare C13=<1,-1,0>; #declare C14=<2,-1,0>; // row 1 #declare C21=<-2,-1,-1/3>; #declare C22=<-1,-1.3,-1/3>; // #declare C23=<1,-1.3,-1/3>; #declare C24=<2,-1,-1/3>; // row 2 #declare C31=<-2,-1,-2/3>; #declare C32=<-1,-1.3,-2/3>; // #declare C33=<1,-1.3,-2/3>; #declare C34=<2,-1.3,-2/3>; // row 3 #declare C41=<-2,-1,-1>; #declare C42=<-1,-1,-1>; // #declare C43=<1,-1,-1>; #declare C44=<2,-1,-1>; // row 4 // Atras #declare D11=<-2,2,-1>; #declare D12=<-1,2,-1>; #declare D13=<1,2,-1>; #declare D14=<2,2,-1>; // row 1 #declare D21=<-2.3,1,-1>; #declare D22=<-1,1,-1.5>; // #declare D23=<1,1,-1.5>; #declare D24=<2.3,1,-1>; // row 2 #declare D31=<-2.3,0,-1>; #declare D32=<-1,0,-1.5>; // #declare D33=<1,0,-1.5>; #declare D34=<2.3,0,-1>; // row 3 #declare D41=<-2,-1,-1>; #declare D42=<-1,-1,-1>; // #declare D43=<1,-1,-1>; #declare D44=<2,-1,-1>; // row 4 // Direito #declare E11=<2,2,0>; #declare E12=<2,2,-1/3>; #declare E13=<2,2.3,-2/3>; #declare E14=<2,2,-1>; // row 1 #declare E21=<2,1,0>; #declare E22=<2.3,1,-1/3>; // #declare E23=<2.3,1,-2/3>; #declare E24=<2,1,-1>; // row 2 #declare E31=<2,0,0>; #declare E32=<2.3,0,-1/3>; // #declare E33=<2.3,0,-2/3>; #declare E34=<2,0,-1>; // row 3 #declare E41=<2,-1,0>; #declare E42=<2,-1,-1/3>; // #declare E43=<2,-1.3,-2/3>; #declare E44=<2,-1,-1>; // row 4 // Esquerdo #declare F11=<-2,2,0>; #declare F12=<-2,2,-1/3>; #declare F13=<-2,2,-2/3>; #declare F14=<-2,2,-1>; // row 1 #declare F21=<-2,1,0>; #declare F22=<-2.3,1,-1/3>; // #declare F23=<-2.3,1,-2/3>; #declare F24=<-2,1,-1>; // row 2 #declare F31=<-2,0,0>; #declare F32=<-2.3,0,-1/3>; // #declare F33=<-2.3,0,-2/3>; #declare F34=<-2,0,-1>; // row 3 #declare F41=<-2,-1,0>; #declare F42=<-2,-1,-1/3>; // #declare F43=<-2,-1,-2/3>; #declare F44=<-2,-1,-1>; // row #declare frente = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> A11, A12, A13, A14 A21, A22, A23, A24 A31, A32, A33, A34 A41, A42, A43, A44 uv_mapping texture { pigment { checker color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare PointsA=array[16]{ A11, A12, A13, A14 A21, A22, A23, A24 A31, A32, A33, A34 A41, A42, A43, A44 } #declare I=0; #while (I<16) sphere { PointsA[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end #declare cima = 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 color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare baixo = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> C11, C12, C13, C14 C21, C22, C23, C24 C31, C32, C33, C34 C41, C42, C43, C44 uv_mapping texture { pigment { checker color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare atras = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> D11, D12, D13, D14 D21, D22, D23, D24 D31, D32, D33, D34 D41, D42, D43, D44 uv_mapping texture { pigment { checker color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare direito = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> E11, E12, E13, E14 E21, E22, E23, E24 E31, E32, E33, E34 E41, E42, E43, E44 uv_mapping texture { pigment { checker color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare esquerdo = bicubic_patch { type 1 flatness 0.001 u_steps 4 v_steps 4 uv_vectors <0,0> <1,0> <1,1> <0,1> F11, F12, F13, F14 F21, F22, F23, F24 F31, F32, F33, F34 F41, F42, F43, F44 uv_mapping texture { pigment { checker color OldGold color OldGold scale 1/3 } finish {phong 0.6 phong_size 20} } no_shadow } #declare PointsB=array[16]{ B11, B12, B13, B14 B21, B22, B23, B24 B31, B32, B33, B34 B41, B42, B43, B44 } #declare I=0; #while (I<16) sphere { PointsB[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end #declare PointsC=array[16]{ C11, C12, C13, C14 C21, C22, C23, C24 C31, C32, C33, C34 C41, C42, C43, C44 } #declare I=0; #while (I<16) sphere { PointsC[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end #declare PointsD=array[16]{ D11, D12, D13, D14 D21, D22, D23, D24 D31, D32, D33, D34 D41, D42, D43, D44 } #declare I=0; #while (I<16) sphere { PointsD[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end #declare PointsE=array[16]{ E11, E12, E13, E14 E21, E22, E23, E24 E31, E32, E33, E34 E41, E42, E43, E44 } #declare I=0; #while (I<16) sphere { PointsE[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end #declare PointsF=array[16]{ F11, F12, F13, F14 F21, F22, F23, F24 F31, F32, F33, F34 F41, F42, F43, F44 } #declare I=0; #while (I<16) sphere { PointsF[I],0.05 no_shadow pigment{ #if (I=0|I=3|I=12|I=15) color Red #else color rgb <0,1,1> #end } rotate -135*y } #declare I=I+1; #end // Cena Final #declare cena = union { object {frente}// rotate -45*y translate 2*z} object {cima} object {baixo} object {atras} object {direito} object {esquerdo} } object {cena rotate -135*y}