// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-07-31 12:50:37 by stolfi // ====================================================================== // CAMERA #include "colors.inc" camera { location 3*<2,3,4> // Posi-bção do observador.-A right -0.8*x // Largura RELATIVA da imagem. up 0.6*z // Altura RELATIVA da imagem. sky <0,0,1> // Qual dire-bção é "para cima"?-A look_at <0,0,0> // Para onde a c-bâmera está apontando.-A } // Nota: os par-bâmetros "right" e "up" devem ter a mesma proporção-A // que os par-bâmetros ${WIDTH} e ${HEIGHT} no Makefile.-A // ====================================================================== // FONTES DE LUZ light_source { 10 * < -30, 30, 10 > color rgb 0.8 * < 1.00, 1.00, 1.00 > } light_source { 10 * < -30, 30, -10 > color rgb 0.8 * < 1.00, 1.00, 1.00 > } light_source { 10 * < -30, -30, 10 > color rgb 0.8 * < 1.00, 1.00, 1.00 > } light_source { 10 * < -30, -30, -10 > color rgb 0.8 * < 1.00, 1.00, 1.00 > } // ====================================================================== // DESCRICAO DA CENA #declare R=2; #declare prof=-8; #declare cisalha = <3,3,0>; #declare altura = 6; #declare alturachapeu = 3; //--------------------- #declare A11 = ; #declare A12 = ; #declare A13 = ; #declare A14 = ; #declare A21 = ; #declare A24 = ; #declare A22 = (2*A21+A24)/3 + <0,0,prof> + cisalha; #declare A23 = (A21+2*A24)/3 + <0,0,prof> + cisalha; #declare A31 = ; #declare A34 = ; #declare A32 = (2*A31+A34)/3 + <0,0,prof> + cisalha; #declare A33 = (A31+2*A34)/3 + <0,0,prof> + cisalha; #declare A41 = ; #declare A42 = ; #declare A43 = ; #declare A44 = ; //--------------------- #declare C11 = A11; #declare C12 = A12; #declare C13 = A13; #declare C14 = A14; #declare C21 = A21; #declare C24 = A24; #declare C22 = C21 + <0,0,altura>; #declare C23 = C24 + <0,0,altura>; #declare C31 = A31; #declare C34 = A34; #declare C32 = C31 + <0,0,altura>; #declare C33 = C34 + <0,0,altura>; #declare C41 = A41; #declare C42 = A42; #declare C43 = A43; #declare C44 = A44; //--------------------- #declare D11 = A11*<0.5,0.5,0.5>; #declare D12 = A12*<0.5,0.5,0.5>; #declare D13 = A13*<0.5,0.5,0.5>; #declare D14 = A14*<0.5,0.5,0.5>; #declare D21 = A21*<0.5,0.5,0.5>; #declare D24 = A24*<0.5,0.5,0.5>; #declare D22 = D21*<3,3,3> + <0,0,alturachapeu>; #declare D23 = D24*<3,3,3> + <0,0,alturachapeu>; #declare D31 = A31*<0.5,0.5,0.5>; #declare D34 = A34*<0.5,0.5,0.5>; #declare D32 = D31*<3,3,3>; #declare D33 = D34*<3,3,3>; #declare D41 = A41*<0.5,0.5,0.5>; #declare D42 = A42*<0.5,0.5,0.5>; #declare D43 = A43*<0.5,0.5,0.5>; #declare D44 = A44*<0.5,0.5,0.5>; //--------------------- #declare E11 = D11; #declare E12 = D12; #declare E13 = D13; #declare E14 = D14; #declare E41 = E11 + <1,1,0.5>; #declare E42 = E12 + <1,1,0.5>; #declare E43 = E13 + <1,1,0.5>; #declare E44 = E14 + <1,1,0.5>; #declare E21 = (2*E11+E41)/3; #declare E22 = (2*E12+E42)/3; #declare E23 = (2*E13+E43)/3; #declare E24 = (2*E14+E44)/3; #declare E31 = (E11+2*E41)/3; #declare E32 = (E12+2*E42)/3; #declare E33 = (E13+2*E43)/3; #declare E34 = (E14+2*E44)/3; //--------------------- #declare F11 = E14; #declare F12 = E24; #declare F13 = E34; #declare F14 = E44; #declare F41 = D44; #declare F42 = D24 + <-1,1,0.5>; #declare F43 = D34 + <-1,1,0.5>; #declare F44 = D44 + <-1,1,0.5>; #declare F21 = D34; #declare F22 = (2*F12+F42)/3; #declare F23 = (2*F13+F43)/3; #declare F24 = (2*F14+F44)/3; #declare F31 = D34 + <0.001,0,0>; #declare F32 = (F12+2*F42)/3; #declare F33 = (F13+2*F43)/3; #declare F34 = (F14+2*F44)/3; //--------------------- #declare G11 = D41; #declare G12 = D12; #declare G13 = D13; #declare G14 = D14; #declare G41 = G11 + <-1,-1,0.5>; #declare G42 = G12 + <1,1,0.5>; #declare G43 = G13 + <1,1,0.5>; #declare G44 = F44; #declare G21 = (2*G11+G41)/3; #declare G22 = (2*G12+G42)/3; #declare G23 = (2*G13+G43)/3; #declare G24 = F24; #declare G31 = (G11+2*G41)/3; #declare G32 = (G12+2*G42)/3; #declare G33 = (G13+2*G43)/3; #declare G34 = F34; //--------------------- #declare H11 = D41; #declare H12 = D31; #declare H13 = D21; #declare H14 = E11; #declare H41 = G41; #declare H42 = H12 + <1,-1,0.5>; #declare H43 = H13 + <1,-1,0.5>; #declare H44 = E41; #declare H21 = G21; #declare H22 = (2*H12+H42)/3; #declare H23 = (2*H13+H43)/3; #declare H24 = E21; #declare H31 = G31; #declare H32 = (H12+2*H42)/3; #declare H33 = (H13+2*H43)/3; #declare H34 = E31; //--------------------- #declare bz_scale = 0.8; #include "bz-things.inc" #declare queixo = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 A11, A12, A13, A14 A21, A22, A23, A24 A31, A32, A33, A34 A41, A42, A43, A44 pigment { color rgb bz_color_A + <0,0,0.25>} } // object{ bz_grid_A } } #declare testa = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 C11, C12, C13, C14 C21, C22, C23, C24 C31, C32, C33, C34 C41, C42, C43, C44 pigment { color rgb bz_color_A + <0,0,0.25>} } // object{ bz_grid_C } } #declare chapeu = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 D11, D12, D13, D14 D21, D22, D23, D24 D31, D32, D33, D34 D41, D42, D43, D44 pigment{White} } // object{ bz_grid_D } } #declare aba1 = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 E11, E12, E13, E14 E21, E22, E23, E24 E31, E32, E33, E34 E41, E42, E43, E44 pigment{White} } // object{ bz_grid_E } } #declare aba2 = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 F11, F12, F13, F14 F21, F22, F23, F24 F31, F32, F33, F34 F41, F42, F43, F44 pigment{White} } // object{ bz_grid_F } } #declare aba3 = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 G11, G12, G13, G14 G21, G22, G23, G24 G31, G32, G33, G34 G41, G42, G43, G44 pigment{White} } // object{ bz_grid_G } } #declare aba4 = union{ bicubic_patch{ type 1 flatness 0.001 u_steps 4 v_steps 4 H11, H12, H13, H14 H21, H22, H23, H24 H31, H32, H33, H34 H41, H42, H43, H44 pigment{White} } // object{ bz_grid_H } } #declare scene = union { object {queixo} object {testa} object {chapeu translate <0,0,3>} object {aba1 translate <0,0,3>} object {aba2 translate <0,0,3>} object {aba3 translate <0,0,3>} object {aba4 translate <0,0,3>} } scene