// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_a = texture{ pigment{ color rgb < 0.80, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_b = texture{ pigment{ color rgb < 0.10, 0.10, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_c = texture{ pigment{ color rgb < 0.80, 0.80, 0.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_grade = texture{ pigment{ color rgb < 0.30, 0.30, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare roleta = seed(19); #declare scale_roda = .2; #include "eixos.inc" #include "retalho.inc" #macro interpola(ta, va, tb, vb, tt) #local s = (tt - ta) / (tb - ta); ((1 - s) * va + s * vb) #end #macro d(p, d1, d2) #declare p = ; #end #macro e(p, e1, e2) #declare p = ; #end #macro f(p, f1, f2) #declare p = ; #end #macro aviao_deformado(a12, a22, a32, a42, a13, a23, a33, a43, b12, b22, b32, b42, b13, b23, b33, b43, c12, c22, c32, c42, c13, c23, c33, c43 d1, d2) #declare t0 = 0.000; #declare t1 = 0.250; #declare t2 = 0.500; #declare t3 = 0.750; #declare t4 = 1.000; #if ((clock >= t0) & (clock <= t1)) #declare dVal1 = interpola(t0, 1.0, t1, 1.25, clock); #declare dVal2 = interpola(t0, 1.0, t1, 1.75, clock); #declare eVal1 = interpola(t0, 1.0, t1, 2.0, clock); #declare eVal2 = interpola(t0, 1.0, t1, 1.5, clock); #declare fVal1 = interpola(t0, 1.0, t1, 0.75, clock); #declare fVal2 = interpola(t0, 1.0, t1, 1.5, clock); #end #if ((clock >= t1) & (clock <= t2)) #declare dVal1 = interpola(t1, 1.25, t2, 1.50, clock); #declare dVal2 = interpola(t1, 1.75, t2, 2.5, clock); #declare eVal1 = interpola(t1, 2.0, t2, 3.0, clock); #declare eVal2 = interpola(t1, 1.5, t2, 2.0, clock); #declare fVal1 = interpola(t1, 0.75, t2, 0.50, clock); #declare fVal2 = interpola(t1, 1.5, t2, 2.0, clock); #end #if ((clock >= t2) & (clock <= t3)) #declare dVal1 = interpola(t2, 1.50, t3, 1.25, clock); #declare dVal2 = interpola(t2, 2.5, t3, 1.75, clock); #declare eVal1 = interpola(t2, 3.0, t3, 2.0, clock); #declare eVal2 = interpola(t2, 2.0, t3, 1.5, clock); #declare fVal1 = interpola(t2, 0.50, t3, 0.75, clock); #declare fVal2 = interpola(t2, 2.0, t3, 1.5, clock); #end #if ((clock >= t3) & (clock <= t4)) #declare dVal1 = interpola(t3, 1.25, t4, 1.0, clock); #declare dVal2 = interpola(t3, 1.75, t4, 1.0, clock); #declare eVal1 = interpola(t3, 2.0, t4, 1.0, clock); #declare eVal2 = interpola(t3, 1.5, t4, 1.0, clock); #declare fVal1 = interpola(t3, 0.75, t4, 1.0, clock); #declare fVal2 = interpola(t3, 1.5, t4, 1.0, clock); #end d(a12, dVal1, dVal2) d(a22, dVal1, dVal2) d(a32, dVal1, dVal2) d(a42, dVal1, dVal2) d(a13, dVal1, dVal2) d(a23, dVal1, dVal2) d(a33, dVal1, dVal2) d(a43, dVal1, dVal2) f(b12, fVal1, fVal2) f(b22, fVal1, fVal2) f(b32, fVal1, fVal2) f(b42, fVal1, fVal2) f(b13, fVal1, fVal2) f(b23, fVal1, fVal2) f(b33, fVal1, fVal2) f(b43, fVal1, fVal2) e(c12, eVal1, eVal2) e(c22, eVal1, eVal2) e(c32, eVal1, eVal2) e(c42, eVal1, eVal2) e(c13, eVal1, eVal2) e(c23, eVal1, eVal2) e(c33, eVal1, eVal2) e(c43, eVal1, eVal2) #end #macro meioaviao(i1, i2) #local a12=<0,1,2>; #local a13=<0,2,2>; #local a14=<0,0,.4>; #local a22=<-1,1,2>; #local a23=<-1,2,2>; #local a24=<-1,0,.4>; #local a32=<-1,1,0>; #local a33=<-1,2,0>; #local a34=<-1,0,0>; #local a42=<0,1,0>; #local a43=<0,2,0>; #local a44=<0,0,0>; #local b12=<0,-10,3>; #local b13=<0,-5,3>; #local b22=<-3,-10,3>; #local b23=<-3,-5,3>; #local b32=<-3,-10,0>; #local b33=<-3,-5,0>; #local b42=<0,-10,0>; #local b43=<0,-5,0>; #local c11=<0,-16,7>; #local c12=<0,-15,6>; #local c13=<0,-14,5>; #local c21=<-.2,-16,7>; #local c22=<-.5,-15,6>; #local c23=<-1,-14,5>; #local c31=<-.2,-16,2>; #local c32=<-.5,-15,1>; #local c33=<-1,-14,0>; #local c41=<0,-16,2>; #local c42=<0,-15,1>; #local c43=<0,-14,0>; aviao_deformado(a12, a22, a32, a42, a13, a23, a33, a43, b12, b22, b32, b42, b13, b23, b33, b43, c12, c22, c32, c42, c13, c23, c33, c43 1, 2) #local a11=(a12+b13)/2; #local a21=(a22+b23)/2; #local a31=(a32+b33)/2; #local a41=(a42+b43)/2; #local b14=a11; #local b24=a21; #local b34=a31; #local b44=a41; #local b11=(b12+c13)/2; #local b21=(b22+c23)/2; #local b31=(b32+c33)/2; #local b41=(b42+c43)/2; #local c14=b11; #local c24=b21; #local c34=b31; #local c44=b41; union{ object{ retalho( a11,a12,a13,a14, a21,a22,a23,a24, a31,a32,a33,a34, a41,a42,a43,a44, 0.00000000000001, tx_grade, tx_a) } object{ retalho( b11,b12,b13,b14, b21,b22,b23,b24, b31,b32,b33,b34, b41,b42,b43,b44, 0.00000000000001, tx_grade, tx_b) } object{ retalho( c11,c12,c13,c14, c21,c22,c23,c24, c31,c32,c33,c34, c41,c42,c43,c44, 0.00000000000001, tx_grade, tx_c) } } #end union{ object{ eixos(3.00) } union { object{ meioaviao(1, 2) } object{ meioaviao(1, 2) scale -x} object{ box{ <0,0,0> <5,1,.5> translate <0,-5,1>} texture {tx_a} } object{ box{ <0,0,0> <5,1,.5> translate <0,-5,1> scale -x} texture {tx_a} } translate 15 * y translate 6 * x } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 40.0; #declare dir_camera = < 1.00, .50, 1.00 > ; #declare dist_camera = 28.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)