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

Donación de Rafael Angel Campos Vargas, en el año 2014, 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 "TCUV.inc" dibuja una tienda de campaña comercial para cuatro personas.  Lamentablemente esta versión es muy poco versátil, no obstante, incluye una macro que pemite modificar las texturas y algunas características fácilmente.  Es compatible con PovRay 3.1. 

Por motivos de compatibilidad con POVRay 3.1.;  se incluyen algunas macros propias de distribuciones posteriores de POVRay.  Por supuesto, todas son de libre uso y con la misma patente.  La siguiente es la lista exhaustiva de dichas macros.

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 los archivos "TCUV.inc", "TCUV_AU1.inc" y "TCUV_AU2.inc" en dicho subdirectorio;  únicamente éstos son necesarios.  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 "TCUV.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "TCUV.inc", "TCUV_AU1.inc" y "TCUV_AU2.inc".


Instrucciones básicas

Tienda Campaña
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo recurre a la macro default, colocando al objeto en posición base.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "TCUV.inc"
    
    object      {
      TCUV_TiendaViajero( 0.5, 0.5 ) 
    }

La macro principal tiene únicamente dos parámetros.

    #macro TCUV_TiendaViajero( FraccionDerecha, FraccionIzquierda )                   
FraccionDerecha :
Fraccion propia de apertura de la puerta derecha.  Utilice 0.0 para cerrado y 1.0 para abierto.
FraccionIzquierda :
Fraccion propia de apertura de la puerta izquierda.  Utilice 0.0 para cerrado y 1.0 para abierto.

Se incluye una macro adicional para modificar fácilmente las texturas, y otras características básicas:

#macro TCUV_TiendaCampanaUsoViajero( FraccionDerecha, FraccionIzquierda, 
     FrenteTienda, ProfundidadTienda, AltoTienda, SobrantePlano,
     TexturaFrontal, TexturaLateral, TexturaPosterior, 
     TexturaPiso, TexturaMetal, TexturaEstaca )   
FraccionDerecha :
Fraccion propia de apertura de la puerta derecha.  Utilice 0.0 para cerrado y 1.0 para abierto.
FraccionIzquierda :
Fraccion propia de apertura de la puerta izquierda.  Utilice 0.0 para cerrado y 1.0 para abierto.
FrenteTienda :
Referencia para el frente X de la tienda.  Default es 2000*L.
ProfundidadTienda :
Referencia para la profundidad Z de la tienda.  Default es 2000*L.
AltoTienda :
Referencia para el alto Y de la tienda.  Default es 1500*L.
SobrantePlano :
Referencia para el borde plano de la tienda.  Default es 50*L.
TexturaFrontal :
Textura a aplicar a la puerta frontal de la tienda.  Default es TCUV_TexturaFrontal.
TexturaLateral :
Textura a aplicar a las laterales de la tienda.  Default es TCUV_TexturaLateral.
TexturaPosterior :
Textura a aplicar a la zona posterior de la tienda.  Default es TCUV_TexturaPosterior.
TexturaPiso :
Textura a aplicar al piso de la tienda.  Default es TCUV_TexturaPiso.
TexturaMetal :
Textura a aplicar a las barras metálicas.  Default es TCUV_TexturaMetal.
TexturaEstaca :
Textura a aplicar a las estacas de la tienda.  Default es TCUV_TexturaEstaca.

En el siguiente ejemplo utilizamos la macro de texturas para dibujar el mismo objeto:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "TCUV.inc"
    
    object      {
      TCUV_TiendaCampanaUsoViajero( 0.5, 0.5, 2, 2, 1.5, 0.05,
         TCUV_TexturaFrontal, TCUV_TexturaLateral, TCUV_TexturaPosterior,
         TCUV_TexturaPiso, TCUV_TexturaMetal, TCUV_TexturaEstaca ) 
    }


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:
    Altura Maxima Y                 : 1530*L
    Profundidad Y Estacas           : -225*L
    Frente sin cuerdas X            : 2100*L
    Frente con cuerdas X            : 3400*L   
    Profundidad sin cuerdas Z       : 2100*L
    Profundidad con cuerdas Z       : 2400*L    
La tienda se dibuja parcialmente centrada sobre el plano XY.  La superficie del piso penetra en el plano.  El frente de la tienda hacia Z-, con gravedad Y-.

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

TCUV_DefaultTexturaFrontal
Textura a aplicar a la puerta frontal de la tienda.
TCUV_DefaultTexturaLateral
Textura a aplicar a los laterales de la tienda.
TCUV_DefaultTexturaPosterior
Textura a aplicar a la zona posterior de la tienda.
TCUV_DefaultTexturaPiso
Textura a aplicar al piso de la tienda.
TCUV_DefaultTexturaMetal
Textura a aplicar a las barras metálicas.
TCUV_DefaultTexturaEstaca
Textura a aplicar a las estacas de la tienda.


Modificadores

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

    #declare TCUV_TexturaFrontal		= texture { ... }
Textura a aplicar a la puerta frontal de la tienda.

    #declare TCUV_TexturaLateral		= texture { ... }
Textura a aplicar a los laterales de la tienda.

    #declare TCUV_TexturaPosterior		= texture { ... }
Textura de la zona posterior de la tienda.

    #declare TCUV_TexturaPiso			= texture { ... }
Textura a aplicar al piso de la tienda.

    #declare TCUV_TexturaMetal			= texture { ... }
Textura a aplicar a las barras metálicas.

    #declare TCUV_TexturaEstaca			= texture { ... }
Textura a aplicar a las estacas.

    #declare TCUV_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 "TCUV.inc"                  
    #include "textures.inc"
    #declare TCUV_TexturaLateral        = NBglass 
    #declare TCUV_TexturaFrontal        = Cork         
    #declare TCUV_TexturaPosterior      = Cork
    #declare TCUV_TexturaPiso           = Ruby_Glass
    #declare TCUV_TexturaMetal          = PinkAlabaster
    #declare TCUV_TexturaEstaca         = Ruby_Glass
    
    object      {
      TCUV_TiendaViajero( 0.5, 0.5 ) 
    }


Notas y Advertencias

Ninguno de los modificadores sugeridos, modifica la textura de las cuerdas.

A valores elevados de SobrantePlano las estacas de las esquinas quedaran mal ubicadas.

Si aplica texturas muy simples se enfatiza el efecto de cuadriculado producido por los arreglos de triángulos esféricos.  Utilice normal para disimular el cuadriculado.


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 fue 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...(13/enero/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 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