// Luciano Ludka Cordeiro - ra992077 // 6.o laboratório de computação gráfica //deve-se setar a quantidade de nós disponíveis na rede (nNodes x nNodes) #declare nNodes=12; //e aqui deve-se setar a probabilidade de ocorrer aresta #declare prob=0.58; // ====================================================================== // CÂMERA camera { location <(nNodes/2),(nNodes/2), 3*(nNodes/2)> // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at <(nNodes/2),(nNodes/2), 00.00 > // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { <(nNodes/2),(nNodes/2), 3*(nNodes/2)> // Posição da lâmpada. color rgb 1.3 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.10, 0.40, 0.80 > } #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare vermelho = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } } #declare verde = texture { pigment { color rgb < 0.00, 1.00, 0.00 > } } #declare azul = texture { pigment { color rgb < 0.00, 0.00, 1.00 > } } #declare amarelo = texture { pigment { color rgb < 1.00, 1.00, 0.00 > } } #declare branco = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } } #declare cor_espelho = < 0.7, 0.7, 0.7 >; #declare tx_espelho = texture{ pigment{ rgb cor_espelho } finish{ ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.02 roughness 0.05 } } #declare bola = sphere { < 0.00, 0.00, 0.00 >, 0.20 texture {vermelho} } #declare nodes_aux = union{ #declare j=0; #while(j < nNodes) object{bola translate } #declare j=j+1; #end } #declare nodes = union{ #declare j=0; #while(j < nNodes) object{nodes_aux translate <0, j, 0>} #declare j=j+1; #end } #declare fonte = seed(75136982); #declare linha_v = cylinder { < 0.00, 0.00, 0.00 >, < 0.00, 1.00, 0.00 >, 0.10 texture { tinta_B } } #declare linhas_v = union{ #declare i=0; #while(i} #end #declare j=j+1; #end #declare i=i+1; #end } #declare linha_h = object{linha_v rotate<0,0,270>} //esta parte do código precisou realmente ser reescrita, pois uma //repetição não geraria uma nova cadeia de elementos #declare linhas_h = union{ #declare i=0; #while(i<(nNodes-1)) #declare j = 0; #while(j} #end #declare j=j+1; #end #declare i=i+1; #end } // Aqui está a cena, finalmente: union{ object{ nodes } object{bola} object{linhas_v} object{linhas_h} }