// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS #include "textures.inc" background{ color rgb < 0.75, 0.80, 0.85 > } // ====================================================================== // DESCRIÇÃO DA CENA #declare raio = 2.00; #macro bolinha (valor) #if(valor = 1) sphere{ < 0,0,0.6 >, 0.6 } #else sphere { < 0,0,2.4 >, 0.6 } #end #end #macro pino () cylinder{ < 0, 0, 0 >, < 0.00, 0.00, 3.00 >, 0.2 texture{ tx_fosca } } #end #macro bit (valor) union { pino() bolinha(valor) } #end #include "colors.inc" #include "eixos.inc" #macro logotipo (texto, fase) #local n = strlen(texto); #local etapa = int(n*fase); #local frac = n*fase - etapa; #local strfrac = substr(texto, 1, etapa) #local strletra = substr(texto, etapa + 1, 1); #local objtexto = text{ttf "arial.ttf" strfrac 0.1, 0.0} #local largura = max_extent(objtexto).x - min_extent(objtexto).x; union { text{ttf "arial.ttf" strfrac 0.1, 0.0} letra(strletra, frac, etapa, largura) } #end #macro letra (textofrac, frac, etapa, largura) #if(frac = 1) text{ttf "arial.ttf" textofrac 0.1, 0.0 translate } #else #local translateTo = interpola(frac, <0,0,0>, ); text{ttf "arial.ttf" textofrac 0.1, 0.0 translate translateTo} #end #end #macro interpola (frac, inicial, final) (1 - frac)*inicial + frac*final #end union{ eixos(5) logotipo("ola mundo", clock) } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 1.00, 1.00, 1.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , y, intens_luz)