Logo POVRay...
Instrucciones para "LHNU.inc" v1.0

Donación de Rafael Angel Campos Vargas, en el año 2012, a la Biblioteca de objetos de POV-Ray.  Este proyecto se encuentra actualmente inscrito con la patente LGPL;  para libre uso comercial y no comercial del software.

CC-GNU LGPL
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 versión actual v1.0 de "LHNU.inc" (LoncheraHieleraNivelUniversitario) dibuja una hielera corriente para día de campo o similar.  Permite mover la tapa y la agarradera;  incluye una macro que permite cambiar con facilidad algunas características y las texturas.  Es compatible con PovRay 3.1. 

Indice de página:

  1. Instalación de Archivos
  2. Instrucciones básicas
  3. Características del objeto
  4. Modificadores
  5. Notas y Advertencias
  6. Sugerencias de modificación
  7. Sobre LibreN3D

Instalación de Archivos

El procedimiento siguiente es completamente optativo, corresponde simplemente al estándard de la Biblioteca de objetos POV-Ray.
  1. Cree el subdirectorio "ObjectCollections".  Se sugiere un subdirectorio del folder POV-Ray, creado por el instalador en algunas versiones en la sección de documentos o bien en la de código.
  2. Copie el archivo "LHNU.inc" en dicho subdirectorio;  únicamente éste es necesario.  En cuanto a la documentación y demás puede colocarla si desea en el mismo subdirectorio, el estándar ha sido diseñado para evitar problemas de compatibilidad.
  3. Actualice los archivos buscados por POV-Ray, en algún 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 cómo, probablemente convenga leer el manual de referencia en la sección "Command-line options".   Cada sistema operativo presenta sus propias variantes.
Nota:  El archivo de prueba "LHNU.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "LHNU.inc".


Instrucciones básicas

Hielera
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo recurre a la macro default.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "LHNU.inc"
    
    object      {
      LHNU_Hielera(0.0,0.0) 
      translate <-1.875,1.500,-4.65>
    }

La macro principal tiene dos parámetros:

    #macro LHNU_Hielera( FraccionTapa, FraccionGiroAgarradera )
FraccionTapa :
Fracción entre 0.0 cerrado a 1.0 en máxima apertura de 110 grados.
FraccionGiroAgarradera :
Fracción entre 0.0 cerrado a 1.0 en máxima apertura de 123 grados.

Se incluyen una macro adicional para facilitar la modificación:

    #macro LHNU_LoncheraHieleraNivelUniversitario
      ( FraccionTapa, FraccionGiroAgarradera,
        FrentePrincipal, ProfundidadPrincipal, AltoInferior, AltoIntermedio,
        AnchoAgarradera, AltoInterior,
        GruesoPrincipal, RadioDecorativo, AltoTapa, CizallaTapa,
        TexturaPrincipal, TexturaTapa, TexturaIntermedia,
        TexturaAgarradera, TexturaInterior )
FraccionTapa :
Fracción entre 0.0 cerrado a 1.0 en máxima apertura de 110 grados.
FraccionGiroAgarradera :
Fracción entre 0.0 cerrado a 1.0 en máxima apertura de 123 grados.
FrentePrincipal :
Valor de referencia para el frente X de la hielera.  Valor default es 194.5*L.
ProfundidadPrincipal :
Valor de referencia para la profundidad Z de la hielera.  Valor default es 150*L.
AltoInferior :
Alto de la zona azul inferior.  Default es 107*L.
AltoIntermedio :
Referencia para el alto de la franja central.  Valor default es 18*L.
AnchoAgarradera :
Ancho de la agarradera.  Default es 14.3*L.
AltoInterior :
Alto inferior del interior de la hielera.  Default es 114*L.
GruesoPrincipal :
Grueso del borde de la hielera.  Default es 14.3*L.
RadioDecorativo :
Valor para el radio de las esquinas.  Default es 14.3*L.
AltoTapa :
Referencia para el alto de la tapa.  Valor default es 28*L.
CizallaTapa :
Referencia para corrimiento oblicuo de la parte superior de la tapa.  A menor valor, la tapa tendrá mayor verticalidad.  Default es 14.3*L.
TexturaPrincipal :
Textura azul a aplicar a la base inferior.  Valor default es LHNU_DefaultTexturaPrincipal.
TexturaTapa :
Textura para la tapa superior.  Valor default es LHNU_DefaultTexturaTapa.
TexturaIntermedia :
Textura para la franja blanca intermedia.  Valor default es LHNU_DefaultTexturaIntermedia.
TexturaAgarradera :
Textura para la agarradera.  Valor default es LHNU_DefaultTexturaAgarradera.
TexturaInterior :
Textura para el interior y el tapón.  Valor default es LHNU_DefaultTexturaInterior.

En el siguiente ejemplo se dibuja el mismo dibujo default:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "LHNU.inc"
    
    object      {
      LHNU_LoncheraHieleraNivelUniversitario
          ( 0, 0, 0.1945, 0.150, 0.107, 0.018,
            0.0143, 0.114, 0.0143, 0.0143, 0.028, 0.0143,
            LHNU_DefaultTexturaPrincipal, LHNU_DefaultTexturaTapa,
            LHNU_DefaultTexturaIntermedia, 
            LHNU_DefaultTexturaAgarradera, LHNU_DefaultTexturaInterior )
      translate <-1.875,1.500,-4.65>
    }


Características del objeto

Mis dibujos están en unidades L (Lisa).  1 L equivale a 0.055063 pulgadas definido como 0.001 para POVRAY.  El objeto default tiene las siguientes características:
    Alto		=  150*L
		(mayor a 250*L completamente abierto)
    Frente		=  196*L
    Fondo en Z		= -84*L .. +75*L
Se dibuja casi centrado sobre el plano XZ.  El frente sobresale en dirección Z-, con gravedad Y-.

Se generan las siguientes declaraciones que no deberían modificarse.  Para su correcta modificación consultar la sección Modificadores.

LHNU_VolumenLiquido
Objeto sin textura para facilitar la ubicación de líquidos en el interior del objeto.  Por ejemplo agua de hielo derretido por intersection.  Sólo define la zona inferior de la hielera.
LHNU_TexturaPrincipal
Textura principal de la hielera a aplicar a la zona azul.
LHNU_TexturaTapa
Textura a aplicar a la tapa.
LHNU_TexturaIntermedia
Textura a aplicar a la franja blanca intermedia y algunos elementos decorativos de la tapa.
LHNU_TexturaAgarradera
Textura a aplicar a la agarradera.
LHNU_TexturaInterior
Textura a aplicar al interior y al tapón inferior.

En el siguiente se ubica líquido en el interior por intersection.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "LHNU.inc"
    
    
    union       {
      object    { 
        LHNU_Hielera(1.0,1.0) 
      }
      intersection      {
        object  { LHNU_VolumenLiquido }
        sphere  { 0, 1 }
        pigment { Orange transmit 0.6 }
      }  
      translate <-1.875,1.500,-4.65>
    }


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.

    #declare LHNU_DefaultTexturaPrincipal      	= texture { ... }      
Textura azul a aplicar a la base inferior.

    #declare LHNU_DefaultTexturaTapa            = texture { ... }
Textura para la tapa superior.

    #declare LHNU_DefaultTexturaIntermedia     	= texture { ... }      
Textura para la franja blanca intermedia.

    #declare LHNU_DefaultTexturaAgarradera	= texture { ... }
Textura para la agarradera.

    #declare LHNU_DefaultTexturaInterior	= texture { ... }
Textura para el interior y el tapón.

    #declare LHNU_POV3_1			= off;
Si se activa con "on" produce simplificaciones que permiten su ejecución en la versión POVRay 3.1.  En algunas versiones de POVRay se activa automáticamente.

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "LHNU.inc"
    #include "textures.inc"   
    
    #declare LHNU_DefaultTexturaPrincipal       =
      texture   { LHNU_TexturaPrincipal }
      texture   { 
        pigment { agate 
          pigment_map     {
            [ 0.0 color Green ][1.0 rgbt 1.0 ] } } 
      }
      
    #declare LHNU_DefaultTexturaIntermedia      =
      texture { PinkAlabaster }    
      
    #declare LHNU_DefaultTexturaTapa            =
      texture   { LHNU_TexturaTapa }
      texture   { 
        pigment { agate   
          scale         0.01
          pigment_map     {
            [ 0.0 color Green ][1.0 rgbt 1.0 ] } } 
      }
      
    #declare LHNU_DefaultTexturaAgarradera      =
      texture { pigment { Cyan } }   
      
    #declare LHNU_DefaultTexturaInterior        =
      texture { pigment { Yellow } }  
            
    object      {
      LHNU_Hielera(0.2,1.0) 
      translate <-1.875,1.500,-4.65>
    }


Notas y Advertencias

Al abrir la tapa, se produce ligera superposición de material.  Esta superposición es poco visible, pero existe.

Los parámetros trabajan bien a los valores default.  La mayoría de las combinaciones, producirá resultados insatisfactorios.  Pruebe variando en forma simultánea los parámetros relacionados.

Luego de aplicar una nueva textura, es recomendable revisar su efecto en diversos ángulos para evitar sorpresas desagradables.  Algunas texturas podrían aplicarse en lugares que usted no desea.


Sugerencias de modificación


Sobre LibreN3D

Algo hace falta En la actualidad dedico casi unas dos horas todos los días, para desarrollar el programa de animación LibreN3D con el compilador FreePascal para FreeDOS.  El objetivo era en un origen, realizar animaciones de "baja" calidad, con progreso lento y paulatino. Desconocía en ese entonces del programa POV-Ray.  Creo que con ayuda de dicho proyecto, podría lograr mucho mejores resultados desde un principio.  Confío que para el 2020 pueda lograr animaciones completas de aceptable calidad.   En la actualidad, intento agregarle características elásticas a los objetos.  He tenido numerosos retrasos, así que todavía no funciona.  Lo siento...(21/agosto/2012), pero me siento muy seguro de que pronto lo lograré.  De momento, no tiene interface con el usuario, pero se encuentra en desarrollo como intérprete de renglón al estilo DOS.

Me sería de muchísima ayuda, que el grupo POV-Ray siguiera desarrollando la versión para DOS.   Los siguientes son enlaces que podrían 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 adaptación al modo de 64 bits.
Logo FreeDOS...
Descarga sistema operativo FreeDOS
Logo FreePascal...
Descarga compilador FreePascal