// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "eixos.inc" #include "texturas.inc" #include "camlight.inc" #include "retalho.inc" #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } #declare asa = box{<0,0,0>, <1,5,.25> texture{tx_fosca} rotate<0,0,30> translate<1,0,1>} #local A23= <4,1,1.5>; #local A32= <4.5,.25,1>; #local A33= <4,1,.5>; #local B22= <1,1.5,2>; #local B23= <2,1.5,2>; #local B32= <1,2,0>; #local B33= <2,2,0>; #local C22= <-.5,1.5,2>; #local C23= <-1,1,2>; #local C24= <-1.5,.5,2>; #local C32= <-.5,1.5,.25>; #local C33= <-1,1,.5>; #local C34= <-1.5,.5,1.5>; #macro aviao(A23,A32,A33, B22,B23,B32,B33, C22,C23,C24,C32,C33,C34) #local A31= ; #local A21= A31; #local A22= A32; #local A42= ; #local A43= ; #local A12= ; #local A13= ; #local B42= ; #local B43= ; #local B12= ; #local B13= ; #local C42= ; #local C43= ; #local C44= ; #local C12= ; #local C13= ; #local C14= ; #local B11= (B12+C12)/2; #local C11= B11; #local B21= (B22+C22)/2; #local C21= B21; #local B31= (B32+C32)/2; #local C31= B31; #local B41= (B42+C42)/2; #local C41= B41; #local B14= (B13+A13)/2; #local A14= B14; #local B24= (B23+A23)/2; #local A24= B24; #local B34=(B33+A33)/2; #local A34= B34; #local B44=(B43+A43)/2; #local A44= B44; #local A11= (A12+A21)/2; #local A41= (A31+A42)/2; #declare parteB = //corpo retalho(B11,B12,B13,B14, B21,B22,B23,B24, B31,B32,B33,B34, B41,B42,B43,B44, 0.000001,tx_fosca,tx_fosca ) #declare parteC = //cauda retalho(C11,C12,C13,C14, C21,C22,C23,C24, C31,C32,C33,C34, C41,C42,C43,C44, 0.000001,tx_fosca,tx_fosca ) #declare parteA = //bico retalho(A11,A12,A13,A14, A21,A22,A23,A24, A31,A32,A33,A34, A41,A42,A43,A44, 0.0000002,tx_fosca,tx_fosca ) object{parteB} object{parteC} object{parteA} object{parteB scale<1,-1,1>} object{parteC scale<1,-1,1>} object{parteA scale<1,-1,1>} object{asa} object{asa scale<1,-1,1>} #end #macro aviao_deformado(A23,A32,A33, B22,B23,B32,B33, C22,C23,C24,C32,C33,C34, d1,d2) #local DA23=A23+deform1(A23)*d1+deform2(A23)*d2; #local DA32=A32+deform1(A32)*d1+deform2(A32)*d2; #local DA33=A33+deform1(A33)*d1+deform2(A33)*d2; #local DB22=B22+deform1(B22)*d1+deform2(B22)*d2; #local DB23=B23+deform1(B23)*d1+deform2(B23)*d2; #local DB32=B32+deform1(B32)*d1+deform2(B32)*d2; #local DB33=B33+deform1(B33)*d1+deform2(B33)*d2; #local DC22=C22+deform1(C22)*d1+deform2(C22)*d2; #local DC23=C23+deform1(C23)*d1+deform2(C23)*d2; #local DC24=C24+deform1(C24)*d1+deform2(C24)*d2; #local DC32=C32+deform1(C32)*d1+deform2(C32)*d2; #local DC33=C33+deform1(C33)*d1+deform2(C33)*d2; #local DC34=C34+deform1(C34)*d1+deform2(C34)*d2; aviao(DA23,DA32,DA33, DB22,DB23,DB32,DB33, DC22,DC23,DC24,DC32,DC33,DC34) #end #macro deform1(p) #end #macro deform2(p) #local cons1=0; #local cons2=0; #if(p.x<0) #local cons1=-2*p.x+(1-p.z); #local cons2=-(1-p.z); #end #end object{ chao texture{ tx_xadrez } } object{ eixos(3.00) } union{ aviao_deformado(A23,A32,A33, B22,B23,B32,B33, C22,C23,C24,C32,C33,C34, 0,1) union{aviao_deformado(A23,A32,A33, B22,B23,B32,B33, C22,C23,C24,C32,C33,C34, 1,0) translate<0,0,4>} scale<.5,.5,.5> } #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 7.0; #declare dir_camera = < 7, 5, 2.00 >; #declare dist_camera = 20.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)