// Last edited on 2009-11-24 20:38:27 by stolfilocal // Processed by remove-cam-lights #include "retalho.inc" #declare grid_rd = 0.02; #include "nuvens.inc" background{ color rgb < 0.65, 0.8, 1 > } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.5, 0.5, 1.00 > filter 0.90 } finish{ diffuse 0.03 reflection 0.15 ambient 0.02 specular 0.15 roughness 0.005 } } #declare tx_plastico = texture{ pigment{ color rgb < 0.20, 0.85, 1.00 > } finish{ diffuse 0.9 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_metal = texture{ pigment{ color rgb 1} finish{ ambient 0.1 diffuse 0.4 reflection 0.5 } } #declare tx_xadrez = texture{ pigment { checker color rgb 0, color rgb 1 } scale 0.1 } #macro metadeCarro ( p1_32, p1_33, p1_34, p1_22, p1_23, p1_24, p1_12, p1_13, p1_14, p2_32, p2_33, p2_34, p2_22, p2_23, p2_24, p3_32, p3_33, p3_34, p3_22, p3_23, p3_24, p4_32, p4_33, p4_34, p4_22, p4_23, p4_24, p4_42, p4_43, p4_44 ) union { difference { union { #local p1_31 = ; #local p1_21 = ; #local p1_11 = ; #local p2_31 = ; #local p2_21 = ; #local p2_12 = (p2_22+p1_32)/2; #local p2_11 = ; #local p2_13 = (p2_23+p1_33)/2; #local p2_14 = (p2_24+p1_34)/2; #local p1_42 = (p2_22+p1_32)/2; #local p1_41 = ; #local p1_43 = (p2_23+p1_33)/2; #local p1_44 = (p2_24+p1_34)/2; #local p3_31 = ; #local p3_21 = ; #local p3_12 = (p3_22+p2_32)/2; #local p3_11 = ; #local p3_13 = (p3_23+p2_33)/2; #local p3_14 = (p3_24+p2_34)/2; #local p2_42 = (p3_22+p2_32)/2; #local p2_41 = ; #local p2_43 = (p3_23+p2_33)/2; #local p2_44 = (p3_24+p2_34)/2; #local p4_31 = ; #local p4_21 = ; #local p4_12 = (p4_22+p3_32)/2; #local p4_11 = ; #local p4_13 = (p4_23+p3_33)/2; #local p4_14 = (p4_24+p3_34)/2; #local p3_42 = (p4_22+p3_32)/2; #local p3_41 = ; #local p3_43 = (p4_23+p3_33)/2; #local p3_44 = (p4_24+p3_34)/2; #local p4_41 = ; object { retalho(p1_41,p1_42,p1_43,p1_44, p1_31,p1_32,p1_33,p1_34, p1_21,p1_22,p1_23,p1_24, p1_11,p1_12,p1_13,p1_14, tx_fosca, tx_metal) } object { retalho(p2_41,p2_42,p2_43,p2_44, p2_31,p2_32,p2_33,p2_34, p2_21,p2_22,p2_23,p2_24, p2_11,p2_12,p2_13,p2_14, tx_fosca, tx_metal) } object { retalho(p3_41,p3_42,p3_43,p3_44, p3_31,p3_32,p3_33,p3_34, p3_21,p3_22,p3_23,p3_24, p3_11,p3_12,p3_13,p3_14, tx_fosca, tx_metal) } object { retalho(p4_41,p4_42,p4_43,p4_44, p4_31,p4_32,p4_33,p4_34, p4_21,p4_22,p4_23,p4_24, p4_11,p4_12,p4_13,p4_14, tx_fosca, tx_metal) } } union { cylinder {<1, 2, 0>, <1, 4, 0>, 0.75} cylinder {<-5, 2, 0>, <-5, 4, 0>, 0.95} } } cylinder {<1, 2.4, 0>, <1, 2.8, 0>, 0.65} cylinder {<1, 2.5, 0>, <1, 2.85, 0>, 0.55 texture {tx_plastico}} cylinder {<-5, 2.4, 0>, <-5, 2.8, 0>, 0.85} cylinder {<-5, 2.5, 0>, <-5, 2.85, 0>, 0.75 texture {tx_plastico}} } #end #macro carro (p1_32, p1_33, p1_34, p1_22, p1_23, p1_24, p1_12, p1_13, p1_14, p2_32, p2_33, p2_34, p2_22, p2_23, p2_24, p3_32, p3_33, p3_34, p3_22, p3_23, p3_24, p4_32, p4_33, p4_34, p4_22, p4_23, p4_24, p4_42, p4_43, p4_44) object { metadeCarro(p1_32, p1_33, p1_34, p1_22, p1_23, p1_24, p1_12, p1_13, p1_14, p2_32, p2_33, p2_34, p2_22, p2_23, p2_24, p3_32, p3_33, p3_34, p3_22, p3_23, p3_24, p4_32, p4_33, p4_34, p4_22, p4_23, p4_24, p4_42, p4_43, p4_44) } object { metadeCarro(p1_32, p1_33, p1_34, p1_22, p1_23, p1_24, p1_12, p1_13, p1_14, p2_32, p2_33, p2_34, p2_22, p2_23, p2_24, p3_32, p3_33, p3_34, p3_22, p3_23, p3_24, p4_32, p4_33, p4_34, p4_22, p4_23, p4_24, p4_42, p4_43, p4_44) scale <1,-1,1> } #end #macro pico(tt) (sin(pi*tt+0.0001)/(pi*tt+0.0001) * cos(pi*tt/4)) #end #macro interpola(tt, p1, p2, p3, p4) (pico(tt+1)*p1 + pico(tt)*p2 + pico(tt-1)*p3 + pico(tt-2)*p4) #end #macro cena(tt) #local p1_32 = interpola(tt,<2,1,1>,<2,1,1>,<2,1,1>,<2,1,1>); #local p1_33 = interpola(tt,<2,3,2>,<2,3,2>,<2,3,2>,<2,3,2>); #local p1_34 = interpola(tt,<2,3,0>,<2,3,0>,<2,3,0>,<2,3,0>); #local p1_22 = interpola(tt,<4,1,1.5>,<4,1,1.5>,<3,1,1>,<3,1,1>); #local p1_23 = interpola(tt,<3,3,2>,<3,3,2>,<3,3,2>,<3,3,2>); #local p1_24 = interpola(tt,<2.7,3,0>,<2.7,3,0>,<2.7,3,0>,<2.7,3,0>); #local p1_12 = interpola(tt,<4,2,0>,<4,1,0>,<3,1,0>,<3,1,0>); #local p1_13 = interpola(tt,<3.5,2,0>,<3.5,2,0>,<3.5,2,0>,<3.5,2,0>); #local p1_14 = interpola(tt,<2.8,3,0>,<2.8,3,0>,<2.8,3,0>,<2.8,3,0>); #local p2_32 = interpola(tt,<-1,1,2>,<-1,1,2>,<-1,1,2>,<-1,1,1>); #local p2_33 = interpola(tt,<-1,3,2>,<-1,3,2>,<-1,3,2>,<-1,3,2>); #local p2_34 = interpola(tt,<-1,3,0>,<-1,3,0>,<-1,3,0>,<-1,3,0>); #local p2_22 = interpola(tt,<0,1,2>,<0,1,2>,<0,1,2>,<0,1,1>); #local p2_23 = interpola(tt,<0,3,2>,<0,3,2>,<0,3,2>,<0,3,2>); #local p2_24 = interpola(tt,<0,3,0>,<0,3,0>,<0,3,0>,<0,3,0>); #local p3_32 = interpola(tt,<-4,1,2>,<-4,1,2>,<-4,1,2>,<-4,1,2>); #local p3_33 = interpola(tt,<-4,3,2>,<-4,3,2>,<-4,3,2>,<-4,3,2>); #local p3_34 = interpola(tt,<-4,3,0>,<-4,3,0>,<-4,3,0>,<-4,3,0>); #local p3_22 = interpola(tt,<-3,1,2>,<-3,1,2>,<-3,1,2>,<-3,1,2>); #local p3_23 = interpola(tt,<-3,3,2>,<-3,3,2>,<-3,3,2>,<-3,3,2>); #local p3_24 = interpola(tt,<-3,3,0>,<-3,3,0>,<-3,3,0>,<-3,3,0>); #local p4_32 = interpola(tt,<-7,1,2>,<-7,1,2>,<-7,1,2>,<-7,1,2>); #local p4_33 = interpola(tt,<-7,3,2>,<-7,3,2>,<-7,3,2>,<-7,3,2>); #local p4_34 = interpola(tt,<-6.5,3,0.1>,<-6.5,3,0.1>,<-6.5,3,0.1>,<-6.5,3,0.1>); #local p4_22 = interpola(tt,<-6,1,1.5>,<-6,1,1.5>,<-6,1,2>,<-6,1,2>); #local p4_23 = interpola(tt,<-6,3,2>,<-6,3,2>,<-6,3,2>,<-6,3,2>); #local p4_24 = interpola(tt,<-6,3,0>,<-6,3,0>,<-6,3,0>,<-6,3,0>); #local p4_42 = interpola(tt,<-7,1,0>,<-7,1,0>,<-7,1,0>,<-7,1,0>); #local p4_43 = interpola(tt,<-7.5,2,0>,<-7.5,2,0>,<-7.5,2,0>,<-7.5,2,0>); #local p4_44 = interpola(tt,<-7.1,3,0>,<-7.1,3,0>,<-7.1,3,0>,<-7.1,3,0>); carro(p1_32, p1_33, p1_34, p1_22, p1_23, p1_24, p1_12, p1_13, p1_14, p2_32, p2_33, p2_34, p2_22, p2_23, p2_24, p3_32, p3_33, p3_34, p3_22, p3_23, p3_24, p4_32, p4_33, p4_34, p4_22, p4_23, p4_24, p4_42, p4_43, p4_44) #end cena(clock) // Original camera parameters: // #local cam_ctr = <-2.0,0.0,-1.0> // #local cam_loc = <7.0,10.0,5.0> // #local cam_vec = (<7.0,10.0,5.0>-<-2.0,0.0,-1.0>) // #local cam_sky = z #include "camlight.inc" camlight(<-2.0,0.0,-1.0>,8.50,<10,10,10>,14.731,z,1.2)