// Last edited on 2009-11-24 22:03:03 by stolfilocal // Processed by remove-cam-lights #macro eixo(ponta,cor,nome) union{ sphere{ <0,0,0>, 0.02 } cylinder{ <0,0,0>, 0.91*ponta, 0.02 } cone{ 0.90*ponta, 0.06, ponta, 0.00 } texture{ pigment{ color rgb cor } finish{ ambient 0.5 diffuse 0.5 } } } #end #macro eixos(tamanho) union{ object{ eixo( , <1.0,0.2,0.2>, "X") } object{ eixo( <0,tamanho,0>, <0.0,0.8,0.0>, "Y") } object{ eixo( <0,0,tamanho>, <0.3,0.3,1.0>, "Z") } } #end #include "nuvens.inc" #declare tx_grade = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ ambient 0.1 diffuse 0.9 } } #declare tx_fosca = texture{ pigment{ color rgb < 0.50, 1.00, 1.00 > } finish{ ambient 0.1 diffuse 0.7 reflection 0.2 * <1,1,1> } } #declare tx_carro2 = texture{ pigment{ color rgb < 0.00, 0.00, 0.00 > } finish{ ambient 0.1 diffuse 0.7 reflection 0.25 * <1,1,1> } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.90, 0.70 > } finish{ ambient 0.1 diffuse 0.1 reflection 0.8*< 1.00, 0.90, 0.70 > } } #declare tx_furo = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > filter 0.70 } finish{ diffuse 0.01 ambient 0.02} } #declare tx_vidro = texture{ pigment{ color rgb < 0.97, 0.98, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_world = texture{ pigment{ color rgb < 1.0, 1.0, 1.0 > } finish{ diffuse 0.01 ambient 0.02} } #declare raio = 2.000; #include "retalho.inc" #declare grid_rd = 0.01; #declare ck1 = 0; #declare q1_p11=<-0.00,0.00,0.00>; #declare q1_p12=<-0.33,0.00,0.30>; #declare q1_p13=<-0.66,0.00,0.45>; #declare q1_p21=<-0.00,0.33,0.00>; #declare q1_p22=<-0.33,0.33,0.30>; #declare q1_p23=<-0.66,0.33,0.45>; #declare q1_p31=<-0.2,0.66,0.00>; #declare q1_p32=<-0.33,0.66,0.25>; #declare q1_p33=<-0.66,0.66,0.35>; #declare q1_p41=<-0.40,1.00,0.00>; #declare q1_p42=<-0.50,1.00,0.00>; #declare q1_p43=<-0.66,1.00,0.00>; #declare q1_q12=<-1.20,0.00,0.65>; #declare q1_q13=<-1.40,0.00,0.70>; #declare q1_q22=<-1.20,0.33,0.65>; #declare q1_q23=<-1.40,0.33,0.70>; #declare q1_q32=<-1.20,0.66,0.45>; #declare q1_q33=<-1.40,0.66,0.45>; #declare q1_q42=<-1.20,1.00,0.25>; #declare q1_q43=<-1.40,1.00,0.25>; #declare q1_r12=<-2.40,0.00,0.75>; #declare q1_r13=<-3.20,0.00,0.75>; #declare q1_r22=<-2.40,0.33,0.75>; #declare q1_r23=<-3.20,0.33,0.75>; #declare q1_r32=<-2.40,0.66,0.45>; #declare q1_r33=<-3.20,0.66,0.45>; #declare q1_r42=<-2.40,1.00,0.00>; #declare q1_r43=<-3.20,1.00,0.00>; #declare q1_s12=<-4.20,0.00,0.65>; #declare q1_s13=<-4.40,0.00,0.70>; #declare q1_s22=<-4.20,0.33,0.65>; #declare q1_s23=<-4.40,0.33,0.70>; #declare q1_s32=<-4.20,0.66,0.45>; #declare q1_s33=<-4.40,0.66,0.45>; #declare q1_s42=<-4.20,1.00,0.25>; #declare q1_s43=<-4.40,1.00,0.25>; #declare q1_t12=<-4.93,0.00,0.60>; #declare q1_t13=<-5.26,0.00,0.45>; #declare q1_t14=<-5.59,0.00,0.30>; #declare q1_t22=<-4.93.33,0.60>; #declare q1_t23=<-5.26,0.33,0.45>; #declare q1_t24=<-5.59,0.33,0.30>; #declare q1_t32=<-4.93,0.66,0.75>; #declare q1_t33=<-5.26,0.66,0.50>; #declare q1_t34=<-5.39,0.66,0.25>; #declare q1_t42=<-4.93,1.00,0.00>; #declare q1_t43=<-5.06,1.00,0.00>; #declare q1_t44=<-5.16,1.00,0.00>; #declare q1_p14=(q1_p13+q1_q12)/2; #declare q1_p24=(q1_p23+q1_q22)/2; #declare q1_p34=(q1_p33+q1_q32)/2; #declare q1_p44=(q1_p43+q1_q42)/2; #declare q1_q14=(q1_q13+q1_r12)/2; #declare q1_q24=(q1_q23+q1_r22)/2; #declare q1_q34=(q1_q33+q1_r32)/2; #declare q1_q44=(q1_q43+q1_r42)/2; #declare q1_r14=(q1_r13+q1_s12)/2; #declare q1_r24=(q1_r23+q1_s22)/2; #declare q1_r34=(q1_r33+q1_s32)/2; #declare q1_r44=(q1_r43+q1_s42)/2; #declare q1_s14=(q1_s13+q1_t12)/2; #declare q1_s24=(q1_s23+q1_t22)/2; #declare q1_s34=(q1_s33+q1_t32)/2; #declare q1_s44=(q1_s43+q1_t42)/2; #declare q1_q11=q1_p14; #declare q1_q21=q1_p24; #declare q1_q31=q1_p34; #declare q1_q41=q1_p44; #declare q1_r11=q1_q14; #declare q1_r21=q1_q24; #declare q1_r31=q1_q34; #declare q1_r41=q1_q44; #declare q1_s11=q1_r14; #declare q1_s21=q1_r24; #declare q1_s31=q1_r34; #declare q1_s41=q1_r44; #declare q1_t11=q1_s14; #declare q1_t21=q1_s24; #declare q1_t31=q1_s34; #declare q1_t41=q1_s44; #declare ck2 = 1/6; #declare q2_p11=<-0.00,0.00,0.00>*<0.75,1.00,1.25>; #declare q2_p12=<-0.33,0.00,0.30>*<0.75,1.00,1.25>; #declare q2_p13=<-0.66,0.00,0.45>*<0.75,1.00,1.25>; #declare q2_p21=<-0.00,0.33,0.00>*<0.75,1.00,1.25>; #declare q2_p22=<-0.33,0.33,0.30>*<0.75,1.00,1.25>; #declare q2_p23=<-0.66,0.33,0.45>*<0.75,1.00,1.25>; #declare q2_p31=<-0.20,0.66,0.00>*<0.75,1.00,1.25>; #declare q2_p32=<-0.33,0.66,0.25>*<0.75,1.00,1.25>; #declare q2_p33=<-0.66,0.66,0.35>*<0.75,1.00,1.25>; #declare q2_p41=<-0.40,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_p42=<-0.50,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_p43=<-0.66,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_q12=<-1.20,0.00,0.65>*<0.75,1.00,1.25>; #declare q2_q13=<-1.40,0.00,0.70>*<0.75,1.00,1.25>; #declare q2_q22=<-1.20,0.33,0.65>*<0.75,1.00,1.25>; #declare q2_q23=<-1.40,0.33,0.70>*<0.75,1.00,1.25>; #declare q2_q32=<-1.20,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_q33=<-1.40,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_q42=<-1.20,1.00,0.25>*<0.75,1.00,1.25>; #declare q2_q43=<-1.40,1.00,0.25>*<0.75,1.00,1.25>; #declare q2_r12=<-2.40,0.00,0.75>*<0.75,1.00,1.25>; #declare q2_r13=<-3.20,0.00,0.75>*<0.75,1.00,1.25>; #declare q2_r22=<-2.40,0.33,0.75>*<0.75,1.00,1.25>; #declare q2_r23=<-3.20,0.33,0.75>*<0.75,1.00,1.25>; #declare q2_r32=<-2.40,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_r33=<-3.20,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_r42=<-2.40,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_r43=<-3.20,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_s12=<-4.20,0.00,0.65>*<0.75,1.00,1.25>; #declare q2_s13=<-4.40,0.00,0.70>*<0.75,1.00,1.25>; #declare q2_s22=<-4.20,0.33,0.65>*<0.75,1.00,1.25>; #declare q2_s23=<-4.40,0.33,0.70>*<0.75,1.00,1.25>; #declare q2_s32=<-4.20,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_s33=<-4.40,0.66,0.45>*<0.75,1.00,1.25>; #declare q2_s42=<-4.20,1.00,0.25>*<0.75,1.00,1.25>; #declare q2_s43=<-4.40,1.00,0.25>*<0.75,1.00,1.25>; #declare q2_t12=<-4.93,0.00,0.60>*<0.75,1.00,1.25>; #declare q2_t13=<-5.26,0.00,0.45>*<0.75,1.00,1.25>; #declare q2_t14=<-5.59,0.00,0.30>*<0.75,1.00,1.25>; #declare q2_t22=<-4.93,0.33,0.60>*<0.75,1.00,1.25>; #declare q2_t23=<-5.26,0.33,0.45>*<0.75,1.00,1.25>; #declare q2_t24=<-5.59,0.33,0.30>*<0.75,1.00,1.25>; #declare q2_t32=<-4.93,0.66,0.75>*<0.75,1.00,1.25>; #declare q2_t33=<-5.26,0.66,0.50>*<0.75,1.00,1.25>; #declare q2_t34=<-5.39,0.66,0.25>*<0.75,1.00,1.25>; #declare q2_t42=<-4.93,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_t43=<-5.06,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_t44=<-5.16,1.00,0.00>*<0.75,1.00,1.25>; #declare q2_p14=(q2_p13+q2_q12)/2; #declare q2_p24=(q2_p23+q2_q22)/2; #declare q2_p34=(q2_p33+q2_q32)/2; #declare q2_p44=(q2_p43+q2_q42)/2; #declare q2_q14=(q2_q13+q2_r12)/2; #declare q2_q24=(q2_q23+q2_r22)/2; #declare q2_q34=(q2_q33+q2_r32)/2; #declare q2_q44=(q2_q43+q2_r42)/2; #declare q2_r14=(q2_r13+q2_s12)/2; #declare q2_r24=(q2_r23+q2_s22)/2; #declare q2_r34=(q2_r33+q2_s32)/2; #declare q2_r44=(q2_r43+q2_s42)/2; #declare q2_s14=(q2_s13+q2_t12)/2; #declare q2_s24=(q2_s23+q2_t22)/2; #declare q2_s34=(q2_s33+q2_t32)/2; #declare q2_s44=(q2_s43+q2_t42)/2; #declare q2_q11=q2_p14; #declare q2_q21=q2_p24; #declare q2_q31=q2_p34; #declare q2_q41=q2_p44; #declare q2_r11=q2_q14; #declare q2_r21=q2_q24; #declare q2_r31=q2_q34; #declare q2_r41=q2_q44; #declare q2_s11=q2_r14; #declare q2_s21=q2_r24; #declare q2_s31=q2_r34; #declare q2_s41=q2_r44; #declare q2_t11=q2_s14; #declare q2_t21=q2_s24; #declare q2_t31=q2_s34; #declare q2_t41=q2_s44; #declare ck3 = 2/6; #declare q3_p11=<-0.00,0.00,0.00>*<0.50,1.00,1.50>; #declare q3_p12=<-0.33,0.00,0.30>*<0.50,1.00,1.50>; #declare q3_p13=<-0.66,0.00,0.45>*<0.50,1.00,1.50>; #declare q3_p21=<-0.00,0.33,0.00>*<0.50,1.00,1.50>; #declare q3_p22=<-0.33,0.33,0.30>*<0.50,1.00,1.50>; #declare q3_p23=<-0.66,0.33,0.45>*<0.50,1.00,1.50>; #declare q3_p31=<-0.20,0.66,0.00>*<0.50,1.00,1.50>; #declare q3_p32=<-0.33,0.66,0.25>*<0.50,1.00,1.50>; #declare q3_p33=<-0.66,0.66,0.35>*<0.50,1.00,1.50>; #declare q3_p41=<-0.40,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_p42=<-0.50,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_p43=<-0.66,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_q12=<-1.20,0.00,0.65>*<0.50,1.00,1.50>; #declare q3_q13=<-1.40,0.00,0.70>*<0.50,1.00,1.50>; #declare q3_q22=<-1.20,0.33,0.65>*<0.50,1.00,1.50>; #declare q3_q23=<-1.40,0.33,0.70>*<0.50,1.00,1.50>; #declare q3_q32=<-1.20,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_q33=<-1.40,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_q42=<-1.20,1.00,0.25>*<0.50,1.00,1.50>; #declare q3_q43=<-1.40,1.00,0.25>*<0.50,1.00,1.50>; #declare q3_r12=<-2.40,0.00,0.75>*<0.50,1.00,1.50>; #declare q3_r13=<-3.20,0.00,0.75>*<0.50,1.00,1.50>; #declare q3_r22=<-2.40,0.33,0.75>*<0.50,1.00,1.50>; #declare q3_r23=<-3.20,0.33,0.75>*<0.50,1.00,1.50>; #declare q3_r32=<-2.40,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_r33=<-3.20,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_r42=<-2.40,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_r43=<-3.20,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_s12=<-4.20,0.00,0.65>*<0.50,1.00,1.50>; #declare q3_s13=<-4.40,0.00,0.70>*<0.50,1.00,1.50>; #declare q3_s22=<-4.20,0.33,0.65>*<0.50,1.00,1.50>; #declare q3_s23=<-4.40,0.33,0.70>*<0.50,1.00,1.50>; #declare q3_s32=<-4.20,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_s33=<-4.40,0.66,0.45>*<0.50,1.00,1.50>; #declare q3_s42=<-4.20,1.00,0.25>*<0.50,1.00,1.50>; #declare q3_s43=<-4.40,1.00,0.25>*<0.50,1.00,1.50>; #declare q3_t12=<-4.93,0.00,0.60>*<0.50,1.00,1.50>; #declare q3_t13=<-5.26,0.00,0.45>*<0.50,1.00,1.50>; #declare q3_t14=<-5.59,0.00,0.30>*<0.50,1.00,1.50>; #declare q3_t22=<-4.93,0.33,0.60>*<0.50,1.00,1.50>; #declare q3_t23=<-5.26,0.33,0.45>*<0.50,1.00,1.50>; #declare q3_t24=<-5.59,0.33,0.30>*<0.50,1.00,1.50>; #declare q3_t32=<-4.93,0.66,0.75>*<0.50,1.00,1.50>; #declare q3_t33=<-5.26,0.66,0.50>*<0.50,1.00,1.50>; #declare q3_t34=<-5.39,0.66,0.25>*<0.50,1.00,1.50>; #declare q3_t42=<-4.93,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_t43=<-5.06,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_t44=<-5.16,1.00,0.00>*<0.50,1.00,1.50>; #declare q3_p14=(q3_p13+q3_q12)/2; #declare q3_p24=(q3_p23+q3_q22)/2; #declare q3_p34=(q3_p33+q3_q32)/2; #declare q3_p44=(q3_p43+q3_q42)/2; #declare q3_q14=(q3_q13+q3_r12)/2; #declare q3_q24=(q3_q23+q3_r22)/2; #declare q3_q34=(q3_q33+q3_r32)/2; #declare q3_q44=(q3_q43+q3_r42)/2; #declare q3_r14=(q3_r13+q3_s12)/2; #declare q3_r24=(q3_r23+q3_s22)/2; #declare q3_r34=(q3_r33+q3_s32)/2; #declare q3_r44=(q3_r43+q3_s42)/2; #declare q3_s14=(q3_s13+q3_t12)/2; #declare q3_s24=(q3_s23+q3_t22)/2; #declare q3_s34=(q3_s33+q3_t32)/2; #declare q3_s44=(q3_s43+q3_t42)/2; #declare q3_q11=q3_p14; #declare q3_q21=q3_p24; #declare q3_q31=q3_p34; #declare q3_q41=q3_p44; #declare q3_r11=q3_q14; #declare q3_r21=q3_q24; #declare q3_r31=q3_q34; #declare q3_r41=q3_q44; #declare q3_s11=q3_r14; #declare q3_s21=q3_r24; #declare q3_s31=q3_r34; #declare q3_s41=q3_r44; #declare q3_t11=q3_s14; #declare q3_t21=q3_s24; #declare q3_t31=q3_s34; #declare q3_t41=q3_s44; #declare ck4 = 3/6; #declare q4_p11=<-0.00,0.00,0.00>*<0.25,1.00,1.75>; #declare q4_p12=<-0.33,0.00,0.30>*<0.25,1.00,1.75>; #declare q4_p13=<-0.66,0.00,0.45>*<0.25,1.00,1.75>; #declare q4_p21=<-0.00,0.33,0.00>*<0.25,1.00,1.75>; #declare q4_p22=<-0.33,0.33,0.30>*<0.25,1.00,1.75>; #declare q4_p23=<-0.66,0.33,0.45>*<0.25,1.00,1.75>; #declare q4_p31=<-0.2,0.66,0.00>*<0.25,1.00,1.75>; #declare q4_p32=<-0.33,0.66,0.25>*<0.25,1.00,1.75>; #declare q4_p33=<-0.66,0.66,0.35>*<0.25,1.00,1.75>; #declare q4_p41=<-0.40,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_p42=<-0.50,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_p43=<-0.66,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_q12=<-1.20,0.00,0.65>*<0.25,1.00,1.75>; #declare q4_q13=<-1.40,0.00,0.70>*<0.25,1.00,1.75>; #declare q4_q22=<-1.20,0.33,0.65>*<0.25,1.00,1.75>; #declare q4_q23=<-1.40,0.33,0.70>*<0.25,1.00,1.75>; #declare q4_q32=<-1.20,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_q33=<-1.40,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_q42=<-1.20,1.00,0.25>*<0.25,1.00,1.75>; #declare q4_q43=<-1.40,1.00,0.25>*<0.25,1.00,1.75>; #declare q4_r12=<-2.40,0.00,0.75>*<0.25,1.00,1.75>; #declare q4_r13=<-3.20,0.00,0.75>*<0.25,1.00,1.75>; #declare q4_r22=<-2.40,0.33,0.75>*<0.25,1.00,1.75>; #declare q4_r23=<-3.20,0.33,0.75>*<0.25,1.00,1.75>; #declare q4_r32=<-2.40,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_r33=<-3.20,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_r42=<-2.40,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_r43=<-3.20,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_s12=<-4.20,0.00,0.65>*<0.25,1.00,1.75>; #declare q4_s13=<-4.40,0.00,0.70>*<0.25,1.00,1.75>; #declare q4_s22=<-4.20,0.33,0.65>*<0.25,1.00,1.75>; #declare q4_s23=<-4.40,0.33,0.70>*<0.25,1.00,1.75>; #declare q4_s32=<-4.20,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_s33=<-4.40,0.66,0.45>*<0.25,1.00,1.75>; #declare q4_s42=<-4.20,1.00,0.25>*<0.25,1.00,1.75>; #declare q4_s43=<-4.40,1.00,0.25>*<0.25,1.00,1.75>; #declare q4_t12=<-4.93,0.00,0.60>*<0.25,1.00,1.75>; #declare q4_t13=<-5.26,0.00,0.45>*<0.25,1.00,1.75>; #declare q4_t14=<-5.59,0.00,0.30>*<0.25,1.00,1.75>; #declare q4_t22=<-4.93.33,0.60>*<0.25,1.00,1.75>; #declare q4_t23=<-5.26,0.33,0.45>*<0.25,1.00,1.75>; #declare q4_t24=<-5.59,0.33,0.30>*<0.25,1.00,1.75>; #declare q4_t32=<-4.93,0.66,0.75>*<0.25,1.00,1.75>; #declare q4_t33=<-5.26,0.66,0.50>*<0.25,1.00,1.75>; #declare q4_t34=<-5.39,0.66,0.25>*<0.25,1.00,1.75>; #declare q4_t42=<-4.93,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_t43=<-5.06,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_t44=<-5.16,1.00,0.00>*<0.25,1.00,1.75>; #declare q4_p14=(q4_p13+q4_q12)/2; #declare q4_p24=(q4_p23+q4_q22)/2; #declare q4_p34=(q4_p33+q4_q32)/2; #declare q4_p44=(q4_p43+q4_q42)/2; #declare q4_q14=(q4_q13+q4_r12)/2; #declare q4_q24=(q4_q23+q4_r22)/2; #declare q4_q34=(q4_q33+q4_r32)/2; #declare q4_q44=(q4_q43+q4_r42)/2; #declare q4_r14=(q4_r13+q4_s12)/2; #declare q4_r24=(q4_r23+q4_s22)/2; #declare q4_r34=(q4_r33+q4_s32)/2; #declare q4_r44=(q4_r43+q4_s42)/2; #declare q4_s14=(q4_s13+q4_t12)/2; #declare q4_s24=(q4_s23+q4_t22)/2; #declare q4_s34=(q4_s33+q4_t32)/2; #declare q4_s44=(q4_s43+q4_t42)/2; #declare q4_q11=q4_p14; #declare q4_q21=q4_p24; #declare q4_q31=q4_p34; #declare q4_q41=q4_p44; #declare q4_r11=q4_q14; #declare q4_r21=q4_q24; #declare q4_r31=q4_q34; #declare q4_r41=q4_q44; #declare q4_s11=q4_r14; #declare q4_s21=q4_r24; #declare q4_s31=q4_r34; #declare q4_s41=q4_r44; #declare q4_t11=q4_s14; #declare q4_t21=q4_s24; #declare q4_t31=q4_s34; #declare q4_t41=q4_s44; #macro automovel(P21,P22,P23,P31,P32,P33,P41,P42,P43, Q22,Q23,Q32,Q33,Q42,Q43, R22,R23,R32,R33,R42,R43, S22,S23,S32,S33,S42,S43, T22,T23,T24,T32,T33,T34,T42,T43,T44) #local P24=(P23+Q22)/2; #local P34=(P33+Q32)/2; #local P44=(P43+Q42)/2; #local Q24=(Q23+R22)/2; #local Q34=(Q33+R32)/2; #local Q44=(Q43+R42)/2; #local R24=(R23+S22)/2; #local R34=(R33+S32)/2; #local R44=(R43+S42)/2; #local S24=(S23+T22)/2; #local S34=(S33+T32)/2; #local S44=(S43+T42)/2; #local Q21=P24; #local Q31=P34; #local Q41=P44; #local R21=Q24; #local R31=Q34; #local R41=Q44; #local S21=R24; #local S31=R34; #local S41=R44; #local T21=S24; #local T31=S34; #local T41=S44; #local P11=(P21+P21*<1.00,-1.00,1.00>)/2; #local P12=(P22+P22*<1.00,-1.00,1.00>)/2; #local P13=(P23+P23*<1.00,-1.00,1.00>)/2; #local P14=(P24+P24*<1.00,-1.00,1.00>)/2; #local Q11=(Q21+Q21*<1.00,-1.00,1.00>)/2; #local Q12=(Q22+Q22*<1.00,-1.00,1.00>)/2; #local Q13=(Q23+Q23*<1.00,-1.00,1.00>)/2; #local Q14=(Q24+Q24*<1.00,-1.00,1.00>)/2; #local R11=(R21+R21*<1.00,-1.00,1.00>)/2; #local R12=(R22+R22*<1.00,-1.00,1.00>)/2; #local R13=(R23+R23*<1.00,-1.00,1.00>)/2; #local R14=(R24+R24*<1.00,-1.00,1.00>)/2; #local S11=(S21+S21*<1.00,-1.00,1.00>)/2; #local S12=(S22+S22*<1.00,-1.00,1.00>)/2; #local S13=(S23+S23*<1.00,-1.00,1.00>)/2; #local S14=(S24+S24*<1.00,-1.00,1.00>)/2; #local T11=(T21+T21*<1.00,-1.00,1.00>)/2; #local T12=(T22+T22*<1.00,-1.00,1.00>)/2; #local T13=(T23+T23*<1.00,-1.00,1.00>)/2; #local T14=(T24+T24*<1.00,-1.00,1.00>)/2; union{ union{ object { retalho(P11,P12,P13,P14,P21,P22,P23,P24,P31,P32,P33,P34,P41,P42,P43,P44,tx_grade,tx_fosca) } object { retalho(Q11,Q12,Q13,Q14,Q21,Q22,Q23,Q24,Q31,Q32,Q33,Q34,Q41,Q42,Q43,Q44,tx_grade,tx_fosca) } object { retalho(R11,R12,R13,R14,R21,R22,R23,R24,R31,R32,R33,R34,R41,R42,R43,R44,tx_grade,tx_fosca) } object { retalho(S11,S12,S13,S14,S21,S22,S23,S24,S31,S32,S33,S34,S41,S42,S43,S44,tx_grade,tx_fosca) } object { retalho(T11,T12,T13,T14,T21,T22,T23,T24,T31,T32,T33,T34,T41,T42,T43,T44,tx_grade,tx_fosca) } } union{ object { retalho(P11,P12,P13,P14,P21,P22,P23,P24,P31,P32,P33,P34,P41,P42,P43,P44,tx_grade,tx_fosca) } object { retalho(Q11,Q12,Q13,Q14,Q21,Q22,Q23,Q24,Q31,Q32,Q33,Q34,Q41,Q42,Q43,Q44,tx_grade,tx_fosca) } object { retalho(R11,R12,R13,R14,R21,R22,R23,R24,R31,R32,R33,R34,R41,R42,R43,R44,tx_grade,tx_fosca) } object { retalho(S11,S12,S13,S14,S21,S22,S23,S24,S31,S32,S33,S34,S41,S42,S43,S44,tx_grade,tx_fosca) } object { retalho(T11,T12,T13,T14,T21,T22,T23,T24,T31,T32,T33,T34,T41,T42,T43,T44,tx_grade,tx_fosca) } scale <1,-1,1> } } #end #macro automovel2(P21,P22,P23,P31,P32,P33,P41,P42,P43, Q22,Q23,Q32,Q33,Q42,Q43, R22,R23,R32,R33,R42,R43, S22,S23,S32,S33,S42,S43, T22,T23,T24,T32,T33,T34,T42,T43,T44) #local P24=(P23+Q22)/2; #local P34=(P33+Q32)/2; #local P44=(P43+Q42)/2; #local Q24=(Q23+R22)/2; #local Q34=(Q33+R32)/2; #local Q44=(Q43+R42)/2; #local R24=(R23+S22)/2; #local R34=(R33+S32)/2; #local R44=(R43+S42)/2; #local S24=(S23+T22)/2; #local S34=(S33+T32)/2; #local S44=(S43+T42)/2; #local Q21=P24; #local Q31=P34; #local Q41=P44; #local R21=Q24; #local R31=Q34; #local R41=Q44; #local S21=R24; #local S31=R34; #local S41=R44; #local T21=S24; #local T31=S34; #local T41=S44; #local P11=(P21+P21*<1.00,-1.00,1.00>)/2; #local P12=(P22+P22*<1.00,-1.00,1.00>)/2; #local P13=(P23+P23*<1.00,-1.00,1.00>)/2; #local P14=(P24+P24*<1.00,-1.00,1.00>)/2; #local Q11=(Q21+Q21*<1.00,-1.00,1.00>)/2; #local Q12=(Q22+Q22*<1.00,-1.00,1.00>)/2; #local Q13=(Q23+Q23*<1.00,-1.00,1.00>)/2; #local Q14=(Q24+Q24*<1.00,-1.00,1.00>)/2; #local R11=(R21+R21*<1.00,-1.00,1.00>)/2; #local R12=(R22+R22*<1.00,-1.00,1.00>)/2; #local R13=(R23+R23*<1.00,-1.00,1.00>)/2; #local R14=(R24+R24*<1.00,-1.00,1.00>)/2; #local S11=(S21+S21*<1.00,-1.00,1.00>)/2; #local S12=(S22+S22*<1.00,-1.00,1.00>)/2; #local S13=(S23+S23*<1.00,-1.00,1.00>)/2; #local S14=(S24+S24*<1.00,-1.00,1.00>)/2; #local T11=(T21+T21*<1.00,-1.00,1.00>)/2; #local T12=(T22+T22*<1.00,-1.00,1.00>)/2; #local T13=(T23+T23*<1.00,-1.00,1.00>)/2; #local T14=(T24+T24*<1.00,-1.00,1.00>)/2; union{ union{ object { retalho(P11,P12,P13,P14,P21,P22,P23,P24,P31,P32,P33,P34,P41,P42,P43,P44,tx_grade,tx_carro2) } object { retalho(Q11,Q12,Q13,Q14,Q21,Q22,Q23,Q24,Q31,Q32,Q33,Q34,Q41,Q42,Q43,Q44,tx_grade,tx_carro2) } object { retalho(R11,R12,R13,R14,R21,R22,R23,R24,R31,R32,R33,R34,R41,R42,R43,R44,tx_grade,tx_carro2) } object { retalho(S11,S12,S13,S14,S21,S22,S23,S24,S31,S32,S33,S34,S41,S42,S43,S44,tx_grade,tx_carro2) } object { retalho(T11,T12,T13,T14,T21,T22,T23,T24,T31,T32,T33,T34,T41,T42,T43,T44,tx_grade,tx_carro2) } } union{ object { retalho(P11,P12,P13,P14,P21,P22,P23,P24,P31,P32,P33,P34,P41,P42,P43,P44,tx_grade,tx_carro2) } object { retalho(Q11,Q12,Q13,Q14,Q21,Q22,Q23,Q24,Q31,Q32,Q33,Q34,Q41,Q42,Q43,Q44,tx_grade,tx_carro2) } object { retalho(R11,R12,R13,R14,R21,R22,R23,R24,R31,R32,R33,R34,R41,R42,R43,R44,tx_grade,tx_carro2) } object { retalho(S11,S12,S13,S14,S21,S22,S23,S24,S31,S32,S33,S34,S41,S42,S43,S44,tx_grade,tx_carro2) } object { retalho(T11,T12,T13,T14,T21,T22,T23,T24,T31,T32,T33,T34,T41,T42,T43,T44,tx_grade,tx_carro2) } scale <1,-1,1> } scale <0.50,0.50,1.00> } #end #macro cena (ck) #if ((ck >= ck1) & (ck < ck2)) #local tt = (ck - ck1) / (ck2 - ck1); #local p21 = (1-tt)*q1_p21 + tt*q2_p21; #local p22 = (1-tt)*q1_p22 + tt*q2_p22; #local p23 = (1-tt)*q1_p23 + tt*q2_p23; #local p31 = (1-tt)*q1_p31 + tt*q2_p31; #local p32 = (1-tt)*q1_p32 + tt*q2_p32; #local p33 = (1-tt)*q1_p33 + tt*q2_p33; #local p41 = (1-tt)*q1_p41 + tt*q2_p41; #local p42 = (1-tt)*q1_p42 + tt*q2_p42; #local p43 = (1-tt)*q1_p43 + tt*q2_p43; #local q22 = (1-tt)*q1_q22 + tt*q2_q22; #local q23 = (1-tt)*q1_q23 + tt*q2_q23; #local q32 = (1-tt)*q1_q32 + tt*q2_q32; #local q33 = (1-tt)*q1_q33 + tt*q2_q33; #local q42 = (1-tt)*q1_q42 + tt*q2_q42; #local q43 = (1-tt)*q1_q43 + tt*q2_q43; #local q44 = (1-tt)*q1_q44 + tt*q2_q44; #local r22 = (1-tt)*q1_r22 + tt*q2_r22; #local r23 = (1-tt)*q1_r23 + tt*q2_r23; #local r32 = (1-tt)*q1_r32 + tt*q2_r32; #local r33 = (1-tt)*q1_r33 + tt*q2_r33; #local r42 = (1-tt)*q1_r42 + tt*q2_r42; #local r43 = (1-tt)*q1_r43 + tt*q2_r43; #local r44 = (1-tt)*q1_r44 + tt*q2_r44; #local s22 = (1-tt)*q1_s22 + tt*q2_s22; #local s23 = (1-tt)*q1_s23 + tt*q2_s23; #local s32 = (1-tt)*q1_s32 + tt*q2_s32; #local s33 = (1-tt)*q1_s33 + tt*q2_s33; #local s42 = (1-tt)*q1_s42 + tt*q2_s42; #local s43 = (1-tt)*q1_s43 + tt*q2_s43; #local s44 = (1-tt)*q1_s44 + tt*q2_s44; #local t22 = (1-tt)*q1_t22 + tt*q2_t22; #local t23 = (1-tt)*q1_t23 + tt*q2_t23; #local t24 = (1-tt)*q1_t24 + tt*q2_t24; #local t32 = (1-tt)*q1_t32 + tt*q2_t32; #local t33 = (1-tt)*q1_t33 + tt*q2_t33; #local t34 = (1-tt)*q1_t34 + tt*q2_t34; #local t42 = (1-tt)*q1_t42 + tt*q2_t42; #local t43 = (1-tt)*q1_t43 + tt*q2_t43; #local t44 = (1-tt)*q1_t44 + tt*q2_t44; #end #if ((ck >= ck2) & (ck < ck3)) #local tt = (ck - ck2) / (ck3 - ck2); #local p21 = (1-tt)*q2_p21 + tt*q3_p21; #local p22 = (1-tt)*q2_p22 + tt*q3_p22; #local p23 = (1-tt)*q2_p23 + tt*q3_p23; #local p31 = (1-tt)*q2_p31 + tt*q3_p31; #local p32 = (1-tt)*q2_p32 + tt*q3_p32; #local p33 = (1-tt)*q2_p33 + tt*q3_p33; #local p41 = (1-tt)*q2_p41 + tt*q3_p41; #local p42 = (1-tt)*q2_p42 + tt*q3_p42; #local p43 = (1-tt)*q2_p43 + tt*q3_p43; #local q22 = (1-tt)*q2_q22 + tt*q3_q22; #local q23 = (1-tt)*q2_q23 + tt*q3_q23; #local q32 = (1-tt)*q2_q32 + tt*q3_q32; #local q33 = (1-tt)*q2_q33 + tt*q3_q33; #local q42 = (1-tt)*q2_q42 + tt*q3_q42; #local q43 = (1-tt)*q2_q43 + tt*q3_q43; #local q44 = (1-tt)*q2_q44 + tt*q3_q44; #local r22 = (1-tt)*q2_r22 + tt*q3_r22; #local r23 = (1-tt)*q2_r23 + tt*q3_r23; #local r32 = (1-tt)*q2_r32 + tt*q3_r32; #local r33 = (1-tt)*q2_r33 + tt*q3_r33; #local r42 = (1-tt)*q2_r42 + tt*q3_r42; #local r43 = (1-tt)*q2_r43 + tt*q3_r43; #local r44 = (1-tt)*q2_r44 + tt*q3_r44; #local s22 = (1-tt)*q2_s22 + tt*q3_s22; #local s23 = (1-tt)*q2_s23 + tt*q3_s23; #local s32 = (1-tt)*q2_s32 + tt*q3_s32; #local s33 = (1-tt)*q2_s33 + tt*q3_s33; #local s42 = (1-tt)*q2_s42 + tt*q3_s42; #local s43 = (1-tt)*q2_s43 + tt*q3_s43; #local s44 = (1-tt)*q2_s44 + tt*q3_s44; #local t22 = (1-tt)*q2_t22 + tt*q3_t22; #local t23 = (1-tt)*q2_t23 + tt*q3_t23; #local t24 = (1-tt)*q2_t24 + tt*q3_t24; #local t32 = (1-tt)*q2_t32 + tt*q3_t32; #local t33 = (1-tt)*q2_t33 + tt*q3_t33; #local t34 = (1-tt)*q2_t34 + tt*q3_t34; #local t42 = (1-tt)*q2_t42 + tt*q3_t42; #local t43 = (1-tt)*q2_t43 + tt*q3_t43; #local t44 = (1-tt)*q2_t44 + tt*q3_t44; #end #if ((ck >= ck3) & (ck < ck4)) #local tt = (ck - ck3) / (ck4 - ck3); #local p21 = (1-tt)*q3_p21 + tt*q4_p21; #local p22 = (1-tt)*q3_p22 + tt*q4_p22; #local p23 = (1-tt)*q3_p23 + tt*q4_p23; #local p31 = (1-tt)*q3_p31 + tt*q4_p31; #local p32 = (1-tt)*q3_p32 + tt*q4_p32; #local p33 = (1-tt)*q3_p33 + tt*q4_p33; #local p41 = (1-tt)*q3_p41 + tt*q4_p41; #local p42 = (1-tt)*q3_p42 + tt*q4_p42; #local p43 = (1-tt)*q3_p43 + tt*q4_p43; #local q22 = (1-tt)*q3_q22 + tt*q4_q22; #local q23 = (1-tt)*q3_q23 + tt*q4_q23; #local q32 = (1-tt)*q3_q32 + tt*q4_q32; #local q33 = (1-tt)*q3_q33 + tt*q4_q33; #local q42 = (1-tt)*q3_q42 + tt*q4_q42; #local q43 = (1-tt)*q3_q43 + tt*q4_q43; #local q44 = (1-tt)*q3_q44 + tt*q4_q44; #local r22 = (1-tt)*q3_r22 + tt*q4_r22; #local r23 = (1-tt)*q3_r23 + tt*q4_r23; #local r32 = (1-tt)*q3_r32 + tt*q4_r32; #local r33 = (1-tt)*q3_r33 + tt*q4_r33; #local r42 = (1-tt)*q3_r42 + tt*q4_r42; #local r43 = (1-tt)*q3_r43 + tt*q4_r43; #local r44 = (1-tt)*q3_r44 + tt*q4_r44; #local s22 = (1-tt)*q3_s22 + tt*q4_s22; #local s23 = (1-tt)*q3_s23 + tt*q4_s23; #local s32 = (1-tt)*q3_s32 + tt*q4_s32; #local s33 = (1-tt)*q3_s33 + tt*q4_s33; #local s42 = (1-tt)*q3_s42 + tt*q4_s42; #local s43 = (1-tt)*q3_s43 + tt*q4_s43; #local s44 = (1-tt)*q3_s44 + tt*q4_s44; #local t22 = (1-tt)*q3_t22 + tt*q4_t22; #local t23 = (1-tt)*q3_t23 + tt*q4_t23; #local t24 = (1-tt)*q3_t24 + tt*q4_t24; #local t32 = (1-tt)*q3_t32 + tt*q4_t32; #local t33 = (1-tt)*q3_t33 + tt*q4_t33; #local t34 = (1-tt)*q3_t34 + tt*q4_t34; #local t42 = (1-tt)*q3_t42 + tt*q4_t42; #local t43 = (1-tt)*q3_t43 + tt*q4_t43; #local t44 = (1-tt)*q3_t44 + tt*q4_t44; #end #if (ck >= ck4) #local tt = (ck - ck4) / (1 - ck4); #local p21 = (1-tt)*q4_p21 + tt*q1_p21; #local p22 = (1-tt)*q4_p22 + tt*q1_p22; #local p23 = (1-tt)*q4_p23 + tt*q1_p23; #local p31 = (1-tt)*q4_p31 + tt*q1_p31; #local p32 = (1-tt)*q4_p32 + tt*q1_p32; #local p33 = (1-tt)*q4_p33 + tt*q1_p33; #local p41 = (1-tt)*q4_p41 + tt*q1_p41; #local p42 = (1-tt)*q4_p42 + tt*q1_p42; #local p43 = (1-tt)*q4_p43 + tt*q1_p43; #local q22 = (1-tt)*q4_q22 + tt*q1_q22; #local q23 = (1-tt)*q4_q23 + tt*q1_q23; #local q32 = (1-tt)*q4_q32 + tt*q1_q32; #local q33 = (1-tt)*q4_q33 + tt*q1_q33; #local q42 = (1-tt)*q4_q42 + tt*q1_q42; #local q43 = (1-tt)*q4_q43 + tt*q1_q43; #local q44 = (1-tt)*q4_q44 + tt*q1_q44; #local r22 = (1-tt)*q4_r22 + tt*q1_r22; #local r23 = (1-tt)*q4_r23 + tt*q1_r23; #local r32 = (1-tt)*q4_r32 + tt*q1_r32; #local r33 = (1-tt)*q4_r33 + tt*q1_r33; #local r42 = (1-tt)*q4_r42 + tt*q1_r42; #local r43 = (1-tt)*q4_r43 + tt*q1_r43; #local r44 = (1-tt)*q4_r44 + tt*q1_r44; #local s22 = (1-tt)*q4_s22 + tt*q1_s22; #local s23 = (1-tt)*q4_s23 + tt*q1_s23; #local s32 = (1-tt)*q4_s32 + tt*q1_s32; #local s33 = (1-tt)*q4_s33 + tt*q1_s33; #local s42 = (1-tt)*q4_s42 + tt*q1_s42; #local s43 = (1-tt)*q4_s43 + tt*q1_s43; #local s44 = (1-tt)*q4_s44 + tt*q1_s44; #local t22 = (1-tt)*q4_t22 + tt*q1_t22; #local t23 = (1-tt)*q4_t23 + tt*q1_t23; #local t24 = (1-tt)*q4_t24 + tt*q1_t24; #local t32 = (1-tt)*q4_t32 + tt*q1_t32; #local t33 = (1-tt)*q4_t33 + tt*q1_t33; #local t34 = (1-tt)*q4_t34 + tt*q1_t34; #local t42 = (1-tt)*q4_t42 + tt*q1_t42; #local t43 = (1-tt)*q4_t43 + tt*q1_t43; #local t44 = (1-tt)*q4_t44 + tt*q1_t44; #end object{ automovel (p21,p22,p23,p31,p32,p33,p41,p42,p43, q22,q23,q32,q33,q42,q43, r22,r23,r32,r33,r42,r43, s22,s23,s32,s33,s42,s43, t22,t23,t24,t32,t33,t34,t42,t43,t44) } #end union { object { cena ( (1+cos(2*pi*clock))/2 ) } } // Original camera parameters: // #local cam_ctr = <-2,0,0> // #local cam_loc = <2.00,3.00,2.00> // #local cam_vec = (<2.00,3.00,2.00>-<-2,0,0>) // #local cam_sky = z #include "camlight.inc" camlight(<-2,0,0>,2.962,<10,10,10>,5.385,z,1.2)