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

Donación de Rafael Angel Campos Vargas, en el año 2013, 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 "BLDP.inc" (BarcoLegoDinamarcaPersonal) dibuja un barco de juguete en bloques de construcción.  La macro permite dibujarlo por etapas.  Se pueden modificar las texturas antes del #include respectivo.

El modelo es original mío, su historia es la siguiente:  Yo dije repetidas veces a mis conocidos, que para FreeRay2012 incluiría un barco modelado en Moray.  Por falta de tiempo, no cumplí con ese objetivo.  Como consolación decidí fabricar con mi LEGO, marca de Dinamarca, un barquito de juguete de mi propia invención.

Aunque existe una versión de Moray para DOS, este objeto fue creado originalmente mediante el programa Moray para Windows.  En la actualidad Moray forma parte del proyecto POVRay.  Si le interesa obtener una copia del programa, puede buscarla en el siguiente enlace:
Moray...
www.stmuc.com/moray/index.html
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 archivo "BLDP.inc" y "BLDP_Aux.inc" en dichos subdirectorios;  únicamente éstos dos 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 "BLDP.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "BLDP.inc" y "BLDP_Aux.inc".


Instrucciones básicas

Barco juguete
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo dibuja el marco en la última etapa de diseño.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BLDP.inc"
    
    object      {
      BLDP_BarcoLegoDinamarcaPersonal(5) 
      translate  <-1.956, 1.596,-4.825>
    }

La macro recibe únicamente un parámetro:

    #macro BLDP_BarcoLegoDinamarcaPersonal( Etapa )
Etapa :
Número entero desde 0 hasta 5, para avance en el diseño.  Valor 0 es la base de color verde, secuencialmente se construye un piso.  Valor 4 dibuja un mástil, y el valor 5 dos mástiles.

Invitamos al lector a probar el siguiente ejemplo, podría serle útil para entretener a algún sobrino.  No olvide el comando +KFF6 o equivalente.

    // utilice comando +KFF6
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BLDP.inc"
    
    object      {
      BLDP_BarcoLegoDinamarcaPersonal(5*clock) 
      translate  <-1.956, 1.596,-4.825>
    }


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:
    Mínimo 	: < -95,   0, -34>*L aprox
    Máximo 	: < 102, 114,  34>*L aprox
El barco descansa sobre el plano XZ.  Sobresale hacia Y+, con el frente hacia X+.

Suministramos objetos base para los bloques de construcción.  Se encuentran en unidades POVRay orientados al estilo Moray con Z+ hacia arriba.  Para convertirlos en objetos en nuestras unidades personales debería aplicar rotate -90*x para darle orientación con Y+ hacia arriba, y luego scale BLDP_FactorEscala para que tengan dimensiones L.  Todos ellos tiene 1.2 unidades de alto, sin contar las uniones que agregan 0.1 de alto.  Los valores indican una aproximación, en realidad son algo menores.

BLDP_Bloque2x4
Genera un bloque de construcción sin textura desde <0,0,0> hasta <4,2,1.2>.
BLDP_Bloque2x2
Genera un bloque de construcción sin textura desde <0,0,0> hasta <2,2,1.2>.
BLDP_Bloque2x8
Genera un bloque de construcción sin textura desde <0,0,0> hasta <8,2,1.2>.
BLDP_Bloque2x10
Genera un bloque de construcción sin textura desde <0,0,0> hasta <10,2,1.2>.
BLDP_Bloque4x12
Genera un bloque de construcción sin textura desde <0,0,0> hasta <12,4,1.2>.
BLDP_FactorEscala
Factor a aplicar como scale BLDP_FactorEscala a los objetos anteriores para dimensionar en unidades L.

Como ejemplo del uso de los objetos anteriores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BLDP.inc"
    
    union                       {
      object                    {
        BLDP_Bloque2x2
      }    
      object                    {
        BLDP_Bloque2x4
        translate       <0,-2,0>
      }    
      object                    {
        BLDP_Bloque2x8
        translate       <0,-4,0>
      }    
      object                    {
        BLDP_Bloque2x10
        translate       <0,-6,0>
      }    
      object                    {
        BLDP_Bloque4x12
        translate       <0,2,0>
      }    
      rotate            -90*x
      scale             BLDP_FactorEscala
      translate  <-1.956, 1.596,-4.825>
      pigment   { Cyan }
    }    


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.  Cuando se indica, se trata de la condición default.

    #declare BLDP_Azul      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color azul.  Debería aplicarlo antes del #include.

    #declare BLDP_Verde      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color verde.  Debería aplicarlo antes del #include.

    #declare BLDP_Amarillo     			= material { ... }
Permite cambiar la textura de los bloques de construcción de color amarillo.  Debería aplicarlo antes del #include.

    #declare BLDP_Rojo      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color rojo.  Debería aplicarlo antes del #include.

    #declare BLDP_Negro      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color negro.  Debería aplicarlo antes del #include.

    #declare BLDP_Blanco      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color blanco.  Debería aplicarlo antes del #include.

    #declare BLDP_Gris      			= material { ... }
Permite cambiar la textura de los bloques de construcción de color gris.  Debería aplicarlo antes del #include.

    #declare BLDP_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.

En el siguiente ejemplo modificamos los colores un poco:

    #include "stdinc.inc"
    #include "stdcam.inc" 
    #declare BLDP_Azul          =
      material { texture { pigment { Blue transmit 0.75 } } }
    #declare BLDP_Verde         =
      material { texture { pigment { Green transmit 0.75 } } }
    #declare BLDP_Rojo          =
      material { texture { pigment { Red transmit 0.75 } } }
    #declare BLDP_Gris          =
      material { texture { pigment { Gray95 transmit 0.90 } } }
    #declare BLDP_Amarillo      =
      material { texture { pigment { Yellow transmit 0.75 } } }
    #declare BLDP_Negro         =
      material { texture { pigment { Black transmit 0.90 } } }
    #declare BLDP_Blanco        =
      material { texture { pigment { White transmit 0.75 } } }
    #include "BLDP.inc"
    
    object      {
      BLDP_BarcoLegoDinamarcaPersonal(5) 
      translate  <-1.956, 1.596,-4.825>
    }


Notas y Advertencias

Debido a la forma en que se asigna, es problable que tenga complicaciones si desea utilizar varias versiones del barco con diferentes texturas.  Con una sola versión del barco no habrá problema.

En aplicaciones didácticas, resultará complicado para el niño apreciar la base del segundo mástil.  El primer mástil resultará algo inestable en la práctica, especialmente para un niño muy pequeño.

La separación de los bloques resulta algo complicada de apreciar en forma horizontal.  La separación vertical resulta algo excesiva.


Sugerencias de modificación


Sobre LibreN3D

Algo hace falta En la actualidad intento crear una empresa personal de juegos de video.  Como parte del proyecto intento desarrollo 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...(5/febrero/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