Archivos de esta coleccin.
Necesarios para ejecucin:
RDHV.inc  	: archivo principal
RDHV_AU1.inc	: archivo auxiliar para la pantalla de cristal liquido
RDHV_IM1.gif	: imagen auxiliar para rotular emisoras
RDHV_IM2.gif	: imagen auxiliar para controles
Extras para visualizacin de manual html, no necesita conservarlos
RDHV.html	: instrucciones en html
RDHV_Thumbnail.jpg	
			: dibujo del objeto en pequeo
RDHV.jpg		: resultado con mejor resolucion
RDHV_logoPOVht.jpg	: logo de POV-Ray
RDHV_fp32ht.jpg		: logo de FreePascal
RDHV_freedosht.jpg	: logo de FreeDOS
RDHV_faltaht.jpg	: imagen de LibreN3D
RDHV_backht.jpg		: fondo de texto html
RDHV_cc-LGPL-a.png	: logo de GNU LGPG
Extras adicionales
RDHV.pov		: archivo de prueba
RDHV_readme.txt		: este documento

Lo que sigue, puede leerse con mayor facilidad con RDHV_html, y su despliegue preferido...
Esta copia es para usuarios que prefieran las instrucciones en formato TXT, o si en el futuro
el lenguaje html quede descontinuado.

RDHV
Instrucciones para "RDHV.inc" v1.0 

Donacin de Rafael Angel Campos Vargas, en el ao 2015, a la Biblioteca de 
objetos de POV-Ray.  Este proyecto se encuentra actualmente suscrito a la 
patente LGPL;  para libre uso comercial y no comercial del software. 
   
  The primary purpose of this collection is to make items publicly available 
  under a common license that permits use, modification and re-distribution. To 
  support this contributions are donated to the collection with consent for 
  their use under the terms of the Creative Commons - Lesser General Purpose 
  License (CC-GNU LGPL). 

    Chris Bartlett 2007

La versin actual v1.0 de "RDHV.inc" (RadioDespertadorHorarioVerano) dibuja un 
radio despertador sencillo para uso domstico.  Ofrece una macro que permite 
cambiar las caractersticas principales y texturas.  Incluye macros para generar 
dgitos y el display del reloj.  Es compatible con PovRay 3.1. 
Indice de pgina: 
  Instalacin de Archivos

  Instrucciones bsicas

  Caractersticas del objeto

  Modificadores

  Notas y Advertencias

  Sugerencias de modificacin

  Sobre LibreN3D




Instalacin de Archivos
El procedimiento siguiente es completamente optativo, corresponde simplemente al 
estndard de la Biblioteca de objetos POV-Ray. 
  Cree el subdirectorio "ObjectCollections".  Se sugiere un subdirectorio del 
  folder POV-Ray, creado por el instalador en algunas versiones en la seccin de 
  documentos o bien en la de cdigo. 
  Copie los archivo "RDHV.inc", "RDHV_AU1.inc", RDHV_IM1.gif y "RDHV_IM2.gif" en 
  dicho subdirectorio;  nicamente estos cuatro son necesarios.  En cuanto a la 
  documentacin y dems puede colocarla si desea en el mismo subdirectorio, el 
  estndar ha sido diseado para evitar problemas de compatibilidad. 
  Actualice los archivos buscados por POV-Ray, en algn archivo ini pertinente.  
  Por ejemplo "POVRay.ini";  agregue el comando 
  Library_Path="C:\FDOS\POVRAY31\ObjectCollections"; o el que corresponda a su 
  sistema operativo.  POV-Ray ofrece muchas formas de realizar esto.  Si no sabe 
  cmo, probablemente convenga leer el manual de referencia en la seccin 
  "Command-line options".   Cada sistema operativo presenta sus propias 
  variantes. 
Nota:  El archivo de prueba "RDHV.pov" puede ejecutarse sin ningn proceso de 
instalacin.  Unicamente debera estar ubicado en el mismo folder que 
"RDHV.inc", "RDHV_AU1.inc", "RDHV_IM1.gif" y "RDHV_IM2.gif". 



Instrucciones bsicas
       
      Radio despertador 
Muy fcil de usar, tan simple como incluir el archivo y ubicar el objeto.  El 
siguiente ejemplo ilustra el procedimiento bsico. , 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RDHV.inc"
    
    object      {
      RDHV_RadioDespertador( 12, 0, 4, on ) 
      translate               <-1.94375,1.66375,-4.875>  
    }
La macro fundamental tiene slo cuatro parmetros. 
    #macro RDHV_RadioDespertador( Hora, Minuto, Indicadores, BanderaRadial )   
Hora : 
  Entero para escribir la hora en la pantalla. 
  Minuto : 
  Entero para escribir los minutos en la pantalla. 
  Indicadores : 
  Entero para elegir los indicadores encendidos.  Un valor de cero no enciende 
  ningunto.  Para encender un indicador sume el valor de su selector. 
        RDHV_LUZDST= 1
        RDHV_LUZAM= 2
        RDHV_LUZPM= 4
        RDHV_LUZALARM= 8
        RDHV_LUZBATERIA= 16

  BanderaRadial : 
  "on" modelo con bordes curvos.  "off" modelo prismtico.  
La siguiente macro dibuja el objeto con mayor control sobre las caractersticas. 

    #macro RDHV_RadioDespertadorHorarioVerano( Hora, Minuto, Indicadores,
          BanderaRadial, Frente, Profundidad, Radial, Cizalla,
          ArregloBotones, TexturaPrincipal, TexturaLabel, ArregloTexturasExtra,
          TexturaLabelLUZ, TexturaTransparente, TexturaLUZ, TexturaFondoLUZ )
Hora : 
  Entero para escribir la hora en la pantalla. 
  Minuto : 
  Entero para escribir los minutos en la pantalla. 
  Indicadores : 
  Entero para elegir los indicadores encendidos.  Un valor de cero no enciende 
  ningunto.  Para encender un indicador sume el valor de su selector. 
        RDHV_LUZDST= 1
        RDHV_LUZAM= 2
        RDHV_LUZPM= 4
        RDHV_LUZALARM= 8
        RDHV_LUZBATERIA= 16

  BanderaRadial : 
  "on" modelo con bordes curvos.  "off" modelo prismtico.  
  Frente : 
  Frente X para la radio, sin el borde curvo.  Default es 71.5*L. 
  Profundidad : 
  Referencia para la profundidad Z de la radio.  Default es 95.0*L. 
  Radial : 
  Radio de los laterales curvos.  La altura referencia del aparato se tomar a 
  partir de 2*Radial.  Default es 19.7*L. 
  Cizalla : 
  Fraccin propia para transformacin oblicua del prismo base.  Default es 2/11. 

  ArregloBotones : 
  Arreglo bidimensional de nmeros reales.  Para describir los botones de la 
  parte superior del aparato.  Cada dato tiene la composicin { 
  RDHV_IndiceBotonVisible, RDHV_IndiceBotonU, RDHV_IndiceBotonV, 
  RDHV_IndiceBotonFrente, RDHV_IndiceBotonRadio, RDHV_IndiceTexturaBoton }.  Por 
  ejemplo para apagar el botn C, asigne #declare 
  ArregloBotones[C][RDHV_IndiceBotonVisible] = off;. Default es 
  RDHV_ArregloBotones1. RDHV_IndiceBotonVisible "on" dibuja el botn, 
        "off" no lo dibuja. 
        RDHV_IndiceBotonU Fraccin propia entre 0 y 1, para ubicacin frontal en 
        la parte superior.  0.0 borde izquierdo, 1.0 borde derecho. 
        RDHV_IndiceBotonV Fraccin propia entre 0 y 1, para ubicacin Z en la 
        parte superior.  0.0 zona frontal, 1.0 al fondo. 
        RDHV_IndiceBotonFrente Utilice 0.0 para botones redondos.  Fraccin 
        propia para indicar el largo X de un botn alargado. 
        RDHV_IndiceBotonRadio El radio del botn, o de sus extremo (si se trata 
        de un botn alargado). 
        RDHV_IndiceTexturaBoton Entero a partir de cero ubica la textura en el 
        arreglo parmetro ArregloTexturasExtra.  Utilice valor negativo para no 
        aplicar ninguna textura. 

  TexturaPrincipal : 
  Textura principal a aplicar a la radio.  Default es RDHV_TexturaPrincipal. 
  TexturaLabel : 
  Textura que se aplica por diferencia a la parte superior.  Su funcin es 
  etiquetar los botones, y pintar un parlante.  Default es RDHV_TexturaLabel. 
  ArregloTexturasExtra : 
  Tipo array para texturas.  Podra tener un nico elemento.  Corresponde a las 
  texturas asignadas por ArregloBotones.  Si asigna todas las texturas 
  negativas, este valor se ignora.  Default es RDHV_ArregloTexturasExtra. 
  TexturaLabelLUZ : 
  Textura que se aplica al frente del radio.  Incluye la rotulacin de emisoras 
  e indicadores luminosos.  Default es RDHV_TexturaLabelLUZ. 
  TexturaTransparente : 
  Corresponde a una cubierta plstica protectora de la pantalla de cristal 
  lquido y todo el frente del aparato.  Default es RDHV_TexturaTransparente. 
  TexturaLUZ : 
  El color de la luz se pinta con esta textura.  Probablemente convenga asignar 
  un valor ambient elevado para cuartos oscuros.  Default es RDHV_TexturaLUZ. 
  TexturaFondoLUZ : 
  Se aplica al fondo de la pantalla de cristal lquido.  Default es 
  RDHV_TexturaFondoLUZ. 
La siguiente macro dibuja el frente del radio despertador sin aplicar la 
cizalla, centrado como se indica ms adelante.  Podra ser til para agregar 
relojes de cristal lquido a otros objetos. 
    #macro RDHV_DisplayClock( Hora, Minutos, Indicadores, FraccionDisplay,
             BanderaRadial, Frente, ProfundidadDisplay, Radial,
             TexturaLabelLUZ, TexturaTransparente,
             TexturaLUZ, TexturaFondoLUZ )  
Hora : 
  Entero para escribir la hora en la pantalla. 
  Minuto : 
  Entero para escribir los minutos en la pantalla. 
  Indicadores : 
  Entero para elegir los indicadores encendidos.  Un valor de cero no enciende 
  ningunto.  Para encender un indicador sume el valor de su selector. 
        RDHV_LUZDST= 1
        RDHV_LUZAM= 2
        RDHV_LUZPM= 4
        RDHV_LUZALARM= 8
        RDHV_LUZBATERIA= 16

  FraccionDisplay : 
  Fraccin del alto del Display ocupado por el despliegue incluyendo el fondo.  
  Default es 0.5. 
  BanderaRadial : 
  "on" modelo con bordes curvos.  "off" modelo prismtico.  
  Frente : 
  Frente X para la radio, sin el borde curvo.  Default es 71.5*L. 
  ProfundidadDisplay : 
  Profundidad aproximada del Display.  Default es 3.6*L. 
  Radial : 
  Radio de los laterales curvos.  La altura referencia del aparato se tomar a 
  partir de 2*Radial.  Default es 19.7*L. 
  TexturaLabelLUZ : 
  Textura que se aplica al frente del radio.  Incluye la rotulacin de emisoras 
  e indicadores luminosos.  Default es RDHV_TexturaLabelLUZ. 
  TexturaTransparente : 
  Corresponde a una cubierta plstica protectora de la pantalla de cristal 
  lquido y todo el frente del aparato.  Default es RDHV_TexturaTransparente. 
  TexturaLUZ : 
  El color de la luz se pinta con esta textura.  Probablemente convenga asignar 
  un valor ambient elevado para cuartos oscuros.  Default es RDHV_TexturaLUZ. 
  TexturaFondoLUZ : 
  Se aplica al fondo de la pantalla de cristal lquido.  Default es 
  RDHV_TexturaFondoLUZ. 
Esta macro dibuja un dgito de la pantalla de cristal lquido, previo al 
escalamiento. 
   #macro RDHV_DisplayDigito( Digito, Cizalla, BanderaUno, BanderaApagado,
              TexturaEncendido, TexturaApagado )
Digito : 
  Nmero entero del 0 al 9 para desplegar. 
  Cizalla : 
  Cizalla en el eje Y del dgito. 
  BanderaUno : 
  "on" indica que el dgito solo puede valer uno o cero.  "off" indica un dgito 
  usual.  Se le asignar menor tamao. 
  BanderaApagado : 
  "on" dibuja las barras apagadas con TexturaApagado.  "off" ignora las barras 
  apagadas. 
  TexturaEncendido : 
  Textura que se asigna a las barras encendidas. 
  TexturaApagado : 
  Permite asignar una textura a las barras apagadas.  Si BanderaApagado es "off" 
  se ignora. 
En el siguiente ejemplo dibujamos el mismo objeto original con la macro 
detallada: 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RDHV.inc"
    
    object      {
      RDHV_RadioDespertadorHorarioVerano( 12, 0, 4, on,
          0.0715, 0.095, 0.0197, 2/11,
          RDHV_ArregloBotones1, RDHV_TexturaPrincipal, RDHV_TexturaLabel, 
          RDHV_ArregloTexturasExtra, RDHV_TexturaLabelLUZ, RDHV_TexturaTransparente,
          RDHV_TexturaLUZ, RDHV_TexturaFondoLUZ )
      translate               <-1.94375,1.66375,-4.875>  
    }
En el siguiente ejemplo ilustramos el uso de las otras dos macros. 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RDHV.inc"
    
    union               {
      object            {          
        RDHV_DisplayClock( 12, 0, 4, 0.5, off, 0.0715, 0.0036, 0.0197,
            RDHV_TexturaLabelLUZ, RDHV_TexturaTransparente,
            RDHV_TexturaLUZ, RDHV_TexturaFondoLUZ )   
      }
      object            {  
        RDHV_DisplayDigito( 5, 0, off, off, RDHV_TexturaLUZ, 0 )
        scale                   0.005
        translate               0.04*y
      }
      translate               <-1.94375,1.66375,-4.875>  
    }
En el siguiente ejemplo cambiamos el arreglo de botones y sus texturas 
asociadas. 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RDHV.inc"
         
    #declare NuevoArregloBotones        = array [2][6]     
       { {   on, 0.2, 0.3, 0.00, 0.20, 0  },
         {   on, 0.8, 0.3, 0.00, 0.20, 1  } }
                      
    #declare NuevoArregloTexturaBotones = array [2]
      { texture{ pigment { Red } }, texture{ pigment { Blue } } }                
                      
    object      {
      RDHV_RadioDespertadorHorarioVerano( 12, 0, 4, on,
          0.0715, 0.095, 0.0197, 2/11,
          NuevoArregloBotones, RDHV_TexturaPrincipal, RDHV_TexturaLabel, 
          NuevoArregloTexturaBotones, RDHV_TexturaLabelLUZ, RDHV_TexturaTransparente,
          RDHV_TexturaLUZ, RDHV_TexturaFondoLUZ )
      translate               <-1.94375,1.66375,-4.875>  
    }



Caractersticas del objeto
Mis dibujos estn en unidades L (Lisa).  1 L equivale a 0.055063 pulgadas 
definido como 0.001 para POVRAY.  El objeto tiene las siguientes 
caractersticas: 
    Alto                            =  47*L
    Frente en X (cilndrico)        = 111*L 
    Frente en X (prismtico)        =  72*L 
    Profundidad en Z                = 108*x  
Se dibuja sobre el plano XZ.  El frente del aparato se encuentra centrado sobre 
el origen, de forma que se ubica totalmente detrs del plano XY hacia Z-, con 
gravedad Y-. 
RDHV_DisplayClock dibuja el objeto sin cizalla en Z, tambin detrs del plano XY 
hacia Z-.  El display se colocar centrado en el eje Y.  Tomar en cuenta que su 
altura total es 2*Radial. 
RDHV_DisplayDigito dibuja nmeros mediante dos cuadrados guas.  Los cuadrados 
gua sin contar el grueso y cizalla son unitarios, iniciando en el origen.  Su 
dibujo se desplaza hacia arriba y a la derecha. 
Se generan las siguientes declaraciones que no deberan modificarse.  Para su 
correcta modificacin consultar la seccin Modificadores. 
  RDHV_ArregloBotones1 
  Sirve como parmetro ArregloBotones en la macro detallada.  Incluye 
  descripciones para los botones default. 
  RDHV_DefaultTexturaPrincipal 
  Textura principal a aplicar al aparato. 
  RDHV_DefaultTexturaLabel 
  Textura que se aplica por diferencia a la parte superior.  Su funcin es 
  etiquetar los botones, y pintar un parlante. 
  RDHV_DefaultTexturaLabelLUZ 
  Textura que se aplica al frente del radio.  Incluye la rotulacin de emisoras 
  e indicadores luminosos. 
  RDHV_DefaultTexturaTransparente 
  Corresponde a una cubierta plstica protectora de la pantalla de cristal 
  lquido y todo el frente del aparato. 
  RDHV_DefaultTexturaLUZ 
  El color de la luz se pinta con esta textura.  Probablemente convenga asignar 
  un valor ambient elevado para cuartos oscuros. 
  RDHV_DefaultTexturaFondoLUZ 
  Se aplica al fondo de la pantalla de cristal lquido. 
  RDHV_DefaultTexturaExtra 
  Se aplica a los botones. 



Modificadores
La siguiente es la lista de los modificadores permitidos en la unidad. 
    #declare RDHV_ArregloTexturasExtra	        = array [1] 
	texture  { RDHV_DefaultTexturaExtra }
Textura para aplicar a los botones.  Se define como arreglo por requerimientos 
de la macro detallada.  
    #declare RDHV_TexturaPrincipal		= 
	texture  { RDHV_DefaultTexturaPrincipal }
Textura principal a aplicar al aparato. 
    #declare RDHV_TexturaLabel			=
	texture  { RDHV_DefaultTexturaLabel }
Textura que se aplica por diferencia a la parte superior.  Su funcin es 
etiquetar los botones, y pintar un parlante. 
    #declare RDHV_TexturaLabelLUZ		=
	texture  { RDHV_DefaultTexturaLabelLUZ }
Textura que se aplica al frente del radio.  Incluye la rotulacin de emisoras e 
indicadores luminosos. 
    #declare RDHV_TexturaTransparente		=
	texture  { RDHV_DefaultTexturaTransparente }
Corresponde a una cubierta plstica protectora de la pantalla de cristal lquido 
y todo el frente del aparato. 
    #declare RDHV_TexturaLUZ			=
	texture  { RDHV_DefaultTexturaLUZ }
El color de la luz se pinta con esta textura.  Probablemente convenga asignar un 
valor ambient elevado para cuartos oscuros. 
    #declare RDHV_TexturaFondoLUZ		=
	texture  { RDHV_DefaultTexturaFondoLUZ }
Se aplica al fondo de la pantalla de cristal lquido. 
    #declare RDHV_POV3_1			= off;
Para activar modo de compatibilidad con POVRay 3.1.  En algunas versiones se 
activar automticamente.  En esta versin no cumple ninguna funcin. 
A manera de ejemplo del uso de los modificadores: 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RDHV.inc"                                        
    #include "textures.inc"
    
    #declare RDHV_ArregloTexturasExtra[0]       = Chrome_Texture
    #declare RDHV_TexturaPrincipal              = Copper_Texture
    #declare RDHV_TexturaLabel                  = Gold_Texture
    #declare RDHV_TexturaLabelLUZ               = Sandalwood
    #declare RDHV_TexturaLUZ                    = 
       texture { pigment { White } finish { ambient 1 } }
    #declare RDHV_TexturaTransparente           = Lightning1
    #declare RDHV_TexturaFondoLUZ               = texture { Lightning2 scale 0.001 }
         
    object      {
      RDHV_RadioDespertador( 12, 0, 4, off )
      translate               <-1.94375,1.66375,-4.875>  
    }



Notas y Advertencias
Al modificar los parmetros de diseo es probable que las etiquetas queden mal 
ubicadas. 
Utilice valores elevados de ambient para el parmetro TexturaLUZ si planea 
utilizar el objeto en condiciones de poca iluminacin. 
El parmetro TexturaLabel, se aplica por diferencia sobre TexturaPrincipal.   
Por tanto, la textura inmediata al rededor de los botones utilizar 
TexturaPrincipal. 



Sugerencias de modificacin
  Utilizar color transparente en las imagenes GIF, para facilitar su uso con 
  otras texturas. 
  Agregar controles en los laterales. 
  Agregar un cable elctrico. 



Sobre LibreN3D
 En la actualidad dedico casi unas dos horas todos los das, para desarrollar el 
programa de animacin LibreN3D con el compilador FreePascal para FreeDOS.  El 
objetivo era en un origen, realizar animaciones de "baja" calidad, con progreso 
lento y paulatino. Desconoca en ese entonces del programa POV-Ray.  Creo que 
con ayuda de dicho proyecto, podra lograr mucho mejores resultados desde un 
principio.  Confo que para el 2020 pueda lograr animaciones completas de 
aceptable calidad.   En la actualidad, intento agregarle caractersticas 
elsticas a los objetos.  He tenido numerosos retrasos, as que todava no 
funciona.  Lo siento...(26/junio/2014), pero me siento muy seguro de que pronto 
lo lograr.  De momento, no tiene interface con el usuario, pero se encuentra en 
desarrollo como intrprete de rengln al estilo DOS. 
Me sera de muchsima ayuda, que el grupo POV-Ray siguiera desarrollando la 
versin para DOS.   Los siguientes son enlaces que podran ser de utilidad para 
el interesado en los proyectos FreePascal y FreeDOS.   Lamentablemente en la 
actualidad son altamente inestables, debido probablemente a dificultades con la 
adaptacin al modo de 64 bits. 
      Descarga sistema operativo FreeDOS 

      Descarga compilador FreePascal 



Dedicado a Jess y Mara.
Sugerencias a :
RofoelCompos@hotmail.com
Apdo. 964-1250. Escaz, San Jos, Costa Rica
http://rofoelcompos.hi5.com
Ultima modificacin del documento: 06/26/2014 19:48:34
