// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #include "eixos.inc" #include "textures.inc" #include "retalho.inc" #macro interpola2(tA, A, tb, B, tt) #local r = (tt-ta)/(tb-ta); (r*B + (1-r)*A) // #end #macro interpola4(ta, A, B, C, D, td, tt) #local AB = interpola2(ta, A, td, B, tt); #local BC = interpola2(ta, B, td, C, tt); #local CD = interpola2(ta, C, td, D, tt); #local ABC = interpola2(ta, AB, td, BC, tt); #local BCD = interpola2(ta, BC, td, CD, tt); #local ABCD = interpola2(ta, ABC, td, BCD, tt); ABCD #end #declare tx_azul = texture{ pigment{ color rgb < 0.10, 0.80, 0.90 > } finish{ diffuse 0.9 ambient 0.5 specular 0.5 roughness 0.005 } } #declare txg = texture{ pigment{ color rgb < 0, 1, 0 > } } # declare txr = texture{ tx_azul } #declare rad = 0.00001; #local a12 = <1, 0, 0.5>; #local a13 = <2, 0, 0.5>; #local a14 = <3, 0, 2>; #local a22 = <1, -1, 0.5>; #local a23 = <2, -1, 0.5>; #local a24 = <3, -1, 2>; #local a32 = <1, -2, 1.5>; #local a33 = <2, -2, 1.5>; #local a34 = <3, -2, 1.5>; #local b11 = <0, 0, 0>; #local b12 = <1, 0, 0>; #local b13 = <2, 0, 0>; #local b14 = <3, 0, 0>; #local b21 = <0, -1, 0.2>; #local b22 = <1, -1, 0.2>; #local b23 = <2, -1, 0.2>; #local b24 = <3, -1, 0.2>; #local b31 = <0, -2, 0.5>; #local b32 = <1, -2, 0.5>; #local b33 = <2, -2, 0.5>; #local b34 = <3, -2, 0.5>; #local c11 = <-3, 0, 2>; #local c12 = <-2, 0, 2>; #local c13 = <-1, 0, 0.5>; #local c21 = <-3, -1, 2>; #local c22 = <-2, -1, 2>; #local c23 = <-1, -1, 0.5>; #local c31 = <-3, -2, 1.5>; #local c32 = <-2, -2, 1.5>; #local c33 = <-1, -2, 1.5>; #local d11 = <-3, 0, 0>; #local d12 = <-2, 0, 0>; #local d13 = <-1, 0, 0>; #local d21 = <-3, -1, 0.2>; #local d22 = <-2, -1, 0.2>; #local d23 = <-1, -1, 0.2>; #local d31 = <-3, -2, 0.5>; #local d32 = <-2, -2, 0.5>; #local d33 = <-1, -2, 0.5>; #macro aviao(a12, a13, a14, a22, a23, a24, a32, a33, a34, b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, c11, c12, c13, c21, c22, c23, c31, c32, c33, d11, d12, d13, d21, d22, d23, d31, d32, d33) #declare a11 = (a12 + c13)/2; #declare a21 = (a22 + c23)/2; #declare a31 = (a32 + c33)/2; #declare c14 = a11; #declare c24 = a21; #declare c34 = a31; #declare a41 = (a31+b31)/2; #declare a42 = (a32+b32)/2; #declare a43 = (a33+b33)/2; #declare a44 = (a34+b34)/2; #declare b41 = a41; #declare b42 = a42; #declare b43 = a43; #declare b44 = a44; #declare c41 = (c31+d31)/2; #declare c42 = (c32+d32)/2; #declare c43 = (c33+d33)/2; #declare c44 = a41; #declare d41 = c41; #declare d42 = c42; #declare d43 = c43; #declare d44 = c44; #declare a41 = (a42 + c43)/2; #declare d34 = b31; #declare d24 = b21; #declare d14 = b11; #declare f11 = a14; #declare f12 = a24; #declare f13 = a34; #declare f14 = a44; #declare f41 = b14; #declare f42 = b24; #declare f43 = b34; #declare f44 = b44; #declare f24 = (f14 + f44)/2; #declare f34 = (f14 + f44)/2; #declare f31 = (f11 + f41)/2; #declare f32 = (f12 + f42)/2; #declare f33 = (f13 + f43)/2; #declare f23 = (f13 + f43)/2; #declare f21 = (f11 + f41)/2; #declare f22 = (f12 + f42)/2; #end #macro deform1(p) // Deform em X #end #macro deform2(p) // Deform em X e Y #end #macro aviao_deform(a12, a13, a14, a22, a23, a24, a32, a33, a34, b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, c11, c12, c13, c21, c22, c23, c31, c32, c33, d11, d12, d13, d21, d22, d23, d31, d32, d33, def1, def2) #local a12 = a12 + deform1(a12)*def1 + deform2(a12)*def2; #local a13 = a13 + deform1(a13)*def1 + deform2(a13)*def2; #local a14 = a14 + deform1(a14)*def1 + deform2(a14)*def2; #local a22 = a22 + deform1(a22)*def1 + deform2(a22)*def2; #local a23 = a23 + deform1(a23)*def1 + deform2(a23)*def2; #local a24 = a24 + deform1(a24)*def1 + deform2(a24)*def2; #local a32 = a32 + deform1(a32)*def1 + deform2(a32)*def2; #local a33 = a33 + deform1(a33)*def1 + deform2(a33)*def2; #local a34 = a34 + deform1(a34)*def1 + deform2(a34)*def2; #local b11 = b11 + deform1(b11)*def1 + deform2(b11)*def2; #local b12 = b12 + deform1(b12)*def1 + deform2(b12)*def2; #local b13 = b13 + deform1(b13)*def1 + deform2(b13)*def2; #local b14 = b14 + deform1(b14)*def1 + deform2(b14)*def2; #local b21 = b21 + deform1(b21)*def1 + deform2(b21)*def2; #local b22 = b22 + deform1(b22)*def1 + deform2(b22)*def2; #local b23 = b23 + deform1(b23)*def1 + deform2(b23)*def2; #local b24 = b24 + deform1(b24)*def1 + deform2(b24)*def2; #local b31 = b31 + deform1(b31)*def1 + deform2(b31)*def2; #local b32 = b32 + deform1(b32)*def1 + deform2(b32)*def2; #local b33 = b33 + deform1(b33)*def1 + deform2(b33)*def2; #local b34 = b34 + deform1(b34)*def1 + deform2(b34)*def2; #local c11 = c11 + deform1(c11)*def1 + deform2(c11)*def2; #local c12 = c12 + deform1(c12)*def1 + deform2(c12)*def2; #local c13 = c13 + deform1(c13)*def1 + deform2(c13)*def2; #local c21 = c21 + deform1(c21)*def1 + deform2(c21)*def2; #local c22 = c22 + deform1(c22)*def1 + deform2(c22)*def2; #local c23 = c23 + deform1(c23)*def1 + deform2(c23)*def2; #local c31 = c31 + deform1(c31)*def1 + deform2(c31)*def2; #local c32 = c32 + deform1(c32)*def1 + deform2(c32)*def2; #local c33 = c33 + deform1(c33)*def1 + deform2(c33)*def2; #local d11 = d11 + deform1(d11)*def1 + deform2(d11)*def2; #local d12 = d12 + deform1(d12)*def1 + deform2(d12)*def2; #local d13 = d13 + deform1(d13)*def1 + deform2(d13)*def2; #local d21 = d21 + deform1(d21)*def1 + deform2(d21)*def2; #local d22 = d22 + deform1(d22)*def1 + deform2(d22)*def2; #local d23 = d23 + deform1(d23)*def1 + deform2(d23)*def2; #local d31 = d31 + deform1(d31)*def1 + deform2(d31)*def2; #local d32 = d32 + deform1(d32)*def1 + deform2(d32)*def2; #local d33 = d33 + deform1(d33)*def1 + deform2(d33)*def2; aviao(a12, a13, a14, a22, a23, a24, a32, a33, a34, b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, c11, c12, c13, c21, c22, c23, c31, c32, c33, d11, d12, d13, d21, d22, d23, d31, d32, d33) #end #macro gera() #declare planoF = object{ retalho(f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, f41, f42, f43, f44, rad, txg, txr) } #declare plano1 = object{ retalho(a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44, rad, txg, txr) } #declare plano2 = object{ retalho(b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, rad, txg, txr) } #declare plano3 = object{ retalho(c11, c12, c13, c14, c21, c22, c23, c24, c31, c32, c33, c34, c41, c42, c43, c44, rad, txg, txr) } #declare plano4 = object{ retalho(d11, d12, d13, d14, d21, d22, d23, d24, d31, d32, d33, d34, d41, d42, d43, d44, rad, txg, txr) } union{ object{plano1 texture{tx_azul}} object{plano2 texture{tx_azul}} object{plano3 texture{tx_azul}} object{plano4 texture{tx_azul}} object{plano1 texture{tx_azul} scale -y} object{plano2 texture{tx_azul} scale -y} object{plano3 texture{tx_azul} scale -y} object{plano4 texture{tx_azul} scale -y} object{planoF texture{tx_azul}} object{planoF texture{tx_azul} scale -y} object{planoF texture{tx_azul} scale -x} object{planoF texture{tx_azul} scale <-1, -1, 1>} box{<0, 0, 0>, <1, 4, 0.5> texture{tx_azul}} box{<0, 0, 0>, <1, 4, 0.5> texture{tx_azul} scale -y} } #end object{eixos(3)} aviao_deform(a12, a13, a14, a22, a23, a24, a32, a33, a34, b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, c11, c12, c13, c21, c22, c23, c31, c32, c33, d11, d12, d13, d21, d22, d23, d31, d32, d33, 0, 0) //declara o aviao #declare a1p2 = <0, 5, 0>; #declare a1p3 = <0, 20, 0>; #declare a2p2 = <0, 30, 10>; #declare a2p3 = <0, 20, 20>; #declare a3p2 = <0, 10, 20>; #declare a3p3 = <0, 20, 10>; #declare a4p2 = <10, 30, 0>; #declare a4p3 = <0, 15, 0>; #declare a1p1 = (a1p2 + a4p3)/2; #declare a1p4 = (a1p3 + a2p2)/2; #declare a2p1 = a1p4; #declare a2p4 = (a2p3 + a3p2)/2; #declare a3p1 = a2p4; #declare a3p4 = (a3p3 + a4p2)/2; #declare a4p1 = a3p4; #declare a4p4 = a1p1; #declare ta1p1 = 0; #declare ta2p1 = 0.25; #declare ta3p1 = 0.5; #declare ta4p1 = 0.75; #declare Tetaa1p2 = <45, 0, 0>; #declare Tetaa1p3 = <90, 0, 0>; #declare Tetaa2p2 = <270, 0, 0>; #declare Tetaa2p3 = <300, 0, 0>; #declare Tetaa3p2 = <0, 0, 30>; #declare Tetaa3p3 = <0, 0, 60>; #declare Tetaa4p2 = <0, 0, 180>; #declare Tetaa4p3 = <0, 0, 300>; #declare Tetaa1p1 = (Tetaa1p2 + Tetaa4p3)/2; #declare Tetaa1p4 = (Tetaa1p3 + Tetaa2p2)/2; #declare Tetaa2p1 = Tetaa1p4; #declare Tetaa2p4 = (Tetaa2p3 + Tetaa3p2)/2; #declare Tetaa3p1 = Tetaa2p4; #declare Tetaa3p4 = (Tetaa3p3 + Tetaa4p2)/2; #declare Tetaa4p1 = Tetaa3p4; #declare Tetaa4p4 = Tetaa1p1; #if((ta1p1 <= clock) & (clock; #declare raio_cena = 40; #declare dir_camera = < 15.00, -10.00, 4.00 >; #declare dist_camera = 35.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)