// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2023-09-20 16:32:16 by stolfilocal // Original version by jstolfi // Moved Around by jevs // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.45, 0.10, 0.20 > } #declare tx_estofado = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_rodas = texture{ pigment{ color rgb < 0.0, 0.0, 0.0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_escape = texture{ pigment{ color rgb < 0.90, 0.0, 0.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_pernas = texture{ pigment{ color rgb < 0.70, 0.70, 0.70 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 1.0, 1 , 0 >, color rgb < 1, 1 , 1 > } finish{ diffuse 0.9 ambient 0.1 } scale 5.0 } // ====================================================================== // DESCRI��O DA CENA #declare raio = 2.000; #declare rowBoard = disc { <0, 0, 0>, <0, 1, 0>, 1 } #declare middleHole = cylinder { <0, 0, -1>, <0, 0, 1>, 0.75 // center of one end, center of other end, radius open // remove end caps } #declare hyperDama = union { object { box { <-1, -1, -1>, <1, 1, 1> // near lower left corner, far upper right corner translate <0, 0, 5> // } } object { // COLLAR torus { 1, .50 // major radius, minor radius rotate 90*x // translate <0, 0, 3.5> // } } object{ cone { <0, 0, 0>, 2 // , center & radius of one end <0, 0, 4>, 0.5 // , center & radius of the other end } } object{ torus { // BASE 2, 0.45 // major radius, minor radius rotate -90*x// } } texture { tx_estofado } } #declare hyperPawn = union { object { sphere { <0, 0, 4.5>, 1.5 // , radius } } object { // COLLAR torus { 1, .50 // major radius, minor radius rotate 90*x // translate <0, 0, 3.5> // } } object{ cone { <0, 0, 0>, 2 // , center & radius of one end <0, 0, 4>, 0.5 // , center & radius of the other end } } object{ torus { // BASE 2, 0.45 // major radius, minor radius rotate -90*x// } } texture { tx_estofado } } #declare raioIni = 3; #declare chao = disc { <0, 0, 0>, <0, 0, 1>, 200 texture { tx_xadrez } } #macro distribuir(m, n) #declare i = 0; #declare bool = 0; #declare alfa = radians(360); #while(i < n) #local xpos = cos(30*i)*alfa; #local ypos = sin(30*i)*alfa; #if(bool = 0) object{ hyperDama scale 0.5 // Professor. translate scale <0.5, 0.5, 0.5> // } #declare bool = 1; #else object{ hyperPawn scale 0.5 // Professor. translate scale <0.5, 0.5, 0.5> // } #declare bool = 0; #end #declare i = i + 1; #end #end #include "eixos.inc" #local nfileiras = 7; #local ncasas = 9; union{ // object{ eixos(3.00)} distribuir(nfileiras, ncasas) object{ chao translate < 0,0,-5 > texture{ tx_xadrez } } } #include "camlight.inc" #declare centro_cena = < 3.00, 3.00, 0.5 + 0.5*ncasas >; #declare raio_cena = 0.6*ncasas + 2.0; #declare dir_camera = < 10.00, 12.00, 8.00 >; #declare dist_camera = 7*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)