manual de povray.docx

186
Persistence of Vision Ray- Tracer (POV-Ray) Documentación del usuario 3.0

Upload: anymorao

Post on 22-Nov-2015

103 views

Category:

Documents


3 download

TRANSCRIPT

4. Tutorial para Principiantes36Persistence of Vision Ray-Tracer(POV-Ray)Documentacin del usuario 3.0

1. Introduccin1.1. Notacin2. Descripcin del programa2.1. Qu es el trazado de rayos?2.2. Qu es pov-ray?2.3. Qu versin de pov-ray debo usar?2.3.1. IBM-Pc y compatibles2.3.1.1. MS-Dos2.3.1.2. Windows2.3.1.3. Linux2.3.2. Apple Macintosh2.3.3. Commodore Amiga2.3.4. SunOS2.3.5. Unix genrico2.3.6. Todas las versiones2.3.7. Compilando POV-Ray2.3.7.1. Estructura de directorios2.3.7.2. Configurando el fuente de POV-Ray2.3.7.3. Conclusin2.4. Donde encontrar POV-Ray2.4.1. Foro de POV-Ray en Compuserve2.4.2. Internet2.4.3. Area de grficos para PC en Amrica On-Line2.4.4. BBS The Graphics Alternative en El Cerrito, CA2.4.5. PCGNet2.4.6. Libros y cd-roms relacionados con POV-Ray3. Comienzo rpido3.1. Instalando POV-Ray3.2. Utilizacin bsica4. Tutorial para principiantes4.1. Tu primera imagen4.1.1. El sistema de coordenadas de POV-Ray4.1.2. Aadiendo archivos de inclusin estndar.4.1.3. Aadiendo la cmara.4.1.4. Describiendo un objeto.4.1.5. Aadiendo la textura al objeto.4.1.6. Definiendo una fuente de luz.4.2. Usando la cmara4.2.1. Usando el desenfoque4.3. Formas simples4.3.1. Caja4.3.2. Cono4.3.3. Cilindro4.3.4. Plano4.3.5. Inclusin de objetos estndar4.4. Formas avanzadas4.4.1. Parche bicbico4.4.2. Burbuja4.4.2.1. Tipos de componentes y otras caractersticas nuevas.4.4.2.2. Construcciones complejas con burbujas e intensidad negativa.4.4.3. Campo de alturas4.4.4. Objeto torneado (lathe)4.4.4.1. Entendiendo el concepto de splines4.4.5. Malla de tringulos4.4.6. Polgono4.4.7. Prisma4.4.7.1. Nuevos trucos para las curvas spline4.4.7.2. Transiciones suaves4.4.7.3. Mltiples subformas4.4.7.4. Barrido cnico y el efecto de estrechamiento4.4.8. Elipsoide supercudrico4.4.9. Superficie de revolucin4.4.10. Texto4.4.11. Toro4.5. Objetos CSG (Geometra Slida Constructiva)4.5.1. Qu es CSG?4.5.2. Unin4.5.3. Interseccin4.5.4. Diferencia4.5.5. Fusin4.5.6. Observaciones sobre los objetos CSG4.5.6.1. Coincidencia de superficies4.6. Las fuentes de luz.4.6.1. La fuente de luz ambiente.4.6.2. La fuente de luz puntual.4.6.3. La fuente de luz cnica (focos).4.6.4. La fuente de luz cilndrica.4.6.5. La fuente de luz extendida.4.6.6. Asignando un objeto a una fuente de luz.4.6.7. Fuentes de luz especiales.4.6.7.1. Empleando luces sin sombra.4.6.7.2. Usando atenuacin de la luz.4.6.7.3. Las fuentes de luz y la atmsfera.4.7. Opciones de textura simples4.7.1. Acabado de superficies.4.7.2. Aadiendo abolladuras.4.7.3. Creando patrones de colores.4.7.4. Texturas predefinidas.4.8. Opciones avanzadas de texturas4.8.1. Patrones de pigmentacin y de normal4.8.2. Pigmentos4.8.2.1. Usando pigmentos con lista de colores4.8.2.2. Usando pigmentos y patrones4.8.2.3. Usando modificadores de patrones4.8.2.4. Usando pigmentos transparentes y texturas superpuestas4.8.2.5. Usando mapas de pigmentos4.8.3. Normales4.8.3.1. Usando modificadores de normal bsicos4.8.3.2. Combinando normales4.8.4. Acabados4.8.4.1. Usando ambient4.8.4.2. Usando los reflejos de superficie4.8.4.3. Usando reflection y metallic4.8.4.4. Usando refraction4.8.4.5. Aadiendo la atenuacin luminosa4.8.4.6. Usando custicas simuladas4.8.4.7. Usando la iridiscencia4.8.5. Halos4.8.5.1. Qu son los halos?4.8.5.2. El halo emisor4.8.5.3. El halo brillante4.8.5.4. El halo atenuante4.8.5.5. El halo de polvo4.8.5.6. Dificultades de los halos4.9. Trabajar con texturas especiales4.9.1. Trabajar con mapas de pigmentos4.9.2. Trabajar con mapas de normales4.9.3. Trabajar con mapas de textura4.9.4. Trabajar con listas de texturas4.9.5. Y las baldosas?4.9.6. Funcin promedio4.9.7. Trabajar con texturas superpuestas4.9.7.1. Declarar texturas superpuestas4.9.7.2. Otro ejemplo de texturas superpuestas4.9.8. Cuando todo falla: mapas de materiales4.9.9. Limitaciones de las texturas especiales4.10. Usando los efectos atmosfricos4.10.1. Background4.10.2. La esfera celeste4.10.2.1. Creando el cielo con un gradiente de colores4.10.2.2. Aadiendo el sol4.10.2.3. Aadiendo algunas nubes4.10.3. La niebla4.10.3.1. La niebla constante4.10.3.2. Especificando un mnimo de translucidez4.10.3.3. Creando niebla filtrante4.10.3.4. Aadiendo algo de turbulencia a la niebla4.10.3.5. Usando la niebla de superficie4.10.3.6. Usando mltiples capas de niebla4.10.3.7. La niebla y los objetos vacos4.10.4. La atmsfera4.10.4.1. Empezando con una habitacin vaca4.10.4.2. Aadiendo polvo a la habitacin4.10.4.3. Eligiendo una buena tasa de muestreo4.10.4.4. Usando una atmsfera coloreada4.10.4.5. Consejos usando la atmsfera

IntroduccinEste documento detalla el uso del Trazador de Rayos Persistence of Vision, (POV-Ray). Se compone de cuatro partes: la gua de instalacin, el tutorial, la gua de referencia y los apndices. La primera parte (ver secciones "Descripcin del Programa" y "Comienzo Rpido") cuenta como obtener y como instalar POV-Ray. Tambin da una breve introduccin al trazado de rayos. El tutorial explica paso a paso como usar las diferentes caractersticas de POV-Ray (ver seccin "Tutorial para Principiantes"). La referencia da una completa descripcin de todas las caractersticas de POV-Ray explicando todas las opciones disponibles (activadas por parmetros de la lnea de comandos o por sentencias en archivos INI) y del lenguaje de descripcin de escena (ver seccin "Referencia de POV-Ray", seccin "Opciones de POV-Ray" y seccin "Lenguaje de descripcin de escena"). Los apndices incluyen trucos y pistas, lecturas sugeridas, direcciones de contacto e informacin legal.POV-Ray est basado en DKBTrace 2.12, de David K. Buck y Aaron A. Collins.NotacinA lo largo de este documento se seguir la siguiente notacin para denotar palabras clave del lenguaje de descripcin de escena, parmetros de la lnea de comandos, palabras clave de archivos INI y nombres de archivos.nombrepalabra clave del lenguaje de descripcin de escenanombreopcin de la lnea de comandonombrepalabra clave de archivo INInombrenombre de archivonombredireccin de Internet, grupo de noticias UsenetEn la versin ASCII del documento no hay diferencias entre las notaciones.Persistence of Vision Raytracer37

Descripcin del programaEl trazador de rayos Persistence of Vision Raytracer crea imgenes tridimensionales fotorrealistas usando una tcnica llamada trazado de rayos. Lee un archivo de texto conteniendo informacin que describe objetos e iluminacin en una escena y genera una imagen de esa escena desde el punto de vista de una cmara, tambin descrita en el archivo de escena. El trazado de rayos no es de ninguna manera un proceso rpido, pero produce imgenes de muy alta calidad con reflexiones realistas, sombreado, perspectiva y otros efectos.Qu es el trazado de rayos?El trazado de rayos es una tcnica que calcula una imagen de una escena disparando rayos a la escena. La escena est construida por formas, fuentes de luz, una cmara, materiales, efectos especiales, etc.Para cada pixel en la imagen final se disparan uno o ms rayos en la escena y se comprueba la interseccin con cada uno de los objetos de la escena. Los rayos se originan en el observador, representado por la cmara, y pasan a travs de la ventana de visin (que representa la imagen final). Cada vez que el rayo golpea a un objeto, se calcula el color de la superficie en ese punto. Para ello se determina la cantidad de luz que proviene de cada fuente luminosa para ver si el objeto permanece en la sombra o no. Si la superficie es reflectora o traslcida se trazan nuevos rayos para determinar la contribucin de la luz reflejada o refractada en el color final de la superficie.Los efectos especiales como la luz difusa (radiosidad), efectos atmosfricos y luces extendidas hacen necesario el trazado de muchos rayos adicionales por cada pixel de la escena. Qu es pov-ray?El Trazador de Rayos Persistence of Vision fue desarrollado a partir de DBKTrace 2.12 (escrito por David K. Buck y Aaron A. Collins) por un puado de gente, llamado el POV-Team, en su tiempo libre. El cuartel general del POV-Team est en el foro POVRAY de CompuServe (ver "Foro POVRAY en CompuServe" para ms detalles).El paquete POV-Ray incluye instrucciones detalladas para usar el trazador y crear escenas. Se han incluido muchas escenas asombrosas con POV-Ray para que puedas empezar a crear imgenes inmediatamente. Estas escenas pueden ser modificadas para que no tengas que empezar desde cero.Adems de las escenas predefinidas, tambin se suministra una gran biblioteca de formas predefinidas y de materiales. Puedes incluir estas formas y materiales en tus propias escenas simplemente incluyendo el nombre de la forma o material y el nombre del archivo fuente correspondiente.He aqu algunas caractersticas de POV-Ray: Lenguaje de descripcin de escena fcil de usar Gran biblioteca de archivos de escenas asombrosas Archivos de inclusin estndar que predefinen muchas formas, colores y texturas Archivos de imagen de muy alta calidad (hasta 48 bits de color) Visualizacin en IBM-PCs de 15 y 24 bits, usando el hardware apropiado Crea paisajes usando suaves campos elevados Fuentes luminosas dirigidas, cilndricas y extendidas para iluminacin sofisticada Reflejos phong y especulares para conseguir superficies ms realistas Reflexin difusa (radiosidad) para conseguir iluminacin realista Efectos atmosfricos como atmsfera, niebla y arco iris Halos para modelar efectos como nubes, polvo, fuego y vapor Varios formatos de imagen, incluyendo Targa, PNG y PPM Primitivas para figuras bsicas, como esferas, cajas, cudricas, cilindros, conos, tringulos y planos Primitivas para figuras avanzadas, como toros (donuts), parches de Bezier, campos elevados (montaas), burbujas, curticas, tringulos suavizados, texto, fractales, supercudricas, superficies de revolucin, prismas, polgonos y tornos (lathes) Las figuras se pueden combinar fcilmente para crear nuevas figuras complicadas usando Geometra Constructiva Slida (CSG). POV-Ray soporta uniones, mezclas, intersecciones y diferencias A los objetos se les asignas materiales llamados texturas (una textura describe el color y las propiedades de la superficie de una figura) Distribuciones de color y de normales incluidas: Agate, Bozo, Bumps, Checker, Crakle, Dents, Granite, Gradient, Hexagon, Leopard, Mandel, Marble, Onion, Quilted, Ripples, Spotted, Spiral, Radial, Waves, Wood, Wrinkles y mapeado segn archivo de imagen Los usuarios pueden crear sus nuevas texturas o usar las predefinidas, como latn, cromado, cobre, oro, plata, piedra, madera... Combinar texturas usando capas de texturas semitransparentes Previsualizar la imagen mientras la crea (no disponible en todas las plataformas) Parar el trazado de una escena y continuarlo posteriormenteQu versin de pov-ray debo usar?POV-Ray puede usarse bajo MS-DOS, Windows 3.x, Windows para Trabajo en Grupo 3.11, Windows 95, Windows NT, Apple Macintosh 68k, Power PC, Commodore Amiga, Linux, UNIX y otras plataformas.Las ultimas versiones de los archivos necesarios estn disponibles en CompuServe, Internet, Amrica On-line y varios BBS. Vea la seccin "Donde Encontrar los archivos de POV-Ray" para obtener ms informacin.IBM-Pc y compatiblesNormalmente hay tres versiones diferentes para IBM-PC funcionando bajo diversos sistemas operativos (MS-DOS, Windows y Linux) como se describe ms adelante.MS-DosLa versin para MS-DOS corre bajo MS-DOS o como una aplicacin DOS bajo Windows 95, Windows NT, Windows 3,1 o Windows para Trabajo en Grupo 3.11. Tambin corre bajo OS/2 y OS/2 WARP.Requerimientos de hardware y software: CPU 386 o superior y por lo menos 4 Mb de RAM. Aproximadamente 6 Mb de espacio en el disco duro para la instalacin y de 2 a 10 Mb o ms como espacio de trabajo. Un editor de texto capaz de editar archivos de texto en formato ASCII. El programa EDIT que viene con MS-DOS trabajar para archivos de tamao moderado. Un visor de archivos grficos capaz de visualizar archivos en formato GIF y quizs TGA y PNG.Archivos de POV-Ray Requeridos: POVMSDOS.EXE: un archivo auto-extraible contiendo el programa, ejemplos de escenas, los archivos .INC estndar y la documentacin en un formato de ayuda de hipertexto con un visor de ayuda. Este archivo puede estar dividido en archivos ms pequeos para facilitar la descarga del mismo. Chequee el directorio de su sitio de ftp para ver si requieren otros archivos.Recomendado: Pentium o 486DX, o tambin 386 o 486SX con co-procesador matemtico . 8 Mb o ms de RAM. Monitor SVGA, preferiblemente con interface VESA y capacidad de usar los modos Hi color (color de 16 bits ) o True color (color de 24 bits).Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. POVMSD_S.ZIP: El cdigo fuente en C de POV-Ray para MS-DOS. Contiene partes genricas y partes especficas MS-DOS. No incluye ejemplos de escenas, Archivos .INC estndar ni la documentacin, por lo que debers obtener tambin el archivo ejecutable. Un compilador de C qu pueda crear aplicaciones de 32-bit en modo protegido. Soportamos Watcom 10.5a, Borland 4.52 con DOS Power Pack y grficos limitados bajo DJGPP 1.12maint4. No soportamos DJGPP 2.0.WindowsLa versin para Windows corre bajo Windows 95, Windows NT y bajo Windows 3.1 o 3.11 si se agregan las extensiones Win32s. Tambin corre bajo OS/2 WARP.Requerimientos de hardware y software: CPU 386 o superior y por lo menos 8 Mb de RAM. Aproximadamente 12 Mb de espacio en el disco duro para la instalacin y de 2 a 10 Mb o ms como espacio de trabajo.Archivos de POV-Ray requeridos: El archivo de usuario povwin3.exe, un archivo autoextraible contiendo el programa, ejemplos de escenas, los archivos .INC estndar y la documentacin en un formato de ayuda de Windows. Puede estar dividido en archivos ms pequeos para facilitar la descarga del mismo. Verifique el directorio de su sitio de ftp para ver si se requieren otros archivos.Recomendado: Pentium o 486DX, o tambin 386 o 486SX con co-procesador matemtico . 16 Mb o ms de RAM. Monitor SVGA, preferiblemente con capacidad de usar los modos Hi color (color de 16 bits ) o True color (color de 24 bits).Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. povwin_s.zip: el cdigo fuente en C de POV-Ray para Windows Contiene partes genricas y partes especficas Windows. No incluye ejemplos de escenas, archivos .INC estndar ni la documentacin, por lo que tambin debers obtener el archivo ejecutable. POV-Ray solo puede ser compilado usando compiladores qu puedan crear aplicaciones de 32 bits para Windows. Soportamos los compiladores Watcom 10.5a, Borland 4.52/5.0. El cdigo fuente no es necesario para usar POV-Ray, se proporciona slo para los curiosos y aventureros.LinuxRequerimientos de hardware y software: CPU 386 o superior y por lo menos 4 Mb de RAM. Aproximadamente 6 Mb de espacio en el disco duro para la instalacin y 2-10 Mb o ms como espacio de trabajo. Un editor de texto capaz de editar archivos de texto en formato ASCII. Cualquier versin reciente (1994 en adelante)del kernel de Linux y soporte para formatos binarios ELF. POV-Ray para Linux no esta en formato a.out. Bibliotecas ELF libc.so.5, libm.so.5 y uno o ambos de libX11.so.6 o libvga.so.1.Archivos de POV-Ray requeridos: povlinux.tgz o povlinux.tar.gz, un archivo que contiene el binario oficial para cada uno de los modos SVGALib y X-Windows. Tambin contiene ejemplos de escenas, los archivos .INC estndar y la documentacin.Recomendado: Pentium o 486dx o tambin 386 o 486sx con co-procesador matemtico. 8 Mb o ms RAM. Monitor SVGA preferiblemente con capacidad de usar los modos Hi color (color de 16 bits ) o True color (color de 24 bits). Si quieres previsualizacin, requerir o SVGALib o X-Windows. Un visor de archivos grficos capaz de visualizar archivos en formato PPM, TGA o PNG.Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. povuni_s.tar.gz o povuni_s.tgz, el cdigo fuente en C de POV-Ray para Linux. Contiene partes genricas y partes especficas Linux . No incluye ejemplos de escenas, archivos .INC estndar ni la documentacin, por lo cual tambin debes obtener el archivo ejecutable. El compilador GNU C y (opcionalmente) archivos de inclusin y bibliotecas X y conocimiento de como usarlo. Aunque proporcionamos el cdigo fuente genrico para sistemas Unix, no proporcionamos apoyo tcnico sobre cmo compilar el programa.Apple MacintoshLas versiones para Macintosh corren bajo el sistema operativo Apple's MacOS versin 7.0 o superior, en cualquier Macintosh basado en 68020/030/040 (con o sin un coprocesador de punto flotante) o en cualquier ordenador Power Macintosh.Requerimientos de hardware y software: Una CPU 68020 o superior sin una unidad del punto flotante (serie LC, Performa o Centris) y por lo menos 8 Mb de RAM, o Una CPU 68020 o superior con una unidad de punto flotante (series Mac II o Quadra) y por lo menos 8 Mb de RAM, o Cualquier ordenador Power Macintosh y por lo menos 8 Mb de RAM. System 7 o ms nuevo y color QuickDraw (el System 6 ya no es soportado). Aproximadamente 6 Mb de espacio libre en el disco para la instalacin y de 2 a 10 Mb de espacio libre adicional como espacio de trabajo. Una utilidad para visualizar archivos grficos que soporte los formatos Mac PICT, GIF y quizs TGA y PNG (las aplicaciones shareware GIFConverter o GraphicConverter son buenas.)Archivos de POV-Ray requeridos: povmacnf.sit o povmacnf.sit.hqx, un archivo stuffit conteniendo la aplicacin para Macintosh no-FPU 68K, ejemplos de escenas, los archivos .INC estndar y documentacin (versin ms lenta para Macs sin unidad de punto flotante), o povmac68.sit o povmac68.sit.hqx, un archivo stuffit conteniendo la aplicacin para Macintosh FPU 68K, ejemplos de escenas, los archivos .INC estndar y documentacin (versin ms rpida para Macs con unidad de punto flotante), o povpmac.sit o povpmac.sit.hqx, un archivo stuffit conteniendo la aplicacin nativa del Power Macintosh, ejemplos de escenas, los archivos .INC estndar y documentacin.Recomendado: 68030/33 o ms rpido con unidad de punto flotante, o cualquier Power Macintosh. 8 Mb o ms de RAM para Macintosh 68K, 16 Mb o ms para sistemas Power Macintosh. Monitor preferentemente en color: de 256 colores esta bien, pero de miles o millones de colores est incluso mejor.Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. POV-Ray se puede compilar usando Apple's MPW 3.3, Metrowerks CodeWarrior 8 o Symantec 8. povmacs.sit o povmacs.sit.hqx, el cdigo fuente en C completo de POV-Ray para Macintosh. Contiene partes genricas y partes especficas Macintosh. No incluye ejemplos de escenas, archivos .INC estndar ni la documentacin por lo que tambin debers obtener el archivo ejecutable.Commodore AmigaLa versin para Amiga viene en varios sabores: 68000/68020 sin FPU (muy lenta, no se recomienda), 68020/68881(68882), 68030/68882 y 68040. Hay tambin dos sub-versiones, una slo con un interface CLI, y otra con un interface GUI (requiere MUI 3.1). Todas las versiones corren bajo OS2.1 y superiores. Existe soporte para pensharing y visualizacin de ventanas bajo OS3.x con paletas de 256 colores y soporte para la biblioteca CybeGFX.Requerimientos: Por lo menos 4 Mb de RAM. Por lo menos 2 Mb de espacio en el disco duro, se recomiendan de 5 a 20 Mb ms para espacio de trabajo. Un editor de texto ASCII, GUI configurable para lanzar el editor de su eleccin. Visor de archivos grficos: POV-Ray da como resultado archivos en formato PNG, Targa (TGA) y PPM, convertidores desde la distribucin PPMBIN estn incluidos para convertir estas a archivos IFF ILBMArchivos de POV-Ray requeridos: povami.lha, un archivo en formato .LHA conteniendo el ejecutable, ejemplos de escenas, los archivos .INC estndar y la documentacin.Recomendado: 8 Mb o ms de RAM. Procesador 68030, 68882 o superior. Tarjeta grfica de 24-bits (con soporte para la biblioteca CyberGFX)Tan pronto como se haga pblico un compilador estable para sistemas Amiga PowerPC, los planes son agregar este a la lista de sabores.Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. povlha_s.zip, el cdigo fuente en C de POV-Ray para Amiga Contiene partes genricas y partes especficas Amiga. No incluye ejemplos de escenas, archivos .INC estndar ni la documentacin por lo que tambin debers obtener el archivo ejecutable.SunOSRequerimientos de hardware y software: Un procesador Sun SPARC y por lo menos 4 Mb de RAM. Aproximadamente 6 Mb de espacio en el disco duro para la instalacin y de 2 a 10 Mb o ms para espacio de trabajo. Un editor de texto capaz de editar archivos de texto ASCII. SunOS 4.1.3 u otro sistema operativo capaz de correr el archivo binario (Solaris o posiblemente Linux para Sparc).Archivos de POV-Ray requeridos: povsunos.tgz o povsunos.tar.gz, archivo conteniendo un ejecutable oficial para los modos slo texto y X-Windows. Tambin contiene ejemplos de escenas, los archivos .INC estndar y la documentacin.Recomendado: 8 Mb de RAM o ms. Si quieres previsualizacin, requerir X-Windows o un terminal X. Preferiblemente capacidad para visualizar color verdadero de 24 bits(True Color), aunque se sabe que el cdigo X-Windows funciona con cualquier resolucin y nmero de colores. Un visor de archivos grficos capaz de visualizar formatos PPM, TGA o PNG.Optativo: el cdigo fuente no es necesario para usar POV-Ray. Se proporciona para curiosos y aventureros. povuni_s.tgz o povuni_s.tar.gz, el cdigo fuente en C de POV-Ray para UNIX. Contiene partes genricas UNIX y partes especficas Linux. No incluye ejemplos de escenas, archivos .INC estndar ni la documentacin, por lo que tambin debers obtener el archivo ejecutable. Un compilador de C y (opcionalmente) los archivos de inclusin y bibliotecas X, y conocimiento de cmo usarlo. Aunque proporcionamos el cdigo fuente genrico para sistemas UNIX, no proporcionamos apoyo tcnico sobre cmo compilar el programa.Unix genricoRequerimientos: povuni_s.tgz o povuni_s.tar.gz, el cdigo fuente en C de POV-Ray para Unix. O cualquier archivo conteniendo el cdigo fuente genrico para Unix, y el especifico para X-Windows. povuni_d.tgz o povuni_d.tar.gz, o cualquier archivo conteniendo los ejemplos de escenas, los archivos .INC estndar y la documentacin. ste podra ser uno de los archivos ejecutables para Linux o SunOS que se describieron antes. Un compilador C para tu ordenador y conocimiento de como usarlo. Aunque proporcionamos el cdigo fuente genrico para sistemas Unix, no proporcionamos apoyo tcnico sobre cmo compilar el programa. Un editor de texto capaz de editar archivos de texto ASCII.Recomendado: Co-procesador matemtico. 8 Mb o ms de memoria RAM. Un visor de archivos grficos capaz de visualizar formatos PPM, TGA o PNG.Opcional: X Windows si quieres previsualizar el trazado. Tambin necesitars los archivos de inclusin de X-Windows. Si no ests familiarizado con la compilacin de programas para X-Windows podras necesitar algo de ayuda de alguien que conozca tu instalacin, porque los archivos de inclusin de X-Windows y las bibliotecas no siempre estn en el lugar habitual.Todas las versionesCada archivo ejecutable incluye la documentacin completa de POV-Ray mismo as como instrucciones especficas para usar POV-Ray con su tipo de plataforma.Todas las versiones del programa comparten las mismas formas, iluminacin y texturas. En otras palabras, un IBM-PC puede crear las mismas imgenes qu un superordenador Cray siempre que tenga bastante memoria.Cada usuario desear obtener el ejecutable que mejor se adapte al hardware de su ordenador. Consulta la seccin Donde encontrar los archivos de POV-Ray para ver donde encontrar estos archivos. Puedes contactar con estas fuentes para encontrar la mejor versin para ti y tu ordenadorCompilando POV-RayLas secciones siguientes te ayudarn a compilar el cdigo fuente en C portable en una versin ejecutable de POV-Ray qu funcione. Son slo para sas personas qu quieren compilar una versin personalizada de POV-Ray o portarlo a una plataforma o compilador no soportado.La primera pregunta qu debes hacerte antes de proceder es realmente necesito compilar POV-Ray? Las versiones ejecutables oficiales del POV-Ray Team estn disponible para MS-DOS, Windows 3.1x/95/NT, Mac 68k, Mac Power PC, Amiga, Linux para Intel x86, y SunOS. Otras compilaciones no oficiales para otras plataformas estarn pronto disponibles. Si no piensas agregar cualquier caracterstica personalizada o experimental al programa y si ya existe un ejecutable para tu plataforma, entonces no necesitas compilar este programa.Si quieres proceder debers estar muy seguro de ti mismo. Las secciones siguientes y otra documentacin relacionada a la compilacin asumen que sabes lo qu estas haciendo. Asumen qu tienes un compilador de C adecuado instalado y funcionando. Asumen que sabes como compilar y enlazar programas de mltiples partes usando una utilidad make o un archivo de proyecto IDE si tu compilador los soporta. Ya que los archivos make y los archivos de proyecto a menudo especifican informacin sobre unidades, directorios o paths, no podemos prometerte qu nuestros archivos make o de proyectos trabajarn en tu sistema. Asumimos que sabes hacer cambios en los archivos make y de proyectos para especificar donde se localizan tus bibliotecas de sistema y otros archivos necesarios.En general no debes esperar ningn apoyo tcnico del POV-Ray Team sobre cmo compilar el programa. Todo se provee tal como esta. Todo lo qu podemos decir con certeza es qu pudimos compilar l cdigo en nuestros sistemas. Si no trabaja para ti probablemente no podamos decirte porqu.No hay ninguna documentacin tcnica para el cdigo fuente mismo salvo los comentarios en los archivos fuente. Intentamos hacer lo mejor para escribir cdigo claro y bien comentado, pero algunas secciones estn apenas comentadas y algunos comentarios pueden estar desactualizados. No proporcionamos ningn soporte tcnico para ayudarte a agregar caractersticas. No explicamos cmo trabaja una caracterstica en particular. En algunos casos la persona qu escribi una parte del programa ya no esta hace tiempo activamente en el Equipo y no sabemos exactamente cmo trabaja.Cuando hagas cualquier versin personalizada de POV-Ray o cualquier compilacin extraoficial, por favor asegrate de haber ledo y seguir todas las provisiones de nuestra licencia en la seccin "Copyright". En general puedes modificar y usar POV-Ray para ti mismo, sin embargo si quieres distribuir tu versin extraoficial debes seguir nuestras reglas. No puedes bajo cualquier circunstancia usar porciones del cdigo fuente de POV-Ray en otros programas.Estructura de directoriosEl cdigo fuente de POV-Ray se distribuye en archivos en una jerarqua particular de directorios o carpetas. Cuando extrae los archivos debe hacerlo de modo qu resguarde la estructura de directorios intacta. En general sugerimos qu cree un directorio llamado povray3 y extraiga los archivos all. La extraccin crear un directorio llamado source con muchos archivos y subdirectorios.En general, hay archivos separados para cada plataforma de hardware y sistema operativo, pero cada uno de estos archivos soporta ms de un compilador. Por ejemplo aqu esta la estructura de directorios para el archivo MS-DOS. source source\libpng source\zlib source\msdos source\msdos\pmode source\msdos\borland source\ msdos\djgpp source\msdos\watcomEl directorio source contiene archivos fuente para las partes genricas de POV-Ray qu son comunes a todas las plataformas. El directorio source\libpng contiene archivos para compilar una biblioteca de rutinas utilizadas en la lectura y escritura de archivos grficos en formato PNG (Portable Network Graphic). El directorio source\zlib contiene archivos para compilar una biblioteca de rutinas utilizada por libpng para comprimir y descomprimir flujos de datos. Todos estos archivos son usados por todas las plataformas y compiladores. Estn en cada versin de los archivos fuente.El directorio source\msDOS contiene todos los archivos fuente de la versin para MS-DOS comn a todos los compiladores MS-DOS soportados. El subdirectorio pmode contiene archivos fuente para pmode.lib qu son necesarios para todas las versiones de MS-DOS. Los subdirectorios borland, djgpp y watcom contienen fuente, archivos make y archivos de proyecto para compiladores de C de Borland, DJGPP y Watcom.El directorio source\msDOS esta slo en el archivo MS-DOS. De manera semejante el archivo Windows contiene un directorio source\windows. El archivo Unix contiene un directorio source/unix etc.El directorio source\msDOS contiene un archivo cmpl_msd.doc qu contiene informacin de compilacin especfica de la versin MS-DOS. Otros directorios especficos de plataforma contienen archivos cmpl_xxx.doc similares y los subdirectorios especficos del compilador tambin contienen archivos cmpl_xxx.doc especficos. Asegrese de leer todos los archivos cmpl_xxx.doc pertinentes para su plataforma y compilador.Configurando el fuente de POV-RayCada plataforma tiene un archivo de cabecera (header) llamado config.h qu generalmente est en el directorio especfico de la plataforma, pero podra estar en el directorio especfico del compilador. Algunas plataformas tienen versiones mltiples de este archivo y podras necesitar copiarlo o renombrarlo como config.h. Este archivo se incluye en cada mdulo de POV-Ray. Contiene todos los prototipos, macros y otras definiciones qu se requieren en las partes genricas de POV-Ray, pero debe ser personalizado para una plataforma o compilador en particular.Por ejemplo, sistemas operativos diferentes usan caracteres diferentes como separador entre directorios y nombres del archivo. MS-DOS usa una barra invertida(\), Unix una barra normal(/) y Mac una coma(,). El archivo config.h para MS-DOS y Windows contienen lo siguiente: #define FILENAME_SEPARATOR '\'qu instruye a la parte genrica de POV-Ray para usar una barra invertida(\).Cada personalizacin que la parte genrica del cdigo requiere tiene un valor por defecto en el archivo source\frame.h, qu tambin se incluye en cada mdulo despus de config.h. El archivo de cabecera frame.h contiene muchos grupos de definiciones como esta: #ifndef FILENAME_SEPARATOR #define FILENAME_SEPARATOR '/' #endifel cual bsicamente dice qu si no est definido previamente en config.h, entonces este es su valor por defecto. Verifica frame.h para ver qu otros valores puedes querer configurar.Si se usa cualquier definicin para especificar una funcin especifica de una plataforma tambin se deber incluir un prototipo para esa funcin. El archivo source\msDOS\config.h, por ejemplo, no slo contiene el macro: #define POV_DISPLAY_INIT(w,h) MSDOS_Display_Init ((w), (h));para definir el nombre de la funcin de inicializacin de visualizacin de grficos, tambin contiene el prototipo: void MSDOS_Display_Init (int w, int h);Si piensas portar POV-Ray hacia una plataforma no soportada debes comenzar probablemente con la versin ms simple para Unix sin previsualizacin. Despus agrega nuevos trozos personalizados a travs del archivo config.h.ConclusinComprendemos que las secciones anteriores son solo los primeros pasos, pero la mitad de la diversin de trabajar en los fuentes de POV-Ray es escarbar en ellos y figurrtelo por ti mismo. As es como los miembros del POV-Ray Team comenzaron. Hemos tratado de hacer el cdigo tan claro como pudimos.Asegrate de leer los archivos cmpl_xxx.doc en los directorios de tu plataforma y compilador especficos para obtener alguna ayuda menor ms si trabaja en una plataforma o compilador soportados.Buena suerte !Donde encontrar POV-RayLas ultimas versiones del software POV-Ray estn disponibles de las siguientes fuentes.Foro de POV-Ray en CompuserveLa oficina principal de POV-Ray est en CompuServe, en el foro POVRAY, qu es dirigido por algunos de los miembros del equipo. Nos reunimos all para compartir informacin, programas tiles, utilidades y grficos creados con POV-Ray. Todo el mundo es bienvenido para unirse a la accin en CIS: POVRAY. Esperamos verte all! Puedes obtener informacin de como unirse a CompuServe llamando al (800)848-8990 o visitando la pgina principal de CompuServe en http://www.compuserve.com. Acceso directo a CompuServe tambin esta disponible en Japn, Europa y muchos otros pases.InternetEl hogar en Internet de POV-Ray est disponible a travs del world wide web a travs de la direccin http://www.povray.org y va ftp como ftp.povray.org. Por favor, vistala a menudo para conocer los ltimos archivos, utilidades, noticias e imgenes del sitio oficial de POV-Ray en Internet.El grupo de noticias comp.graphics.rendering.raytracing es visitado por muchos usuarios competentes de POV-Ray qu estn muy deseosos de compartir su conocimiento. Generalmente primero te invitan a curiosear unos pocos archivos para ver si alguien ya ha contestado la misma pregunta, y por supuesto, a qu sigas la apropiada "netiquette". Si tienes cualquier duda sobre las calificaciones de las personas qu frecuentan el grupo, unos pocos minutos empleados en la pagina de la Competicin de Raytracing en www.povray.org te convencern rpidamente.Area de grficos para PC en Amrica On-LineHay ahora un rea en Amrica On-Line dedicada al soporte e informacin de POV-Ray. Puedes encontrarla en la seccin PC Graphics de AOL. Sigue la palabra clave POV (la palabra clave PCGRAPHICS te conducir al principio de la seccin relacionada con los grficos). Esta rea incluye tambin los ejecutables para Apple Macintosh. Lo mejor sera qu los mensajes sean dejados en la seccin Company Support. Normalmente, Bill Pulver (BPulver) es nuestro representante all.BBS The Graphics Alternative en El Cerrito, CAPara todos aquellos en la costa oeste[footnoteRef:1], podis encontrar los archivos de POV-Ray en The Graphics Alternative BBS. Es una gran BBS grfica dirigida por Adam Shiffman. TGA es una BBS de alta calidad, activa y progresiva que oferta mensajera y archivos de calidad a sus ms de 1300 usuarios. [1: De los Estados Unidos, obviamente (N. de los T.)]

510-524-2780 (PM14400FXSA v.32bis 14.4k, Pblico) 510-524-2165 (USR DS v.32bis/ HST 14.4k, Subscriptores)PCGNetLa red Profesional de CAD y Grficos (PCGnet) sirve a ambas comunidades, CAD y Grficos haciendo ampliamente disponible informacin til.Anteriormente conocida como ADEnet, PCGnet es una red nueva que incorpora nodos nuevos y enfoca uniformemente ambos tpicos relacionados, CAD y Grficos, incluyendo, pero no limitada a, los temas siguientes: diseo, dibujo, ingeniera, modelado 2d y 3d, multimedia, sistemas, imagen raster, trazado de rayos, rendering y animacin 3d.PCGnet esta diseada para servir las necesidades de todos los visitantes estimulando el inters y generando foros de soporte para usuarios activos qu tienen un inters en los temas relacionados al CAD y los grficos previamente mencionados; el inters y soporte se genera a travs de las conferencias de mensajes de PCGnet, compartiendo archivos a travs de la red, noticias de la industria y boletines de prensa. Las conferencias de mensajes de PCGnet son foros moderados diseados acomodar discusiones amistosas, y aun as profesionales e informativas sobre los asuntos relacionados con el CAD y los grficos.TGA BBS sirve como eje central para una gran red de sistemas BBS orientados a los grficos alrededor del mundo. La siguiente es una descripcin concisa de los nodos activos de PCGNet al momento qu este documento fue escrito. El POV-Team no puede responder sobre la validez de esta informacin, ni verificar qu cualquiera de estas BBS distribuyan POV-Ray.EE.UU. y Canad 411-Exchange Alpharetta GA 404-345-0008 Autodesk Global Village San Rafael CA 415-507-5921 CAD/Engineering Services Hendersonville TN 615-822-2539 Canis Major Nashville TN 615-385-4268 CEAO BBS Columbus OH 614-481-3194 CHAOS BBS Columbia MO 314-874-2930 Joes CODE BBS West Bloomfield MI 810-855-0894 John's Graphics Brooklyn Park MN 612-425-4436 PC-AUG Phoenix AZ 602-952-0638 SAUG BBS Bellevue WA 206-644-7115 Space Command BBS Kennewick WA 509-735-4894 The CAD/fx BBS Mesa AZ 602-835-0274 The Drawing Board BBS Anchorage AK 907-349-5412 The Graphics Alternative El Cerrito CA 510-524-2780 The Happy Canyon Denver CO 303-759-3598 Los New Graphics BBS Piscataway NJ 908-271-8878 The University Shrewsbury Twp NJ 908-544-8193 The virtual Dimension Oceanside CA 619-722-0746 Time-Out BBS Sadsburyville PA 610-857-2648Australia MULTI-CAD BBS Magazine Toowong QLD 61-7-878-2940 My Computer Company Erskineville NSW 61-2-557-1489 Sydney PCUG Compaq BBS Caringbah NSW 61-2-540-1842 The Baud Room Melbourne VIC 61-3-481-8720Austria Austrian AutoCAD User Group Graz 43-316-574-426Blgica Lucas Visions BBS Boom 32-3-8447-229Dinamarca Horreby SuperBBS Nykoebing Falster 45-53-84-7074Finlandia DH-Online Jari Hiltunen 358-9-40562248 Triplex BBS Helsinki 358-9-5062277Francia CAD Connection Montesson 33-1-39529854 Zyllius BBS! Saint Paul 33-93320505Alemania Ray BBS Munich Munich 49-89-984723 Tower of Magic Gelsenkirchen 49-209-780670Pases Bajos BBS Bennekom: Fractal Board Bennekom 31-318-415331 CAD-BBS Nieuwegein 31-30-6090287 31-30-6056353 Foundation One Baarn 31-35-5422143Nueva Zelanda The Graphics Connections Wellington 64-4-566-8450 The Graphics Connections II Nuevo Plymouth 64-6-757-8092 The Graphics Connections III Auckland 64-9-309-2237Slovenia MicroArt Koper 386-66-34986Suecia Autodesk On-line Gothenburg 46-31-401718Reino Unido CADenza BBS Leicester, UK 44-116-259-6725 Raytech BBS Tain, Scotland 44-1862-83-2020 The Missing Link Surrey, England 44-181-641-8593Nmeros de pases o de larga distancia podran requerir usar nmeros adicionales. Consulta a tu compaa telefnica local.Libros y cd-roms relacionados con POV-RayLos artculos siguientes fueron producidos por miembros del POV-Team. Aunque slo tienen presente a POV-Ray 2.2 todava sern tiles. El siguiente paso es actualizar el cdrom de POV-Ray a la versin 3, con una versin nueva que se espera para la primera la mitad de 1997.Los libros listados abajo se han sido descatalogados recientemente, pero pueden encontrarse todava en algunas libreras o bibliotecas (Visita http://www.dnai.com:80waite/ para ms detalles). Ray Tracing Creations, 2d Ed. Chris Young and Drew Wells ISBN 1-878739-69-7 Waite Group Press, 1994 700 paginas con insertos en color y POV-Ray 2.2 en discos MS-DOS de 3.5". Ray Tracing Worlds with POV-Ray Alexander Enzmann, Lutz Kretzschmar, Chris Young ISBN 1-878739-64-6 Waite Group Press, 1994Incluye el modelador Moray 1.5x y POV-Ray 2.2 en discos MS-DOS de 3.5". Ray Tracing for the Macintosh CD Eduard Schwan ISBN 1-878739-72-7 Waite Group Press, 1994Viene con un CD-ROM lleno de escenas, imgenes, pelculas QuickTime, y una referencia de palabras clave interactiva. Tambin un disco flexible con POV-Ray para aquellos que no tienen un lector de CD-ROM.'The Official POV-Ray CDROM'El cdrom Oficial de POV-Ray es una recopilacin de imgenes, fuentes de escenas, fuentes de programas, utilidades y trucos sobre POV-Ray y los grficos 3D provenientes de Internet y CompuServe. Dirigido no slo a aquellos qu quieren crear sus propias imgenes o hacer trabajos de programacin general en 3D, sino tambin a aquellos que quieren simplemente admirar unas imgenes del alta calidad hechas por algunos de los mejores artistas de POV-Ray, y aprender de su cdigo fuente. El cdrom contiene ms de 500 imgenes trazadas.Es un buen recurso para aquellos qu estn aprendiendo sobre POV-Ray, as como aquellos que ya tienen experiencia, y contiene un tutorial interactivo basado en Windows. El disco viene con un poster desplegable y una hoja de referencia. El CD es compatible con los formatos DOS/Windows y Macintosh.El cdrom esta disponible tambin en la World Wide Web, en http://www.povray.org/pov-cdrom. Para ms detalles visita http://www.povray.org/povcd.2. Descripcin del Programa22

Comienzo rpidoLa siguiente seccin describe como instalar rpidamente POV-Ray y trazar escenas de ejemplo en tu ordenador. Se asume que ests usando un ordenador compatible con IBM-PC con MS-DOS. Para otras plataformas debes buscar la documentacin especfica incluida en el archivo que contiene POV-Ray.Instalando POV-RayEn el ejecutable para tu ordenador se incluyen instrucciones especficas para la instalacin. En general, hay dos formas de instalar POV-Ray.[footnoteRef:2] [2: Si utilizas el programa de instalacin de POV-Ray, este se encargar de crear la estructura de directorios necesaria. En este caso puedes omitir esta seccin (N. de los T.)]

[Ten en cuenta que usamos la palabra directorio. Tu sistema operativo puede que use otro trmino (subdirectorio, carpeta, etc.)]1) La forma chapucera: crea un directorio llamado POVRAY y copia todos los archivos de POV-Ray en el. Edita y ejecuta todos los archivos y programas desde este directorio. Este mtodo funciona, pero no es el recomendado.O la forma recomendada:2) Crea un directorio llamado povray y varios subdirectorios llamados include, demo, scenes, util. Los archivos autoextrables de algunas versiones del programa crean estos directorios por ti. Si los creas t mismo, el rbol de directorios debera quedar parecido a esto: \-- | +povray -- | +include | +demo | +scenes | +utilCopia los ejecutables y la documentacin al directorio povray. Copia los archivos de inclusin estndar en el subdirectorio include. Copia las escenas de ejemplo en el subdirectorio scenes. Y copia cualquier utilidad relacionada con POV-Ray en el subdirectorio util. Las escenas que crees irn en el subdirectorio scenes. Tambin tendrs que aadir los directorios \povray y \povray\util a tu path, para que los programas puedan ser ejecutados desde cualquier directorio.Ten en cuenta que algunos sistemas operativos no tienen soporte para mltiples trayectorias de bsqueda.El segundo mtodo es un poco ms complicado de poner a punto, pero es el preferido. Hay muchos archivos asociados a POV-Ray que son mucho ms fciles de manejar cuando estn separados en varios directorios.Utilizacin bsicaNota: si no instalas el programa usando install.exe, los ejemplos e instrucciones siguientes no funcionarn. El proceso de instalacin configura povray.ini y varios archivos BATimportantes. Sin esos archivos configurados, los ejemplos siguientes no funcionarn.El propsito bsico de POV-Ray es leer una descripcin de una escena escrita en el lenguaje de POV y escribir un archivo conteniendo la imagen. Estos archivos de escena son texto ASCII que puedes crear usando un editor de texto. Con el paquete se incluyen docenas de archivos de ejemplo para ilustrar las caractersticas.El programa se ejecuta escribiendo un comando desde el smbolo de MS-DOS. El comando es povray y debe ir seguido de uno o ms parmetros. Cada parmetro comienza con un signo ms o menos, y van separados entre s por espacios. Los parmetros pueden estar en maysculas o minsculas.Nota: los ejemplos en esta documentacin asumen que has instalado POV-Ray en el directorio c:\povray3. El instalador te permitir instalar POV-Ray en cualquier sitio y configurar el programa para la unidad y directorio que especifiques. Simplemente sustituye esa unidad y directorio donde te digamos que uses c:\povray3. Cmbiate a ese directorio ahora. Luego teclea la siguiente lnea de comando y pulsa [ENTER}. POVRAY +ISHAPES +D1El parmetro +I (de input) le dice al programa que archivo debe leer como entrada. Si no le das una extensin al nombre del archivo, se asume .POV. De modo que +Ishapes le dice que lea shapes.pov para ser trazado.El parmetro +D (de display) le dice al programa que active la previsualizacin grfica. El parmetro -D la desactivara. El nmero 1 le dice que tipo de adaptador grfico usar. El tipo 1 es el antiguo adaptador estndar VGA a 320 por 200 puntos de resolucin y 256 colores. Totalmente garantizado que funcionar en cualquier tarjeta de vdeo VGA.Hay otras opciones activas adems de las que especificaste en la lnea de comandos. Se guardan en un archivo llamado povray.ini que es creado por el programa de instalacin. POV-Ray busca automticamente este archivo en el mismo directorio donde reside povray.exe. Mira las secciones Archivos INI y Usando los archivos INI para obtener ms informacin sobre povray.ini y otros archivos INI.Al ejecutar el comando anterior, vers aparecer brillantes formas geomtricas a medida que POV-Ray va calculando el color de cada pixel lnea a lnea. Probablemente estars descontento con el resultado grfico. Esto es debido a que es nicamente una previsualizacin. La imagen actual contiene 24 bits de color pero no se puede mostrar tan alta calidad usando una simple tarjeta VGA con un conjunto de 256 colores fijos. Si tu hardware soporta el interface estndar VESA o si tienes un controlador VESA instalado, prueba a ejecutar con el parmetro +DG en lugar de +D1. Esto te dar acceso a los varios modos que tu tarjeta de vdeo puede usar. Si tienes capacidad para color de 15 o 16 bits prueba +DGH, o si tienes capacidad para color de 24 bits prueba +DGT para ver la imagen en todo su esplendor. Consulta la seccin Tipos de visualizacin ms adelante para obtener ms informacin sobre la previsualizacin grfica.Cuando el programa termine oirs unos pitidos. Despus de admirar la imagen pulsa [ENTER]. Vers una pantalla de texto con estadsticas. Si el texto es demasiado largo para caber en la pantalla puedes pulsar las teclas cursor arriba o cursor abajo para leer ms texto. Fjate en las pestaas que hay en la parte inferior de la pantalla. Pulsa las teclas cursor derecha o cursor izquierda para leer otra informacin interesante. Pulsa [ENTER] de nuevo para salir de POV-Ray.3. Comienzo Rpido24

Tutorial para principiantesEl Tutorial para Principiantes explica paso a paso como usar el lenguaje de descripcin de escena de POV-Ray para crear tus propias escenas. Se explica el uso de casi todas las caractersticas del lenguaje de POV-Ray. Aprenders las cosas bsicas como donde colocar la cmara o las fuentes de luz. Tambin aprenders como crear una gran variedad de objetos y como asignarles texturas. Las caractersticas mas sofisticadas, como la radiosidad, los halos y los efectos atmosfricos tambin sern explicados con detalle.Las siguientes secciones explican las caractersticas de POV ms o menos en el mismo orden en que aparecen en el captulo de Referencia.Tu primera imagenVamos a crear el archivo de escena para una imagen sencilla. Como las esferas son las formas ms comunes en los trazadores, es lo primero que usaremos.El sistema de coordenadas de POV-Ray

Figura 1: El sistema de coordenadas de mano izquierda (el eje Z apunta alejndose de ti)Primero hemos de decirle a POV-Ray donde situar nuestra cmara y hacia donde apuntar. Para hacer esto, usamos coordenadas 3D. El sistema de coordenadas habitual de POV-Ray tiene el sentido positivo del eje Y apuntando hacia arriba, el sentido positivo del eje X hacia la derecha y el sentido positivo del eje Z apuntando hacia el interior del monitor, tal y como muestra la figura:Este tipo de sistema de coordenadas se llama "de mano izquierda". Si usas los dedos de tu mano izquierda puedes ver fcilmente porque se llama as. Apunta el pulgar hacia la direccin positiva del eje X, el dedo ndice hacia la direccin positiva del eje Y, y el dedo medio hacia la direccin positiva del eje Z. Slo puedes hacer esto con la mano izquierda. Si hubieras usado la mano derecha no habras sido capaz de apuntar el dedo medio hacia la direccin correcta.La mano izquierda se puede usar tambin para determinar las direcciones de rotacin. Para hacer esto debes practicar el famoso ejercicio de Aerobic Infogrfico. Toma tu mano izquierda, y apunta el pulgar hacia la direccin positiva del eje de rotacin. El resto de los dedos se curvarn en la direccin positiva de rotacin. Del mismo modo, si apuntas hacia la direccin negativa del eje, los dedos se curvarn sobre la direccin negativa de rotacin.

Figura 2: Aerobic Infogrfico para determinar el sentido de rotacinEn la ilustracin, la mano izquierda se curva sobre el eje X. El dedo pulgar apunta hacia la direccin positiva del eje X y los dedos se curvan sobre la direccin positiva de rotacin.Si quieres usar un sistema de coordenadas de mano derecha, como hacen algunos sistemas de CAD como AutoCAD, has de modificar el vector right en la especificacin de la cmara. Mira la descripcin detallada en la seccin "Sistemas de coordenadas levgiros y dextrgiros". En un sistema de mano derecha debes usar tu mano derecha para el Aerobic.Ten en cuenta que hay alguna controversia sobre si el mtodo que usa POV-Ray para obtener un sistema de coordenadas de mano derecha es realmente vlido. Si quieres evitarte problemas te sugerimos que uses el sistema de mano izquierda, sobre el que no hay disputa.Aadiendo archivos de inclusin estndar.Usando tu editor de textos favorito, crea un archivo llamado demo.pov. Ahora teclea lo siguiente (POV-Ray distingue entre maysculas y minsculas, as que asegrate de que estn correctas). #include "colors.inc" // Los archivos de inclusin contienen #include "shapes.inc" // elementos de escena predefinidos #include "finish.inc" #include "glass.inc" #include "metals.inc" #include "stones.inc" #include "woods.inc"La primera sentencia de inclusin lee las definiciones de varios colores tiles. La segunda sentencia de inclusin las definiciones de algunas formas tiles. Las siguientes leen definiciones de acabados y texturas de vidrios, metales, piedras y maderas.Slo debes incluir aquellos archivos que realmente uses en tu escena. Algunos de los archivos de inclusin que vienen con POV-Ray son bastante largos, y es mejor que ahorres memoria y tiempo de interpretacin si no los vas a usar. En los siguientes ejemplos solo vamos a usar colors.inc, finish.inc y stones.inc, as que mejor que quites el resto de las lneas de tu archivo de escena.Puedes tener tantos archivos de inclusin como sea necesario. Los archivos de inclusin pueden incluso contener a otros archivos, pero esto est limitado a diez niveles de profundidad.Los nombres de archivos en las sentencias de inclusin se buscan primero en el directorio actual. Si no se encuentran, se buscan en los directorios especificados por el parmetro +L o por la opcin Library_Path. Esto facilita el tener todos los archivos de inclusin en un directorio aparte, y especificar con el parmetro +L donde se encuentran.Aadiendo la cmara.La declaracin de la cmara describe donde y como la cmara ve la escena. Hay que especificar las coordenadas x, y, x que sitan a la cmara y a que parte de la escena est apuntando. Para describir las coordenadas x, y, z usamos un vector de tres componentes. Un vector se especifica poniendo tres valores numricos entre parntesis angulares y separando los valores por comas.Aade la siguiente sentencia a la escena. camera { location look_at }Brevemente, location sita la cmara dos unidades hacia arriba y tres unidades hacia atrs a partir del centro del universo del trazador, que est situado en . Recuerda que por defecto +Z va hacia dentro del monitor, y -Z sale hacia fuera.Tambin look_at rota la cmara hasta apuntar a las coordenadas . Es decir, un punto a 5 unidades enfrente de la cmara y 1 unidad ms abajo que la cmara. El punto look_at es el centro de atencin de tu imagen.Describiendo un objeto.Ahora que la cmara est lista para registrar la escena, vamos a poner una esfera amarilla. Aade lo siguiente a tu archivo de escena: sphere { , 2 texture { pigment { color Yellow } } }El primer vector especifica el centro de la esfera. En este ejemplo la coordenada x es cero, de modo que estar centrada a izquierda y derecha. Tambin tenemos y=1, o una unidad por encima del origen. La coordenada z es 2, que est a 5 unidades de la cmara, que est en z=3. Despus del vector hay una coma seguida por el radio que en este caso es de 2 unidades. Como el radio es la mitad de la anchura de la esfera, sta tendr un ancho de 4 unidades.Aadiendo la textura al objeto.Despus de definir la posicin y tamao de la esfera, necesitamos describir la apariencia de su superficie. El bloque texture {...} especifica el color, la rugosidad y las propiedades del acabado de un objeto. En este ejemplo slo vamos a especificar el color. Esto es lo mnimo que debemos hacer. El resto de las opciones de la textura usarn los valores por defecto.El color que tu defines es el que tendr el objeto cuando est totalmente iluminado. Si estuvieras haciendo un dibujo de una esfera usaras tonos oscuros para indicar las zonas sombreadas, y tonos brillantes para indicar las zonas iluminadas. Sin embargo, el trazador se ocupa ya de eso. T eliges el color inherente al objeto y POV-Ray lo aclara u oscurece dependiendo de la iluminacin de la escena. Como estamos definiendo el color que el objeto tiene en lugar del color aparente, el parmetro usado se llama pigment.Hay muchos tipos de distribuciones de color que se pueden usar en la sentencia pigment {...}. La palabra clave color indica que todo el objeto es de un nico color, en lugar de tener una distribucin de colores. Puedes usar uno de los colores definidos previamente en el archivo de inclusin colors.inc.Si no hay un color estndar disponible para tus necesidades, puedes definir tu propio color usando la palabra clave color seguida de red, green y blue, que especifican las cantidades de rojo, verde y azul de que se compone el color. Por ejemplo, un bonito tono rosa se puede indicar como: color red 1.0 green 0.8 blue 0.8Los valores despus de cada palabra han de estar comprendidos entre 0.0 y 1.0. Cualquiera de los tres componentes no especificadas se toman como 0 por defecto. Tambin se puede usar una notacin ms corta. Lo siguiente tambin produce el mismo tono rosa: color rgb Los colores se explican con ms detalle en la seccin "Especificando Colores".Definiendo una fuente de luz.Un ltimo detalle falta en nuestra escena. Necesitamos una fuente de luz, hasta que crees una no habr luz en este mundo virtual. De modo que aade esta lnea light_source { color White}a tu archivo de escena. Tu primera escena con POV-Ray debera quedar as: #include "colors.inc"

background { color Cyan }

camera { location look_at }

sphere { , 2 texture { pigment { color Yellow } } }

light_source { color White}El vector en la sentencia light_source especifica la posicin de la luz como 2 unidades a nuestra derecha, 4 unidades sobre el origen y 3 unidades por detrs del origen. La fuente de luz es invisible, slo emite luz, de modo que no se necesita textura.Esto es todo. Graba el archivo y traza una pequea imagen con la orden povray +w160 +h120 +p +x +d0 -v -idemo.povSi tu ordenador no usa la lnea de comandos, consulta la documentacin especfica de tu plataforma para ver como trazar la escena.Tambin puedes especificar otras opciones en la lnea de comandos, si quieres. La escena ser escrita al archivo demo.tga (o con otro sufijo si tu ordenador usa un formato por defecto diferente).La escena que acabas de trazar no es ninguna obra de arte, pero tenemos que empezar por lo bsico antes de que exploremos caractersticas y escenas mucho ms fascinantes.Usando la cmaraUsando el desenfoqueVamos a construir una escena simple para ilustrar el uso del desenfoque. Para este ejemplo usaremos una esfera rosa, una caja verde y un cilindro azul. La esfera estar en primer plano, la caja en el centro y el cilindro al fondo. Para completar la escena pondremos un suelo ajedrezado y un par de fuentes de luz. Creamos un nuevo archivo llamado focaldem.pov y tecleamos lo siguiente: #include "colors.inc" #include "shapes.inc" #include "textures.inc"

#version 3.0

global_settings { assumed_gamma 2.2 // para la mayora de los monitores de PC max_trace_level 5 }

sphere { , 0.5 finish { ambient 0.1 diffuse 0.6 } pigment { NeonPink } }

box { , < 1, 1, 1> rotate finish { ambient 0.1 diffuse 0.6 } pigment { Green } }

cylinder { , , 3 finish { ambient 0.1 diffuse 0.6 } pigment {NeonBlue} }

plane { y, -1.0 pigment { checker color Gray65 color Gray30 } }

light_source { color White }

light_source { color White }Ahora vamos a poner la cmara en una posicin apropiada, justo detrs de los tres objetos. Ajustando el punto focal moveremos el foco a cualquier punto de la escena. Aade las siguientes lneas: camera { location look_at

// focal_point // el cilindro est enfocado // focal_point < 0, 1, 0> // la caja esta enfocada focal_point < 1, 1, -6> // la esfera est enfocada

aperture 0.4 // una solucin de compromiso // aperture 0.05 // casi todo est enfocado // aperture 1.5 // muy desenfocado

// blur_samples 4 // poco muestreo, trazado ms rpido blur_samples 20 // ms muestras, mayor calidad de la imagen }El punto focal es el punto de la escena que estar totalmente enfocado, con los bordes bien definidos. Definimos el punto focal y asignamos un valor a la apertura para ajustar la distancia a la que comenzar a desenfocarse la imagen.El ajuste de la apertura puede considerarse como el rea enfocada. Aumentar la apertura tiene como efecto el hacer ms pequea el rea donde todo est enfocado, mientras de disminuirla hace que el rea enfocada sea mayor. As es como controlamos donde comienza a desenfocarse la imagen alrededor del punto focal.El valor de blur_samples determina cuantos rayos se trazan para muestrear cada pixel. Bsicamente, cuantos ms rayos se usen mayor ser la calidad de la imagen, y consecuentemente mayor tiempo tardar en trazarse. Cada escena es diferente, as que tendremos que experimentar. En este tutorial tenemos ejemplos de 4 y 20 muestras, pero podemos usar ms para imgenes de alta resolucin. No deberamos usar ms muestras que las necesarias para obtener la calidad deseada, porque ms muestras suponen ms tiempo para el trazado. Los ajustes de confidencia y varianza estn cubiertos en la seccin "Desenfoque".Experimenta con el punto focal, la apertura y el valor del muestreo. La escena tiene lneas con varios valores, y puedes probarlos comentando las lneas por defecto, y quitando el comentario a la lnea que quieras probar. Haz un cambio de cada vez para que puedas ver el efecto sobre la escena.Dos cosas sobre el trazado de escenas con desenfoque. No necesitamos especificar antialias (el parmetro +a) porque el desenfoque en s ya es un mtodo de sobremuestreo. El desenfoque slo puede usarse con la cmara de perspectiva (perspective camera).Formas simplesHasta ahora, slo hemos usado la forma de la esfera. Hay muchas otras formas que podemos usar con POV-Ray. Las secciones siguientes describirn cmo usar algunas de las ms sencillas en lugar de la esfera usada anteriormente.CajaLa caja es uno de los objetos ms utilizados. Sustituyamos la esfera por el texto del siguiente ejemplo: box { , // Esquina delantera inferior izquierda < 1, 0.5, 3> // Esquina trasera superior derecha

texture { T_Stone25 // Predefinida en stones.inc scale 4 // Escalamos en todas las direcciones el mismo factor }

rotate y*20 // Equivalente a "rotate " }En el ejemplo, podemos observar que una caja se define especificando las coordenadas tridimensionales de sus esquinas opuestas. El primer vector debe contener los valores mnimos de x, y y z, y el segundo debe contener los valores mximos. Los objetos con forma de caja slo pueden ser definidos con sus aristas paralelas a los ejes del eje de coordenadas. Si lo deseamos, podemos rotarlos para situarlos de otra manera. Observa que podemos construir expresiones matemticas de diverso tipo con nmeros y vectores. El parmetro de la rotacin est expresado por el vector y multiplicado por 20. Es lo mismo que *20, es decir, .ConoAqu tenemos otro ejemplo mostrando cmo usar un cono. cone { , 0.3 // Centro y radio de una base , 1.0 // Centro y radio de la otra base

texture { T_Stone25 scale 4 } }La forma del cono se define mediante el centro y el radio de cada base. En el ejemplo, una de las bases est centrada en el y tiene radio 0.3, mientras que la otra est centrada en el punto y tiene radio 1. Si queremos que el cono acabe en punta, indicaremos para esa base un radio 0. Ambas bases son paralelas y perpendiculares al eje del cono. Si queremos que el cono sea dibujado abierto, aadiremos la palabra open despus del segundo radio, como en el siguiente ejemplo: cone { , 0.3 // Centro y radio de una base , 1.0 // Centro y radio de la otra base open // Quita las bases

texture { T_Stone25 scale 4 } }CilindroPodemos definir tambin un cilindro como sigue: cylinder { , // Centro de una base , // Centro de la otra base 0.5 // Radio open // No dibuja las bases

texture { T_Stone25 scale 4 } }PlanoProbemos a crear un objeto tpico de los grficos por ordenador: el suelo ajedrezado. Aadimos el objeto siguiente a la primera versin del archivo demo.pov, el que incluye la esfera. plane { , -1 pigment { checker color Red, color Blue } }El objeto definido aqu es un plano infinito. El vector marca la direccin normal a la superficie del plano (si estuvisemos de pie sobre la superficie, la direccin apuntara desde nuestros pies hacia nuestra cabeza). El nmero situado tras el vector marca la distancia a la que el plano est situado del origen de coordenadas medido sobre la direccin normal. En este caso, el suelo est situado en y=-1, una unidad por debajo del centro. Como la esfera tiene radio 2 y est centrada a una unidad de altura, reposa sobre el suelo.Observemos que, aunque no hay una declaracin de textura, hay una textura implcitamente declarada aqu. Teclear continuamente instrucciones anidadas del tipo de texture{pigment{....}} es muy agotador, de forma que POV-Ray nos permite omitir la instruccin textura en muchas ocasiones. De hecho, slo deberemos usarla cuando englobemos una textura predefinida (como T_Stone25 del ejemplo anterior), o cuando apilemos varias texturas (como veremos ms adelante).Este pigmento usa el patrn de color ajedrezado y especifica que los colores usados sern el rojo y el azul.Como los vectores , y se usan frecuentemente, POV-Ray tiene tres identificadores reservados (x, y, z) que se pueden usar como abreviatura. As, un plano puede definirse como plane { y, -1 pigment { ... } }Observa que no usamos los smbolos < y > alrededor de los identificadores de vectores.Mirando al suelo, descubrimos que la esfera produce una sombra en l. El trazador de rayos calcula las sombras de forma muy precisa y esto crea sombras con bordes muy definidos. En el mundo real habitualmente se aprecia una zona de penumbra o sombra "suave". Ms adelante aprenderemos cmo usar luces avanzadas para suavizar el borde de las sombras.Inclusin de objetos estndarEl archivo de inclusin shapes.inc contiene algunas formas predefinidas que tienen un tamao similar a una esfera de radio uno. Podemos invocarlas desde uno de nuestros diseos as: #include "shapes.inc"

object { UnitBox texture { T_Stone25 scale 4 } scale 0.75 rotate translate y }Formas avanzadasDespus de haber conseguido cierta experiencia con las formas simples de POV-Ray, es el momento de hablar de las formas ms avanzadas (e interesantes).Debemos tener en cuenta que las formas definidas en adelante no son sencillas de entender. No debemos preocuparnos por no saber usarlas, o no conocer su aspecto. Slo probaremos unos ejemplos que juegan con las caractersticas descrita ms ampliamente en el captulo de referencias. No hay nada mejor para aprender que practicar.Parche bicbicoBurbujaLas burbujas se pueden describir como esferas y cilindros que tienden a fusionarse unos con otros cuando estn prximos. Ideales para modelar tomos y molculas, estos objetos son tambin herramientas poderosas que nos permiten crear variadas formas orgnicas.Una manera ms matemtica de describir una burbuja es decir que es un objeto hecho de dos o ms componentes, de forma que cada componente se comporta como un campo de fuerza invisible que comienza con una intensidad determinada y decae a cero a cierto radio. Donde esos campos se solapan, sus intensidades se suman (algunos de esos componentes pueden tener intensidad negativa, tambin). Lo que nosotros vemos de este objeto es la superficie en la que esa intensidad es igual a un determinado valor. Por supuesto, podemos tener un solo componente en una burbuja, pero su aspecto es idntico a una esfera (o a un cilindro, si sa es la forma del campo). La verdadera belleza de este objeto es la forma en la que unos componentes interactan con los otros.Tomemos un ejemplo simple de burbuja para empezar. Para simplificar este primer ejemplo, slo usaremos componentes esfricos. Escribamos el siguiente cdigo, compuesto de una cmara sencilla, luz, y una burbuja con slo dos componentes. Esta escena se llama blobdem1.pov: #include "colors.inc"

camera { angle 15 location look_at }

light_source { color White }

blob { threshold .65 sphere { , .8, 1 pigment {Blue} } sphere { ,.8, 1 pigment {Pink} }

finish { phong 1 } }

Figura 3: Una sencilla burbuja con dos componentesEl umbral (threshold) es simplemente la intensidad en la que nuestro objeto se vuelve visible. Cualquier punto visible de la superficie del objeto rene exactamente esa cantidad de intensidad, a partir de la suma o la diferencia de las diferentes componentes. Aquellos en los que la intensidad es menor estn fuera del objeto, y los que tienen una intensidad mayor se encuentran en el interior.Observemos que el componente esfrico parece una esfera. De hecho, indicamos su centro y su radio. Pero qu es el ltimo valor numrico? Es la intensidad de ese componente, el valor que alcanza en su centro. Decae siguiendo una progresin lineal hasta alcanzar el valor cero exactamente a una distancia igual al radio de la esfera.Antes de trazar esta imagen, observemos que le hemos dado a cada componente una pigmentacin distinta. POV-Ray permite que los componentes tengan distintas texturas. Hemos hecho esto para dejar claro cul es cada componente en la imagen. Tambin podemos aplicar texturas al final, lo que afectar a todos los componentes, como el acabado indicado en el ejemplo, fuera de ambas esferas. Cuando tracemos la imagen, encontraremos una burbuja tpica formada por dos esferas unidas.La imagen que vemos muestra una esfera en cada lado, pero estn suavemente unidas por una seccin puente en el centro. Este puente representa dnde los campos se solapan, por lo que su intensidad aumenta con respecto a lo que valdra si slo hubiese un componente. Por si esto no est totalmente claro, aadiremos dos objetos ms y la trazaremos de nuevo (archivo blobdem2.pov). Observa que las dos nuevas esferas se introducen como un objeto a parte, no como componentes de la burbuja. sphere { , .8 pigment { Yellow transmit .75 } }

sphere { , .8 pigment { Green transmit .75 } }

Figura 4: Las componentes esfricas se hacen visiblesAhora el secreto de las dos esferas unidas se pone de manifiesto. Estas esferas semitransparentes muestran dnde estn realmente las componentes de la burbuja. Si no hemos trabajado nunca con este tipo de objetos quiz nos sorprenda que las esferas se extiendan mucho ms all de donde vemos nosotros realmente los componentes. Esto es debido a que lo que muestran las superficies de las esferas es dnde la fuerza de los campos llega a cero, mientras que la burbuja marca dnde esta intensidad es igual a 0.65. El resto de la esfera es exterior a la burbuja y, por tanto, no es visible.Ves dnde se solapan ambas esferas? Observa que se corresponde precisamente con el "puente" entre las dos esferas. Esta es la regin donde la intensidad de ambos componentes est contribuyendo a la intensidad total, por lo que el puente aparece as: una regin en la que la intensidad supera el valor de umbral (0.65), debido a que se combina la de las dos esferas.Tipos de componentes y otras caractersticas nuevas.La forma mostrada hasta ahora es interesante, pero limitada. POV-Ray tiene unos cuantos trucos ms que extiende su utilidad. Por ejemplo, como hemos visto, podemos asignar valores de textura individualmente a cada componente, podemos aplicar transformaciones individuales (traslacin, rotacin y escalado) para modificar cada parte como deseemos. Y, lo que quiz es ms interesante, el cdigo de las burbujas se ha extendido a componentes cilndricas.Antes de empezar con los cilindros, deberamos mencionar que la forma clsica de enunciar las componentes de anteriores versiones de POV-Ray an sirve. Entonces, todas las componentes eran esfricas, de forma que no era necesario citar su forma. La forma clsica tiene el siguiente aspecto: component intensidad, radio,Esto tiene el mismo efecto que un componente esfrico, como los que hemos mostrado antes. Esto slo se mantiene por compatibilidad. Si tenemos archivos de POV-Ray de anteriores versiones, lo necesitaremos para que reconozca las componentes. Observa que el estilo clsico no pone llaves encerrando la intensidad, el radio y el centro, y, por supuesto, no podemos aplicarles individualmente texturas o transformaciones. De manera que si ests modificando un trabajo antiguo, tal vez sea interesante cambiar la sintaxis a la actual para conseguir algunas ventajas.Ahora intentemos crear algo con las componentes cilndricas. Se podra argumentar que podramos hacer un cilindro con una burbuja, usando algunas componentes esfricas alineadas. Esto es cierto, pero sera delicado calcular el valor de los centros, y deberamos teclear mucho ms.Sustituye la burbuja del ltimo ejemplo con lo siguiente y trzalo. Podemos borrar las esferas transparentes tambin. blob { threshold .65

cylinder { , , .5, 1 }

pigment { Blue } finish { phong 1 } }Tenemos slo un componente cilndrico para que veamos el aspecto que tiene aislado. No es realmente un cilindro, pues acaba en dos semiesferas. Podemos pensar en l como una esfera alargada en cierta direccin.En cuanto a la sintaxis, es lo que podamos esperar: el cilindro est descrito como los cilindros anteriormente vistos: dos vectores que indican los centros de sus bases y un valor que indica el radio. El otro nmero, por supuesto, indica la intensidad del campo en el centro del cilindro. Este valor indica cmo interacta con otras componentes, si tiene alguna con la que interactuar.Construcciones complejas con burbujas e intensidad negativa.Iniciemos un archivo POV nuevo, llamado blobdem3.pov, escribiendo este ejemplo algo ms complejo: #include "colors.inc"

camera { angle 20 location look_at }

light_source { color White }

blob { threshold .65

sphere { ,.43, 1 scale } //palma sphere { ,.43, 1 scale } //palma sphere { , .45, .75 scale } //centro de la mano sphere { , .45, .75 scale } //centro de la mano sphere { , .45, .85 scale } //extremo sphere { , .45, .85 scale } //extremo

cylinder { , , .26, 1 } //meique (bajo) cylinder { , , .26, 1 } //meique (alto)

cylinder { , , .26, 1 } //anular (bajo) cylinder { , , .26, 1 } //anular (alto)

cylinder { , , .26, 1 } //medio (bajo) cylinder { , , .26, 1 } //medio (alto)

cylinder { , , .26, 1 } //ndice (medio) cylinder { , , .26, 1 } //ndice (alto)

cylinder { , , .25, 1 } //pulgar (bajo) cylinder { , , .25, 1 } //pulgar (alto)

pigment { Flesh } }

Figura 5: Una mano hecha con burbujasComo podemos ver por los comentarios, estamos construyendo una mano. Cuando tracemos esta imagen, veremos que hay ciertos problemas con esta. La palma y la parte baja se pueden hacer ms realistas si usamos una docena de componentes pequeas en lugar de media docena de componentes grandes, y cada dedo debera tener tres segmentos en lugar de dos, pero como ejemplo nos sirve. Sin embargo, hay una cosa que realmente debemos aadir: los dedos aparecen unidos por una especie de membrana.Una revisin de lo que sabemos de las burbujas nos revela rpidamente qu sucede. Esta membrana est formada por lugares donde las componentes se solapan, por lo que la intensidad de las componentes se suma y la superficie se extiende hacia ellos. Lo que necesitamos es aadir aqu algunas componentes ms que tengan intensidad negativa y contrarresten parte de la intensidad combinada. Aadiremos las siguientes componentes a nuestro objeto (ver archivo blobdem4.pov): sphere { , .26, -1 } //anula el bulto del nudillo del meique sphere { , .26, -1 } //anula el bulto de la palma junto al meique

sphere { , .26, -1 } //anula el bulto del nudillo del anular sphere { , .26, -1 } //anula el bulto de la palma junto al anular

sphere { , .26, -1 } //anula el bulto del nudillo del medio sphere { , .26, -1 } //anula el bulto de la palma junto al medio

sphere { , .26, -1 } //anula el bulto del nudillo del ndice sphere { , .26, -1 } //anula el bulto de la palma junto al ndice

sphere { , .25, -1 } //anula el bulto del nudillo del pulgar sphere { , .25, -.89 } //anula el bulto de la palma junto al pulgar

Figura 6: La mano sin membranaMucho mejor! La intensidad negativa de la componente esfrica acta aproximadamente en el punto medio entre los dedos, de forma que la horrible membrana ya no aparece, haciendo nuestra mano mucho ms creble. Aunque la podemos hacer an ms realista aadiendo algunas docenas de componentes adicionales, lo que hemos conseguido ya es bastante aceptable. Por ahora, ya tenemos algn ejemplo de la utilizacin de las burbujas para crear superficies orgnicas complejas.Campo de alturasUn campo de alturas es un objeto cuya superficie est determinada por el valor de color o de paleta de cada pxel de una imagen diseada para este propsito. Con estos objetos podemos simular montaas realistas y hacer fcilmente otros tipos de terreno. En primer lugar, necesitamos una imagen a partir de la cual crearemos el campo de alturas. POV-Ray es ideal para crear tal imagen.Abrimos un nuevo archivo llamado image.pov y escribimos lo siguiente: #include "colors.inc"

global_settings { assumed_gamma 2.2 hf_gray_16 }La palabra clave hf_gray_16 hace que la salida sea codificada de un modo especial (16 bits en escala de grises) que es ideal para generar campos de alturas. Las superficies construidas con 8 bits son mucho menos suaves, ya que se trabaja con menos alturas diferentes (256 frente a 65536 de los 16 bits).Ahora situamos una cmara que apunta desde la parte negativa del eje z al origen. camera { location look_at 0 }Despus, situamos un plano como un muro en z=0, que llenar totalmente la pantalla. Lo coloreamos con manchas con forma de arrugas grises sobre fondo blanco. plane { z, 10 pigment { wrinkles color_map { [0 0.3*White] [1 White] } } }Finalmente, aadiremos una luz. light_source { color White }Trazamos esta escena con las opciones +h480 +w640 +a0.1 +fT. Obtendremos una imagen que producir un excelente campo de alturas. Creamos ahora un archivo llamado hfdemo.pov y escribimos en l lo siguiente: #include "colors.inc"Aadimos una cmara dos unidades sobre el origen y diez unidades por detrs... camera{ location look_at 0 angle 30 }... y una luz. light_source{ White }Ahora aadimos el campo de alturas. En la sintaxis siguiente se especifica que usamos un archivo Targa, que se suaviza el cambio entre alturas, se colorea de blanco, y se traslada para centrarlo en el origen y escalarlo de forma que simule montaas y llene la pantalla. height_field { tga "image.tga" smooth pigment { White } translate scale }

Figura 7: Un campo de alturas creado ntegramente con POV-RayGuardamos el archivo y trazamos a 320 por 240, sin antialias (-a). Despus, si estamos satisfechos con el resultado, probaremos a crear una imagen de mayor resolucin y con antialias.Uao! El Himalaya en nuestro ordenador!Objeto torneado (lathe)Estos objetos simulan lo que podemos hacer con un torno puede hacer al cortar bordeando un patrn determinado sobre una pieza de algn material. El resultado es un artefacto elegantemente redondeado que puede ser usado en una gran diversidad de situaciones (mesas, piezas de cermica, etc.).Aqu incluimos algo de cdigo para crear una pieza torneada muy sencilla (llamada lathdem1.pov). #include "colors.inc"

camera { angle 10 location look_at }

light_source { color White }

lathe { linear_spline 6, , , , , , pigment { Blue } finish { ambient .3 phong .75 } }

Figura 8: Un sencillo objeto torneado (lathe)Trazamos esto, y lo que veremos es un objeto muy sencillo, similar a una peonza. Veamos cmo este cdigo produce dicho efecto.Primero, se declaran seis puntos que el programa conecta con lneas. Observa que slo indicamos dos componentes en los vectores que describen esos puntos. Se asume que las lneas estn trazadas sobre el plano x-y, como si la tercera componente fuese siempre cero. Es obligatorio usar vectores de dos componentes (usar vectores de tres componentes ocasionar un error, excepto en un caso que exploraremos posteriormente, relacionado con la discusin de las curvas spline).Una vez que las lneas estn determinadas, podemos imaginar que el trazador de rayos gira esta lnea alrededor del eje y, dejando la forma del objeto al paso de la lnea (realmente, es como si cortara sobre un cilindro de material azul usando esta lnea de patrn, y descartara todo lo que queda en el exterior de sta).Los puntos especificados estn unidos por trazos rectos porque usamos la clave linear_spline. Hay otros tipos de curvas permitidas para este fin, que producen curvas ms suaves, redondeando las transiciones entre un trazo y otro, pero volveremos a hablar de ello dentro de un momento.Primero, estudiemos la diferencia entre un objeto torneado y una superficie de revolucin (sor). La superficie de revolucin, descrito en un tutorial aparte, es terriblemente similar a primera vista. Tambin declara una serie de puntos, los une mediante lneas y despus rota el resultado alrededor del eje y. El objeto torneado tiene ciertas ventajas, como diferentes tipo de trazos de unin (lineales, cuadrticos y cbicos) y algo ms.Las sencillas matemticas usadas en un SOR no permiten que la curva se doble y tome por dos veces el mismo valor de y, es decir, que todo intento de que un objeto SOR se curve hasta volver a tomar la misma altura produce un error. Por ejemplo, supongamos que queremos tornear una curva que sube de hasta , y despus baja hasta . Girado en torno al eje y, esto producira algo similar a un molde para gelatina (un semitoro), hundido en el centro. Sin embargo, en un SOR, el intento dar un mensaje de error debido a intentar curvarse en la direccin equivocada.Sin embargo, los objetos SOR utilizan matemtica de inferior orden, por lo que su clculo es ms rpido que el equivalente objeto torneado. De manera que es preferible usar un objeto SOR si sus limitaciones no nos afectan, pero si necesitamos tornear de una forma ms flexible, slo podemos utilizar un objeto torneado.Entendiendo el concepto de splinesSera til, a fin de comprender las splines, si tuviramos un ejemplo donde pudiramos practicar manipulando puntos y tipos de splines y ver cuales son los efectos. As que, hagamos uno! Ahora que sabemos como crear un torno bsico, ser fcil (ver archivo lathdem2.pov): #include "colors.inc"

camera { orthographic up right location look_at }

/* Definir los puntos de control que sern usados */

#declare Red_Point = #declare Orange_Point = #declare Yellow_Point = #declare Green_Point = #declare Blue_Point = < 1.50, 4.00, 0>

/* Hacer visibles los puntos de control */

cylinder { Red_Point, Red_Point - 20*z, .1 pigment { Red } finish { ambient 1 } }

cylinder { Orange_Point, Orange_Point - 20*z, .1 pigment { Orange } finish { ambient 1 } }

cylinder { Yellow_Point, Yellow_Point - 20*z, .1 pigment { Yellow } finish { ambient 1 } }

cylinder { Green_Point, Green_Point - 20*z, .1 pigment { Green } finish { ambient 1 } }

cylinder { Blue_Point, Blue_Point- 20*z, .1 pigment { Blue } finish { ambient 1 } }

/* Algo para hacer aparecer la curva */

lathe { linear_spline 5, Red_Point, Orange_Point, Yellow_Point, Green_Point, Blue_Point

pigment { White } finish { ambient 1 } }

Figura 9: Un simple ejemplo de splineAhora, retomamos el aliento. Vemos que tiene una apariencia un poco rara, pero con algunas simples explicaciones, podemos ver fcilmente qu es lo que hace todo esto.En primer lugar decir que estamos usando la cmara ortogrfica. Si an no hemos ledo nada sobre ella, aqu hay un breve resumen: traza la escena plana, eliminando la distorsin de la perspectiva para que en una vista lateral, los objetos tengan la misma apariencia que si hubieran sido dibujado en un plano de papel (como en la vista lateral de un modelador o programa de CAD). Hay varios usos para este prctico nuevo tipo de cmara, pero aqu nos permitir ver nuestro torno y cilindros como si fueran una seccin transversal de la curva que forma el torno, ms que el torno en s mismo. Para reforzar el efecto hemos eliminado el sombreado con el acabado ambient 1 que, en efecto tambin elimina la necesidad de una fuente de luz. Tambin hemos posicionado esta particular vista lateral para que el punto aparezca en la esquina inferior izquierda de nuestra escena.A continuacin hemos declarado un conjunto de puntos. Ntese que hemos usado vectores de tres componentes para estos puntos, en lugar de los vectores de dos que solemos usar en un torno. Esta es una excepcin que ya mencionamos antes. Cuando declaramos un punto 3D y lo usamos en un torno, este solo usa las dos primeras componentes del vector y la tercera componente es ignorada. Esto es prctico aqu, ya que hace posible este ejemplo.Ahora hacemos dos cosas con los puntos declarados. Primeros los usamos para colocar cilindros de pequeo dimetro con las bases apuntando a la cmara. Entonces volvemos a usar esos mismos vectores para determinar el torno. Ya que intentar declarar vectores en 2D puede ocasionar resultados no esperados y no es lo que necesitan nuestras declaraciones de cilindros, podemos aprovechar la tendencia del torno a ignorar la tercera componente poniendo la coordenada z a 0 en los vectores en 3D.El resultado final es: cuando trazamos este cdigo, vemos un torno de color blanco contra un fondo negro mostrndonos la forma de la curva que hemos declarado y las bases circulares de los cilindros nos muestran nuestros puntos de control sobre el plano xy. En este caso, es muy simple. La spline lineal ha sido usada de forma que nuestra curva est compuesta por una serie de lneas conectando los puntos. Ahora cambiamos las declaraciones de Red_Point y Blue_Point de la siguiente forma (ver fichero lathdem3.pov). #declare Red_Point = #declare Blue_Point =

Figura 10: Moviendo algunos puntos de la splineTrazamos de nuevo y lo que podemos ver es que los segmentos rectos se han movido para acomodarse a las nuevas posiciones de los puntos rojo y azul.Vamos a intentar algo distinto. Primero cambiamos los puntos por estos otros (ver fichero lathdem4.pov). #declare Red_Point = #declare Orange_Point = #declare Yellow_Point = #declare Green_Point = #declare Blue_Point =

Figura 11: La spline cuadrtica.Ahora vamos a la declaracin del torno y cambiamos linear_spline por quadratic_spline. Trazamos de nuevo y qu tenemos? Bien, esta vez hay varias cosas que comentar. Primero, vemos que, en lugar de lneas rectas, tenemos redondeados arcos conectando los puntos. Estos arcos estn formados a partir de curvas cuadrticas, de manera que ahora nuestro torno parece mucho ms interesante. Tambin vemos que el punto rojo no est conectado a la curva. Qu ha pasado?Bien, mientras que cualquier pareja de puntos puede determinar una lnea recta, se necesitan tres para determinar una curva cuadrtica. POV-Ray no solo tiene en cuenta los dos puntos a ser conectados, si no tambin el punto que los precede para determinar la frmula de la curva cuadrtica que ser usada para conectarlos. El problema est al principio de la curva. Ms all de su primer punto no hay punto previo. As que necesitamos declarar uno. Por lo tanto, cuando se usa una spline cuadrtica, debemos recordar que el primer punto que especificamos solo est all para que POV-Ray pueda determinar la curva para conectar los dos primeros puntos. No se mostrar como parte de la curva.Solo hay una cosa ms acerca de este ejemplo. A pesar de que nuestra curva est formada ahora por lneas redondeadas, las transiciones entre estas lneas son... bueno, un poco picadas. Parece que las lneas hubieran sido conectadas en los puntos de forma equivocada. Dependiendo de lo que intentemos hacer, esto puede ser aceptable, o podemos desear una forma ms redondeada. Afortunadamente tenemos otra opcin.La spline cuadrtica necesita ms tiempo de trazado que la lineal. La frmula matemtica es ms compleja. Ms tiempo necesita an la spline cbica, aunque para una figura realmente redondeada, esta es la nica opcin. Volvemos a nuestro ejemplo y reemplazamos quadratic_spline por cubic_spline (ver archivo lathdem5.pov). Trazamos una vez ms y vemos lo que tenemos.

Figura 12: La spline cbicaMientras que una spline cuadrtica necesita tres puntos para determinar la curva, una cbica necesita cuatro. As que, como esperbamos, el punto azul ha dejado de formar parte de la curva, como antes pas con el punto rojo. Ahora el primer y el ltimo punto de la curva son solo puntos de control para determinar las curvas entre los restantes puntos. Pero echemos un vistazo a las transiciones desde el punto naranja hasta el punto amarillo y despus hasta el verde. Ahora, en lugar de parecer equivocados, los segmentos forman una sola y completamente redondeada curva.El concepto de las splines es algo til y necesario, que se volver a ver de nuevo en los objetos prisma y polgono. Con un poco de prctica podemos aprenderlo a usar rpidamente.Malla de tringulosLos objetos malla (mesh) son muy tiles, porque nos permiten crear objetos conteniendo cientos o miles de tringulos. Comparados con una simple unin de tringulos, las mallas almacenan los tringulos de manera ms eficiente. Las copias de los objetos malla necesitan muy poca memoria adicional, porque los tringulos se almacenan slo una vez.Casi todos los objetos se pueden aproximar usando tringulos, pero necesitaramos muchos tringulos para crear formas complejas. De modo que crearemos una malla muy simple como ejemplo. Este ejemplo nos mostrar adems una caracterstica muy til de las mallas de tringulos: se puede aplicar una textura diferente a cada tringulo.Comencemos. Crearemos una simple caja con caras de diferente color. Crea un archivo llamado meshdemo.pov y aade las siguientes lneas: camera { location look_at }

light_source { color rgb }

#declare Red = texture { pigment { color rgb } finish { ambient 0.2 diffuse 0.5 } }

#declare Green = texture { pigment { color rgb } finish { ambient 0.2 diffuse 0.5 } }

#declare Blue = texture { pigment { color rgb } finish { ambient 0.2 diffuse 0.5 } }Debemos declarar todas las texturas que queremos incluir en la malla antes de crear sta. Las texturas no se pueden especificar dentro de la malla debido a que el rendimiento de la memoria decaera.Ahora aadimos la malla. Tres caras de la caja usarn textura individual, mientras que las otras tres usarn la textura global de la malla. mesh { /* top side */ triangle { , , texture { Red } } triangle { , , texture { Red } } /* bottom side */ triangle { , , } triangle { , , } /* left side */ triangle { , , } triangle { , , } /* right side */ triangle { , , texture { Green } } triangle { , , texture { Green } } /* front side */ triangle { , , texture { Blue } } triangle { , , texture { Blue } } /* back side */ triangle { , , } triangle { , , } texture { pigment { color rgb } finish { ambient 0.2 diffuse 0.7 } } }Trazando la escena a 320x240 veremos que la cara superior, la derecha y la frontal ti