// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_aviao = texture{ pigment{ color rgb < 0.90, 0.90, 0.90 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_grade = texture{ pigment{ color rgb < 0.0, 0.0, 0.0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #include "textures.inc" #include "eixos.inc" #include "retalho.inc" #declare raio = 2.000; #declare asa1 = box{ < 12, 1, 3 >, < 14, 9, 4 > texture{ tx_aviao } } #declare asa2 = box{ < 12, -9, 3 >, < 14, -1, 4 > texture{ tx_aviao } } #macro deform(P) #local cons = 1*sin(pi*P.y/10); #end #macro deform2(P) #local cons = -0.5*sin(pi*P.y/10); #end #macro deform3(P) #local cons = -1*sin(pi*P.y/10); #end #macro aviao(z11, z12, z13, z14, z21, z22, z23, z24, z31, z32, z33, z34, a21, a22, a23, a24, a31, a32, a33, a34, b21, b22, b23, b24, b31, b32, b33, b34, c21, c22, c23, c24, c31, c32, c33, c34, w21, w22, w23, w24, w31, w32, w33, w34, w41, w42, w43, w44 ) union{ #local z41 = (z31+a21)/2; #local z42 = (z32+a22)/2; #local z43 = (z33+a23)/2; #local z44 = (z34+a24)/2; #local a11 = z41; #local a12 = z42; #local a13 = z43; #local a14 = z44; #local a41 = (a31+b21)/2; #local a42 = (a32+b22)/2; #local a43 = (a33+b23)/2; #local a44 = (a34+b24)/2; #local b11 = a41; #local b12 = a42; #local b13 = a43; #local b14 = a44; #local b41 = (b31+c21)/2; #local b42 = (b32+c22)/2; #local b43 = (b33+c23)/2; #local b44 = (b34+c24)/2; #local c11 = b41; #local c12 = b42; #local c13 = b43; #local c14 = b44; #local c41 = (c31+w21)/2; #local c42 = (c32+w22)/2; #local c43 = (c33+w23)/2; #local c44 = (c34+w24)/2; #local w11 = c41; #local w12 = c42; #local w13 = c43; #local w14 = c44; object{ retalho( z11, z12, z13, z14, z21, z22, z23, z24, z31, z32, z33, z34, z41, z42, z43, z44, 0.005, tx_grade, tx_aviao ) } object{ retalho( a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44, 0.005, tx_grade, tx_aviao ) } object{ retalho( b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, 0.005, tx_grade, tx_aviao ) } object{ retalho( c11, c12, c13, c14, c21, c22, c23, c24, c31, c32, c33, c34, c41, c42, c43, c44, 0.005, tx_grade, tx_aviao ) } object{ retalho( w11, w12, w13, w14, w21, w22, w23, w24, w31, w32, w33, w34, w41, w42, w43, w44, 0.005, tx_grade, tx_aviao ) } object{ retalho( z11, z12, z13, z14, z21, z22, z23, z24, z31, z32, z33, z34, z41, z42, z43, z44, 0.005, tx_grade, tx_aviao ) scale < 1, -1, 1 > } object{ retalho( a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44, 0.005, tx_grade, tx_aviao ) scale < 1, -1, 1 > } object{ retalho( b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, 0.005, tx_grade, tx_aviao ) scale < 1, -1, 1 > } object{ retalho( c11, c12, c13, c14, c21, c22, c23, c24, c31, c32, c33, c34, c41, c42, c43, c44, 0.005, tx_grade, tx_aviao ) scale < 1, -1, 1 > } object{ retalho( w11, w12, w13, w14, w21, w22, w23, w24, w31, w32, w33, w34, w41, w42, w43, w44, 0.005, tx_grade, tx_aviao ) scale < 1, -1, 1 > } object{ asa1 } object{ asa2 } } #end #macro aviao_deformado(z11, z12, z13, z14, z21, z22, z23, z24, z31, z32, z33, z34, a21, a22, a23, a24, a31, a32, a33, a34, b21, b22, b23, b24, b31, b32, b33, b34, c21, c22, c23, c24, c31, c32, c33, c34, w21, w22, w23, w24, w31, w32, w33, w34, w41, w42, w43, w44 ) union{ #local d21 = a21 + deform(a21); #local d22 = a22 + deform(a22); #local d23 = a23 + deform(a23); #local d24 = a24 + deform(a24); #local d31 = a31 + deform(a31); #local d32 = a32 + deform(a32); #local d33 = a33 + deform(a33); #local d34 = a34 + deform(a34); #local e21 = b21 + deform2(b21); #local e22 = b22 + deform2(b22); #local e23 = b23 + deform2(b23); #local e24 = b24 + deform2(b24); #local e31 = b31 + deform2(b31); #local e32 = b32 + deform2(b32); #local e33 = b33 + deform2(b33); #local e34 = b34 + deform2(b34); #local f21 = c21 + deform3(c21); #local f22 = c22 + deform3(c22); #local f23 = c23 + deform3(c23); #local f24 = c24 + deform3(c24); #local f31 = c31 + deform3(c31); #local f32 = c32 + deform3(c32); #local f33 = c33 + deform3(c33); #local f34 = c34 + deform3(c34); object { aviao(z11, z12, z13, z14, z21, z22, z23, z24, z31, z32, z33, z34, d21, d22, d23, d24, d31, d32, d33, d34, e21, e22, e23, e24, e31, e32, e33, e34, f21, f22, f23, f24, f31, f32, f33, f34, w21, w22, w23, w24, w31, w32, w33, w34, w41, w42, w43, w44 ) } } #end union{ object{ eixos(3.00) } object{ aviao_deformado(< -3, 0, 2.5 >, < -3, 0, 2.5 >, < -3, 0, 2.5 >, < -3, 0, 2.5 >, < -2, 0, 2.0 >, < -2, 2, 2.0 >, < -2, 2, 3.0 >, < -2, 0, 3.0 >, < -1, 0, 1.0 >, < -1, 4, 1.0 >, < -1, 4, 4.0 >, < -1, 0, 4.0 >, < 2, 0, 0 >, < 2, 4, 0 >, < 2, 4, 5 >, < 2, 0, 5 >, < 4, 0, 0 >, < 4, 4, 0 >, < 4, 4, 6 >, < 4, 0, 6 >, < 10, 0, 0 >, < 10, 4, 0 >, < 10, 4, 6 >, < 10, 0, 6 >, < 18, 0, 0 >, < 18, 4, 0 >, < 18, 4, 6 >, < 18, 0, 6 >, < 22, 0, 0 >, < 22, 4, 0 >, < 22, 4, 3 >, < 22, 0, 3 >, < 25, 0, 0 >, < 25, 3, 0 >, < 25, 3, 2 >, < 25, 0, 2 >, < 26.25, 0.00, 0 >, < 26.25, 2.50, 0 >, < 26.25, 2.50, 6 >, < 26.25, 0.00, 6 >, < 26.25, 0.00, 0 >, < 26.25, 1.25, 0 >, < 26.25, 1.25, 6 >, < 26.25, 0.00, 6 >, < 26.25, 0.00, 0 >, < 26.25, 0.00, 0 >, < 26.25, 0.00, 6 >, < 26.25, 0.00, 6 > ) } } #include "camlight.inc" #declare centro_cena = < 9.00, 0.00, 1.00 >; #declare raio_cena = 20.0; #declare dir_camera = < -20.00, 20.00, 8.00 >; #declare dist_camera = 50.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)