// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.9, 0.9, 0.9 > } #declare tx_plastico = texture{ pigment{ color rgb < 1.00, 1.00, 0.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare raio = 2.000; #declare asas= union{ box {<0,7,0>, <10,10,0.1> texture{tx_plastico}} box {<0,7,0>, <-10,10,0.1> texture{tx_plastico}} } #declare traseira=cone {<0,4,-1.4>,.5, <0,0,2>,0 texture{tx_plastico}} #include "retalho.inc" #include "eixos.inc" #local p11=<0,0,-1>; #local p21=<0,0,-1>; #local p31=<0,0,-1>; #local p41=<0,00,-1>; #local p12=<0,3,0>; #local p22=<1.3,3,-1>; #local p32=<1.3,3,-2>; #local p42= <0,3,-3>; #local p13=<0,4,0>; #local p23=<1.6,4,-1>; #local p33=<1.6,4,-2>; #local p43=<0,4,-3>; #local r12=<0,6,0>; #local r22=<2,6,-1>; #local r32=<2,6,-2>; #local r42= <0,6,-3>; #local r13=<0,8,0>; #local r23=<2,8,-1>; #local r33=<2,8,-2>; #local r43=<0,8,-3>; #local r14=<0,12,0>; #local r24=<2,12,-1>; #local r34=<2,12,-2>; #local r44=<0,12,-3>; #local s12=<0,14,-0.5>; #local s22=<1.7,14,-1>; #local s32=<1.7,14,-2>; #local s42= <0,14,-3>; #local s13=<0,15,-1>; #local s23=<1.3,15,-1.5>; #local s33=<1.3,15,-2>; #local s43=<0,15,-3>; #local s14=<0,16,-2>; #local s24=<0,16,-2>; #local s34=<0,16,-2>; #local s44=<0,16,-2>; #macro aviao(p11,p12,p13,p21,p22,p23,p31,p32,p33,p41,p42,p43,r12,r13,r14,r22,r23,r24,r32,r33,r34,r42,r43,r44,s12,s13,s14,s22,s23,s24,s32,s33,s34,s42,s43,s44) #local p14=(p13+r12)/2; #local p24=(p23+r22)/2; #local p34=(p33+r32)/2; #local p44=(p43+r42)/2; #local r11=p14; #local r21=p24; #local r31=p34; #local r41=p44; #local r14=(r13+s12)/2; #local r24=(r23+s22)/2; #local r34=(r33+s32)/2; #local r44=(r43+s42)/2; #local s11=r14; #local s21=r24; #local s31=r34; #local s41=r44; #local op11=<-p11.x,p11.y,p11.z>; #local op21=<-p21.x,p21.y,p21.z>; #local op31=<-p31.x,p31.y,p31.z>; #local op41=<-p41.x,p41.y,p41.z>; #local op12=<-p12.x,p12.y,p12.z>; #local op22=<-p22.x,p22.y,p22.z>; #local op32=<-p32.x,p32.y,p32.z>; #local op42=<-p42.x,p42.y,p42.z>; #local op13=<-p13.x,p13.y,p13.z>; #local op23=<-p23.x,p23.y,p23.z>; #local op33=<-p33.x,p33.y,p33.z>; #local op43=<-p43.x,p43.y,p43.z>; #local or12=<-r12.x,r12.y,r12.z>; #local or22=<-r22.x,r22.y,r22.z>; #local or32=<-r32.x,r32.y,r32.z>; #local or42=<-r42.x,r42.y,r42.z>; #local or13=<-r13.x,r13.y,r13.z>; #local or23=<-r23.x,r23.y,r23.z>; #local or33=<-r33.x,r33.y,r33.z>; #local or43=<-r43.x,r43.y,r43.z>; #local or14=<-r14.x,r14.y,r14.z>; #local or24=<-r24.x,r24.y,r24.z>; #local or34=<-r34.x,r34.y,r34.z>; #local or44=<-r44.x,r44.y,r44.z>; #local os12=<-s12.x,s12.y,s12.z>; #local os22=<-s22.x,s22.y,s22.z>; #local os32=<-s32.x,s32.y,s32.z>; #local os42=<-s42.x,s42.y,s42.z>; #local os13=<-s13.x,s13.y,s13.z>; #local os23=<-s23.x,s23.y,s23.z>; #local os33=<-s33.x,s33.y,s33.z>; #local os43=<-s43.x,s43.y,s43.z>; #local os14=<-s14.x,s14.y,s14.z>; #local os24=<-s24.x,s24.y,s24.z>; #local os34=<-s34.x,s34.y,s34.z>; #local os44=<-s44.x,s44.y,s14.z>; #local op14=(op13+or12)/2; #local op24=(op23+or22)/2; #local op34=(op33+or32)/2; #local op44=(op43+or42)/2; #local or11=op14; #local or21=op24; #local or31=op34; #local or41=op44; #local or14=(or13+os12)/2; #local or24=(or23+os22)/2; #local or34=(or33+os32)/2; #local or44=(or43+os42)/2; #local os11=or14; #local os21=or24; #local os31=or34; #local os41=or44; #local p11=(p21+op21)/2; #local p12=(p22+op22)/2; #local p13=(p23+op23)/2; #local p14=(p24+op24)/2; #local op11=p11; #local op12=p12; #local op13=p13; #local op14=p14; #local r11=(r21+or21)/2; #local r12=(r22+or22)/2; #local r13=(r23+or23)/2; #local r14=(r24+or24)/2; #local or11=r11; #local or12=r12; #local or13=r13; #local or14=r14; #local s11=(s21+os21)/2; #local s12=(s22+os22)/2; #local s13=(s23+os23)/2; #local s14=(s24+os24)/2; #local os11=s11; #local os12=s12; #local os13=s13; #local os14=s14; #local p41=(p31+op31)/2; #local p42=(p32+op32)/2; #local p43=(p33+op33)/2; #local p44=(p34+op34)/2; #local op41=p41; #local op42=p42; #local op43=p43; #local op44=p44; #local r41=(r31+or31)/2; #local r42=(r32+or32)/2; #local r43=(r33+or33)/2; #local r44=(r34+or34)/2; #local s41=(s31+os31)/2; #local s42=(s32+os32)/2; #local s43=(s33+os33)/2; #local s44=(s34+os34)/2; #local os41=s41; #local os42=s42; #local os43=s43; #local os44=s44; #local or41=r41; #local or42=r42; #local or43=r43; #local or44=r44; union{ retalho (p11,p12,p13,p14,p21,p22,p23,p24,p31,p32,p33,p34,p41,p42,p43,p44, 0.01, texture{tx_plastico},texture{tx_plastico}) retalho (r11,r12,r13,r14,r21,r22,r23,r24,r31,r32,r33,r34,r41,r42,r43,r44, 0.01, texture{tx_plastico},texture{tx_plastico}) retalho (s11,s12,s13,s14,s21,s22,s23,s24,s31,s32,s33,s34,s41,s42,s43,s44, 0.01, texture{tx_plastico},texture{tx_plastico}) retalho (op11,op12,op13,op14,op21,op22,op23,op24,op31,op32,op33,op34,op41,op42,op43,op44, 0.01, texture{tx_plastico},texture{tx_plastico}) retalho (or11,or12,or13,or14,or21,or22,or23,or24,or31,or32,or33,or34,or41,or42,or43,or44, 0.01, texture{tx_plastico},texture{tx_plastico}) retalho (os11,os12,os13,os14,os21,os22,os23,os24,os31,os32,os33,os34,os41,os42,os43,os44, 0.01, texture{tx_plastico},texture{tx_plastico}) object{asas translate<0,0,-1.5>} object{traseira} } #end #macro deform1(p) #local cons=-0.5*sin(pi*p.y/16); #end #macro aviao_def(p11,p12,p13,p21,p22,p23,p31,p32,p33,p41,p42,p43,r12,r13,r14,r22,r23,r24,r32,r33,r34,r42,r43,r44,s12,s13,s14,s22,s23,s24,s32,s33,s34,s42,s43,s44, d1) #local dp11=p11+deform1(p11)*d1; #local dp21=p21+deform1(p21)*d1; #local dp31=p31+deform1(p31)*d1; #local dp41=p41+deform1(p41)*d1; #local dp12=p12+deform1(p12)*d1; #local dp22=p22+deform1(p22)*d1; #local dp32=p32+deform1(p32)*d1; #local dp42=p42+deform1(p42)*d1; #local dp13=p13+deform1(p13)*d1; #local dp23=p23+deform1(p23)*d1; #local dp33=p33+deform1(p33)*d1; #local dp43=p43+deform1(p43)*d1; #local dr12=r12+deform1(r12)*d1; #local dr22=r22+deform1(r22)*d1; #local dr32=r22+deform1(r32)*d1; #local dr42=r22+deform1(r42)*d1; #local dr13=r13+deform1(r13)*d1; #local dr23=r23+deform1(r23)*d1; #local dr33=r33+deform1(r33)*d1; #local dr43=r43+deform1(r43)*d1; #local dr14=r14+deform1(r14)*d1; #local dr24=r24+deform1(r24)*d1; #local dr34=r34+deform1(r34)*d1; #local dr44=r44+deform1(r44)*d1; #local ds12=s12+deform1(s12)*d1; #local ds22=s22+deform1(s22)*d1; #local ds32=s32+deform1(s32)*d1; #local ds42=s42+deform1(s42)*d1; #local ds13=s13+deform1(s13)*d1; #local ds23=s23+deform1(s23)*d1; #local ds33=s33+deform1(s33)*d1; #local ds43=s43+deform1(s43)*d1; #local ds14=s14+deform1(s14)*d1; #local ds24=s24+deform1(s24)*d1; #local ds34=s34+deform1(s34)*d1; #local ds44=s44+deform1(s44)*d1; aviao(dp11,dp12,dp13,dp21,dp22,dp23,dp31,dp32,dp33,dp41,dp42,dp43,dr12,dr13,dr14,dr22,dr23,dr24,dr32,dr33,dr34,dr42,dr43,dr44,ds12,ds13,ds14,ds22,ds23,ds24,ds32,ds33,ds34,ds42,ds43,ds44) #end #include "eixos.inc" object{ eixos(3.00) } object {aviao_def(p11,p12,p13,p21,p22,p23,p31,p32,p33,p41,p42,p43,r12,r13,r14,r22,r23,r24,r32,r33,r34,r42,r43,r44,s12,s13,s14,s22,s23,s24,s32,s33,s34,s42,s43,s44, 5)} #include "textures.inc" #include "camlight.inc" #declare centro_cena = < 0.00, 8.00, -2>; #declare raio_cena = 100; #declare dir_camera = < -10.00, 10.00, 5.00 >; #declare dist_camera = 50.0; #declare intens_luz = 0.97; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)