// Quinto trabalho de computacao grafica. // Isana Luzia Seabra de Campos - RA006374 #include "colors.inc" background{ color rgb < 1, 1, 1 > } camera { location < 10.00, 10.00, 10.00 > right < -1.20, 0.00, 0.00 > up < 0.00, 0.00, 0.90 > sky < 0.00, 0.00, 1.00 > look_at < 4.00, 5.00, 6.0 > } light_source { < 7.00, 10.00, 10.00 > color rgb < 1.00, 1.00, 1.00 > } #declare preto = texture { pigment { color rgb < 0.0, 0.0, 0.0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare amarelo = color rgb < 1.0, 1.0, 0.00 >; #declare azul = color rgb < 0.0, 0.0, 1.00 >; #declare vermelho = color rgb <1.0, 0, 0>; #declare arco = difference{ torus{1.0, 0.2 } plane{<0,0,1>,0 } rotate 90*z translate <0,0,1.5>} #declare pilar = cylinder{<0,0,0>,<0,0,1.5>,0.2 translate <0,-1,0>} #declare arco_pilares = object{ union{ object{arco} object{pilar} object{pilar rotate 180*z} } } #declare templo_cone = difference{ cone{<0,0,0>,6 <0,0,7>,0} cone{<0,0,0>,5.5 <0,0,6.5>,0} pigment{ rgb vermelho }} #declare tunel_entrada = union{ #declare i = 0; #declare rot = 1; #declare G = seed(012345); #declare c_x = 0; #declare c_y = 0; #declare passo = 0.35; #declare graus = 0; #while (i<20) #if (mod(i,5) = 0) #declare graus = 20*rand(G)*rot; #declare rot = rot*(-1); object{arco_pilares pigment{color azul} rotate graus*z translate} #declare j = 0; #while(j < 3) #declare c_x = c_x+passo*cos(radians(graus)); #declare c_y= c_y+passo*sin(radians(graus)); #if (graus < 0) #declare graus = graus - 1; #else #declare graus = graus + 1; #end object{arco_pilares pigment{color amarelo} rotate graus*z translate} #declare j = j + 1; #end #else object{arco_pilares pigment{ rgb amarelo } translate} #end #declare i = i+1; #declare c_x = c_x + passo*cos(radians(graus)); #declare c_y = c_y + passo*sin(radians(graus)); #end } //box { <0.0, 0.0, 0.0>, < 9.0, 0.0, 0.1 > texture{ preto } } //box { <0.0, 0.0, 0.0>, < 0.0, 9.0, 0.1 > texture{ preto } } //box { <0.0, 0.0, 0.0>, < 0.1, 0.0, 9.0 > texture{ preto } } plane{<0,0,1>,0 pigment {checker <0.95,0.95,0.95>,<0.9,0.9,0.9> }} object{union{ object{templo_cone translate<-10,0,0>} object{ tunel_entrada translate<-5,0,0>} }}