Logo POVRay...
Instrucciones para "SPRE.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 "SPRE.inc" (SillaPlegableRecuerdoEmpresarial) dibuja una silla plegadiza sencilla.  Lamentablemente esta versión es muy poco versátil, no obstante, incluye una macro que permite abrir, cerrar y modificar las texturas fácilmente.  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 "SPRE.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 "SPRE.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "SPRE.inc".


Instrucciones básicas

Silla plegable
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 "SPRE.inc"
    
    object      {
      SPRE_SillaPlegable(1,1) 
      translate <-1.875,1.625,-4.5>
    }

La macro principal tiene dos parámetros:

    #macro SPRE_SillaPlegable( FraccionCruce, FraccionSentado )
FraccionCruce :
Fracción para abrir la silla.  Entre 0.0 para compactar y cerrar;  hasta 1.0 para abrir y sentarse.
FraccionSentado :
Fracción para rotar la silla completa.  Entre 0.0 para asiento vertical y guardar;  hasta 1.0 para asiento horizontal y sentarse.

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

    #macro SPRE_SillaPlegableRecuerdoEmpresarial
        ( FraccionCruce, FraccionSentado,
          TexturaPrincipal, TexturaCorcho, TexturaCirculo,
          TexturaAsiento, TexturaTornillo )
FraccionCruce :
Fracción para abrir la silla.  Entre 0.0 para compactar y cerrar;  hasta 1.0 para abrir y sentarse.
FraccionSentado :
Fracción para rotar la silla completa.  Entre 0.0 para asiento vertical y guardar;  hasta 1.0 para asiento horizontal y sentarse.
TexturaPrincipal :
Textura principal a aplicar en las barras.
TexturaCorcho :
Textura a aplicar en las patitas de hule.
TexturaCirculo :
Material a aplicar a la base metálica del asiento.
TexturaAsiento :
Textura roja para sentarse.
TexturaTornillo :
Textura a aplicar en los tornillos.

Un ejemplo para el uso de esta última macro:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "SPRE.inc" 
    #include "textures.inc"
    
    object      {
      SPRE_SillaPlegableRecuerdoEmpresarial
        (0,0,Bronze_Metal,Bronze_Metal,Bronze_Metal,
        Brass_Valley,Lightning1) 
      translate <-1.875,1.625,-4.5>
    }


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:
    Radio asiento		: 105*L
	SPRE_SillaPlegable(0,0)
    Mínimo  	<   0,-390,-105>*L
    Máximo  	<+ 60,+105,+105>*L
	SPRE_SillaPlegable(1,1)
    Mínimo  	<-120,-320,-105>*L
    Máximo  	<+120,   0,+105>*L
La macro siempre ubica la silla con el origen centrado en el forro superior del asiento.  Cuando la silla se cierra con ambos parámetros nulos, sobre sale hacia X+.  Cuando se abre con ambos parámetros unitarios, las patas se orientan hacia Y-;  y se ven cruzadas desde Z-.

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

SPRE_TexturaPrincipal
Textura principal de las barras.
SPRE_TexturaCorcho
Textura para aplicar en las patitas de hule.
SPRE_TexturaCirculo
Textura metalizada para el asiento.
SPRE_TexturaAsiento
Textura roja para sentarse.
SPRE_TexturaTornillo
Textura a aplicar a los tornillos.


Modificadores

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

    #declare SPRE_DefaultTexturaPrincipal      	= texture { ... }      
Textura principal a aplicar en las barras.

    #declare SPRE_DefaultTexturaCorcho          = texture { ... }
Textura a aplicar a las patitas de hule.

    #declare SPRE_DefaultTexturaCirculo      	= texture { ... }      
Textura metálica del asiento.

    #declare SPRE_DefaultTexturaAsiento         = texture { ... }
Textura roja para sentarse.

    #declare SPRE_DefaultTexturaTornillo      	= texture { ... }      
Textura a aplicar a los tornillos.

    #declare SPRE_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.  En esta versión no cumple ninguna función.

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "SPRE.inc" 
    #include "textures.inc"
    
    #declare SPRE_DefaultTexturaPrincipal       = texture 
      { 
        average
        texture_map     {
          [ 0.2 Rust                  ]
          [ 0.8 SPRE_TexturaPrincipal ]
        }
        scale   0.01
      }  
      
    #declare SPRE_DefaultTexturaCorcho          = texture
      { Rosewood }    
    
    #declare SPRE_DefaultTexturaCirculo         = texture 
      { 
        average
        texture_map     {
          [ 0.2 Rust                  ]
          [ 0.8 SPRE_TexturaCirculo   ]
        }
        scale   0.01
      }
    
    #declare SPRE_DefaultTexturaAsiento         = texture
      { Rosewood }    
    
    #declare SPRE_DefaultTexturaTornillo        = texture
      { pigment { White } }
    
    object      {
      SPRE_SillaPlegable(1,1)
      translate <-1.875,1.625,-4.5>
    }


Notas y Advertencias

El objeto "verdadero" permite un factor inferior a 0.0 al cerrar, utilizando la elasticidad del metal.  Esta versión de animación presentaría problemas de superposición de materia.

Con colores lisos y uniformes, puede resultar díficil apreciar el detalle de la figura en algunos ángulos.

Debido a imperfecciones intensionales;  el objeto sufre ligeras variaciones en el volumen al modificar los parámetros.


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...(24/julio/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