Logo POVRay...
Instrucciones para "CFPS.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 "CFPS.inc" (CasaFiguraPeliculaShoujo) dibuja una supuesta casita artesanal para figuras Shoujo del anime.  Se ofrece una segunda versión de la macro principal, para modificar las características básicas de la estructura, así como su textura.  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 "CFPS.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 "CFPS.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "CFPS.inc".


Instrucciones básicas

Casita
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo ilustra el procedimiento básico.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "CFPS.inc"
    
    object      {
      CFPS_Casita(0,0,0,0) 
      translate <-1.8125,1.1625,-4.25>
    }

La macro tiene cuatro parámetros:

    #macro CFPS_Casita( AnguloDelantero1, AnguloDelantero2,
                     AnguloPosterior1, AnguloPosterior2 )
AnguloDelantero1 :
Controla el ángulo de apertura de la puerta delantera izquierda.
AnguloDelantero2 :
Controla el ángulo de apertura de la puerta delantera derecha.
AnguloPosterior1 :
Controla el ángulo de apertura de la puerta posterior inferior.
AnguloPosterior2 :
Controla el ángulo de apertura de la puerta posterior superior.

La siguiente versión de la macro, permite mucho mayor versatilidad.

    #macro CFPS_CasaFiguraPeliculaShoujo(
        AnguloDelantero1, AnguloDelantero2, ArregloAnguloPosterior,
    	ReferenciaX, ReferenciaY, ReferenciaZ,
    	GruesoMadera, RadioTorre, RadioTorreSuperior,
    	RadioMesaSuperior, AltoMesaSuperior, GruesoBorde, TotalPisos,
    	TexturaMaderaBase, TexturaMaderaInterior,
    	TexturaTorre, TexturaTorreSuperior, TexturaAccesorios )
AnguloDelantero1 :
Controla el ángulo de apertura de la puerta delantera izquierda.
AnguloDelantero2 :
Controla el ángulo de apertura de la puerta delantera derecha.
ArregloAnguloPosterior :
Controla el ángulo de apertura de las puertas posteriores.  Suministre un arreglo de valores reales, con una dimensión igual al total de pisos.
ReferenciaX :
Valor de referencia para el frente.  Default es 375*L.
ReferenciaY :
Valor de la altura por piso sin el grueso de la madera.  Default es 215*L.
ReferenciaZ :
Valor de referencia para la profundidad de la casita.  Default es 215*L.
GruesoMadera :
Mide el grueso de la madera.  Default es 5*L.
RadioTorre :
Radio de la torre en la zona inferior.  Default es 40*L.
RadioTorreSuperior :
Radio de la torre en la zona superior.  Default es 55*L.
RadioMesaSuperior :
Radio de la mesa de la terraza.  Default es 40*L.
AltoMesaSuperior :
Alto de la mesa de la terraza.  Default es 50*L.
GruesoBorde :
Grueso de las líneas de la baranda.  Default es 5*L.
TotalPisos :
Total de pisos de la estructura.  Default es 2.
TexturaMaderaBase :
Textura principal del objeto.  Default es CFPS_DefaultTexturaMaderaBase.
TexturaMaderaInterior :
Textura de algunas placas interiores.  Default es CFPS_DefaultTexturaMaderaInterior.
TexturaTorre :
Textura de la torre inferior.  Default es CFPS_DefaultTexturaTorre.
TexturaTorreSuperior :
Textura de la torre superior.  Default es CFPS_DefaultTexturaTorreSuperior.
TexturaAccesorios :
Textura de los accesorios.  Default es CFPS_DefaultTexturaAccesorios.

En el siguiente ejemplo, repetimos el dibujo inicial.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "CFPS.inc"
    #declare ArregloPosterior = array [2]{0,0}
    
    object      {
      CFPS_CasaFiguraPeliculaShoujo(0,0,ArregloPosterior,
             0.375, 0.215, 0.215, 0.005, 0.040,
             0.055, 0.040, 0.050, 0.005, 2,
             CFPS_TexturaMaderaBase, CFPS_TexturaMaderaInterior,
             CFPS_TexturaTorre, CFPS_TexturaTorreSuperior,
             CFPS_TexturaAccesorios ) 
      translate <-1.8125,1.1625,-4.25>
    }


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 total              	:   113*L+220*L*TotalPisos
    Fondo                   	:   245*L
    Frente                  	:   485*L*L
El objeto se encuentra parcialmente 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.

CFPS_DefaultTexturaMaderaBase
Textura de la madera base.
CFPS_DefaultTexturaMaderaInterior
Textura de algunas zonas interiores.
CFPS_DefaultTexturaTorre
Textura de la torre.
CFPS_DefaultTexturaTorreSuperior
Textura de la torre superior.
CFPS_DefaultTexturaAccesorios
Textura de algunos accesorios.


Modificadores

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

    #declare CFPS_TexturaMaderaBase      	= 
		texture { CFPS_DefaultTexturaMaderaBase }      
Textura principal de la estructura.

    #declare CFPS_TexturaMaderaInterior         = 
		texture { CFPS_DefaultTexturaMaderaInterior }
Textura a aplicar a la madera interior.

    #declare CFPS_TexturaTorre     		= 
		texture { CFPS_DefaultTexturaTorre }
Textura a aplicar a la torre.

    #declare CFPS_TexturaTorreSuperior     	= 
		texture { CFPS_DefaultTexturaTorreSuperior }
Textura a aplicar en la torre superior.

    #declare CFPS_TexturaAccesorios		= 
		texture { CFPS_DefaultTexturaAccesorios }      
Textura para objetos en la terraza y escalera.

    #declare CFPS_POV3_1			= off;
Para activar modo de compatibilidad con POVRay 3.1.  En algunas versiones se activara automáticamente.

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "CFPS.inc"  
    #include "textures.inc"
    
    #declare CFPS_TexturaMaderaBase     =
      texture           {
        average
        texture_map     {
          [ 0.8 Rusty_Iron                       ]
          [ 0.2 CFPS_DefaultTexturaMaderaBase   ]
        }
      }
      
    #declare CFPS_TexturaMaderaInterior =  
      texture { pigment { White } }
      
    #declare CFPS_TexturaTorre          =
      texture { pigment { Yellow } }  

    #declare CFPS_TexturaTorreSuperior  =
      texture { pigment { Red } }  
      
    #declare CFPS_TexturaAccesorios     =
      texture { pigment { Cyan } }  
    
    object      {
      CFPS_Casita(45,90,0,0) 
      translate <-1.8125,1.1625,-4.25>
    }


Notas y Advertencias

La casita no tiene bisagras.  Las puertas son bloques simples sin elementos de giro.

Las torres superiores son huecas, para permitir el acomodo de figuras adicionales.

Sin un acomodo de luces apropiado, puede quedar muy oscura en su interior.


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...(30/abril/2013), 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