// MO603 - Atividade 3 - Xadrez
// Alan Braz - ra995004 2007-03-28
// ======================================================================
// CÂMERA
camera {
location < 75.00, 75.00, 55.00 > // Posição do observador.
right -0.80*x // Largura RELATIVA da imagem.
up 0.60*y // Altura RELATIVA da imagem.
sky z // Qual direção é "para cima"?
look_at < 30.00, 30.00, 0.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 {
10 * < +50.0, +30.0, +50.0 > // Posição da lâmpada.
color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz.
}
light_source {
10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada.
color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz.
}
// ======================================================================
// DESCRIÇÃO DA CENA
background{ color rgb < 0.75, 0.80, 0.85 > }
// CORES
#declare branco =
texture {
pigment { color rgb < 1.0, 1.0, 1.00 > }
finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}
#declare preto =
texture {
pigment { color rgb < 0.00, 0.00, 0.00 > }
finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}
#declare azul =
texture {
pigment { color rgb < 0.3 0.5 0.95 > }
finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}
#declare amarelo =
texture {
pigment { color rgb < 1.00, 0.80, 0.0 > }
finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}
//PARAMETROS
#declare tCasa = 1.5; //tamanho da casa
#declare cCasa = tCasa/2; //centro da casa
#declare tam=30; //tamanho do tabuleiro
#declare roleta = seed(342588);
//PEÇAS
#declare peao =
union {
#declare base = tCasa*0.3;
cone {
<0,0,0>, base
<0,0,base>, base*0.3
}
sphere { <0,0,base*1.2> base*0.7 }
translate < cCasa, cCasa, 0>
}
#declare torre=
union {
#declare base = tCasa*0.7;
box { <0,0,0>, }
cylinder { , , base*0.35 }
box { <0,0,0>, translate <0,0,base*1.5> }
#declare desloca = (tCasa-base)/2;
translate
}
#declare rei =
union {
#declare base = tCasa*0.4;
cone {
<0,0,0>, base
<0,0,2>, base*0.3
}
sphere { <0,0,2.2> base*0.6 }
torus { base*0.4, 0.1 rotate 90*x translate 2.6*z }
translate < cCasa, cCasa, 0>
}
// TABULEIRO
#declare casa =
box { <0, 0, 0>, }
#declare linha=0;
#declare coluna=0;
#declare contador=0;
#while (linha
}
//peça
#declare n = int(100*rand(roleta));
#if (n<=30)
object {
#if (n<=5) rei
#else
#if (n>=6 & n<=17) torre
#else peao
#end
#end
texture { #if (mod(contador,2)=0) amarelo #else azul #end }
translate
}
#declare contador = contador+1;
#end
#declare coluna = coluna+1;
#end
#declare linha = linha+1;
#end
//EOF