// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #include "textures.inc" #declare tx_plastico = texture{ pigment{ color rgb < 0.30, 0.95, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_blue = texture{ pigment{ color rgb < 0.30, 0.5, 0.90 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_yellow = texture{ pigment{ color rgb < 1, 1, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_black = texture{ pigment{ color rgb < 0, 0, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_green = texture{ pigment{ color rgb < 0.30, 0.9, 0.20 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_marrom = texture{ pigment{ color rgb < 0.55, 0.15, 0.45 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_head = texture{ pigment{ color rgb < 0.90, 0.15, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 0.75, 0.25, 0.05 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare chao = box{ <-20,-20,-1>, <+30,+30,0> } #declare coluna = union { cylinder{ < -0.0, -0.00, 0.00 >, < +0.0, +0.00, +20.00 >, 2 texture{ Brushed_Aluminum } } cylinder{ < -0.0, -0.00, 20.00 >, < +0.0, +0.00, +22.00 >, 3 texture{ Aluminum } } } #declare cubo = box { <0,0,0>, <4,4,4> texture{ Copper_Texture } } #declare quadro = box { <-10,-1,13> <10,0,18> texture{ Gold_Texture } } #declare parede = box { <-20,-1,0> <20,0,20> texture{ tx_blue } } #declare texto1 = text{ttf "arial.ttf" "Monumento 1" .1, 0.0 } #declare texto2 = text{ttf "comic.ttf" "Coluna Romana" .1, 0.0 } #declare texto3 = text{ttf "comic.ttf" "PLACA DE OURO" .1, 0.0 } #include "eixos.inc" #include "retalho.inc" #declare predio = box { <0,0,0> <15,15,30> texture { DMFWood6 finish {diffuse 0.9 roughness 0.001}} } #declare asa = union { box { <0,0,0> <6,20,1> texture {tx_head} } cylinder { <0,0,0> <8,0,0> 3 texture {tx_plastico} translate <0,10,-3> } } #declare raioA=0.00001; #declare raioB=0.00001; #declare raioC=0.00001; #declare a12 = <0,7,4>; #declare a13 = <0,7,-5>; #declare a22 = <3,7,4>; #declare a23 = <3,7,-5>; #declare a32 = <6,7,4>; #declare a33 = <6,7,-5>; #declare b22 = <12,7,4>; #declare b23 = <12,7,-5>; #declare b32 = <16,10,6>; #declare b33 = <16,10,-7>; #declare c22 = <24,10,6>; #declare c23 = <24,10,-7>; #declare c32 = <24,5,6>; #declare c33 = <24,5,-7>; #declare c41 = <30,0,2>; #declare c42 = <38,0,1>; #declare c43 = <38,0,-1>; #declare c44 = <30,0,-2>; #macro deform(p) #local cons=0; < 0, 0, abs(p.x-19)> #end #macro deform2(p) #end #macro aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,d,d2) #declare da12 = a12+deform(a12)*d+deform2(a12)*d2; #declare da13 = a13+deform(a13)*d+deform2(a13)*d2; #declare da22 = a22+deform(a22)*d+deform2(a22)*d2; #declare da23 = a23+deform(a23)*d+deform2(a23)*d2; #declare da32 = a32+deform(a32)*d+deform2(a32)*d2; #declare da33 = a33+deform(a33)*d+deform2(a33)*d2; #declare db22 = b22+deform(b22)*d+deform2(b22)*d2; #declare db23 = b23+deform(b23)*d+deform2(b23)*d2; #declare db32 = b32+deform(b32)*d+deform2(b32)*d2; #declare db33 = b33+deform(b33)*d+deform2(b33)*d2; #declare dc22 = c22+deform(c22)*d+deform2(c22)*d2; #declare dc23 = c23+deform(c23)*d+deform2(c23)*d2; #declare dc32 = c32+deform(c32)*d+deform2(c32)*d2; #declare dc33 = c33+deform(c33)*d+deform2(c33)*d2; #declare dc41 = c41+deform(c41)*d+deform2(c41)*d2; #declare dc42 = c42+deform(c42)*d+deform2(c42)*d2; #declare dc43 = c43+deform(c43)*d+deform2(c43)*d2; #declare dc44 = c44+deform(c44)*d+deform2(c44)*d2; object{aviao(da12,da13,da22,da23,da32,da33,db22,db23,db32,db33,dc22,dc23,dc32,dc33,dc41,dc42,dc43,dc44) translate<0,10,15>} #end #macro aviao(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44) #declare a11 = ; #declare a14 = ; #declare a21 = ; #declare a24 = ; #declare a31 = ; #declare a34 = ; #declare b21 = ; #declare b24 = ; #declare b31 = ; #declare b34 = ; #declare a41 = (a31+b21)/2; #declare a42 = (a32+b22)/2; #declare a43 = (a33+b23)/2; #declare a44 = (a34+b24)/2; #declare b11 = a41; #declare b12 = a42; #declare b13 = a43; #declare b14 = a44; #declare c21 = ; #declare c24 = ; #declare c31 = ; #declare c34 = ; #declare b41 = (b31+c21)/2; #declare b42 = (b32+c22)/2; #declare b43 = (b33+c23)/2; #declare b44 = (b34+c24)/2; #declare c11=b41; #declare c12=b42; #declare c13=b43; #declare c14=b44; #declare retalhoA= object{retalho( a11,a12,a13,a14, a21,a22,a23,a24, a31,a32,a33,a34, a41,a42,a43,a44, raioA, tx_plastico, tx_head ) translate <0,0,0>} #declare retalhoB= object{retalho( b11,b12,b13,b14, b21,b22,b23,b24, b31,b32,b33,b34, b41,b42,b43,b44, raioB, tx_plastico, tx_blue ) translate <0,0,0>} #declare retalhoC= object{retalho( c11,c12,c13,c14, c21,c22,c23,c24, c31,c32,c33,c34, c41,c42,c43,c44, raioC, tx_plastico, tx_yellow ) translate <0,0,0>} union { object{retalhoA scale 1} object{retalhoA scale <1,-1,1> } object{retalhoB} object{retalhoB scale<1,-1,1> translate<0,0,0>} object{retalhoC} object{retalhoC scale<1,-1,1>} object{asa translate<10,0,0>} object{asa scale<1,-1,1> translate<10,0,0>} } #end #macro interpola(ta,va,tb,vb,tt) #local s=(tt-ta)/(tb-ta); ((1-s)*va +s*vb) #end #macro interpola2(tA,A,tB,B,tt) #local r=(tt-tA)/(tB-tA); ((1-r)*A + r*B) #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 P1 = <5,0,0>; #declare P2 = <20,10,2>; #declare P3 = <10,28,30>; #declare P4 = <-5,23,17>; #declare P5 = <-20,10,-5>; #declare P6 = <0,-5,-15>; #declare P7 = <0,13,-30>; #declare P8 = <10,10,-14>; #declare P9 = <30,-30,-16>; #declare P10 = <5,28,15>; #declare P101 = (P10+P1)/2; #declare P23 = (P2+P3)/2; #declare P45 = (P4+P5)/2; #declare P67 = (P6+P7)/2; #declare P89= (P8+P9)/2; #declare t0=0; #declare t1=0.2; #declare t2=0.4; #declare t3=0.6; #declare t4=0.8; #declare t5=1; union{ object{ eixos(30.00) } #declare varia1 = sin(2*pi*clock); #declare varia2 = 1-clock; #if ((clock >= t0) & (clock <=t1)) object{aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,0,0)translate<-20,0,0> scale 0.5 translate interpola4(t0,P101,P1,P2,P23,t1,clock)} #end #if ((clock >= t1) & (clock <=t2)) object{aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,0,0)translate<-20,0,0> scale 0.5 translate interpola4(t1,P23,P3,P4,P45,t2,clock)} #end #if ((clock >= t2) & (clock <=t3)) object{aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,0,0)translate<-20,0,0> scale 0.5 translate interpola4(t2,P45,P5,P6,P67,t3,clock)} #end #if ((clock >= t3) & (clock <=t4)) object{aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,0,0)translate<-20,0,0> scale 0.5 translate interpola4(t3,P67,P7,P8,P89,t4,clock)} #end #if ((clock >= t4) & (clock <=t5)) object{aviaodeformado(a12,a13,a22,a23,a32,a33,b22,b23,b32,b33,c22,c23,c32,c33,c41,c42,c43,c44,0,0)translate<-20,0,0> scale 0.5 translate interpola4(t4,P89,P9,P10,P101,t5,clock)} #end } #include "camlight.inc" #declare centro_cena = < 15.00, 20.00, 10.00 >; #declare raio_cena = 50.0; #declare dir_camera = <10.00, 15.00, 10 >; #declare dist_camera = 60.0; #declare intens_luz = 2.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)