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

Donación de Rafael Angel Campos Vargas, en mayo del 2011, a la Biblioteca de objetos de POV-Ray v1.0.  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 "RBSA.inc" es muy simple de utilizar.  Crea una rueda de bicicleta para niño sin accesorios (RBSA).  Lamentablemente posee muy pocos modificadores, permite cambiar el tamaño y las texturas. Además posee control de compatibilidad 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 "RBSA.inc" en dicho subdirectorio;  únicamente éste es necesario.  Opcionalmente podría colocar la documentación y demás 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 "RBSA.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "RBSA.inc".


Instrucciones básicas

Rueda Bicicleta Niño
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  Se define una versión del objeto mediante macro default.  O bien se permite la modificación de las texturas y características básicas vía una macro de textura.

El siguiente ejemplo recurre a la macro default.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RBSA.inc"
    
    object      {
      RBSA_RuedaBicicletaPequena()     
      translate <-1.875,1.525,-4.5>
    }
La macro principal es algo más complicada.
    #macro RBSA_RuedaBicicletaSinAccesorios
      	( RadioTotal, DiametroRueda, AnchoMetalico, 
        	TexturaRodante, TexturaRuedaInterior, 
        	TexturaMetalica, MaterialLuz )
RadioTotal
Radio total de la rueda hasta contacto con el suelo.
DiametroRueda
Diámetro del caucho de la llanta.
AnchoMetalico
Ancho en Z del envarillado sin los tornillos y el soporte cilíndrico.
TexturaRodante
Textura del caucho oscuro en contacto con el suelo.
TexturaRuedaInterior
Textura del caucho hacia el interior de la llanta.
TexturaMetalica
Textura de las varillas y otros soportes metálizados.
MaterialLuz
Material de la luz de seguridad.

Un ejemplo sencillo para utilizar la macro, sería el siguiente:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RBSA.inc"
    
    object      {
      RBSA_RuedaBicicletaSinAccesorios
 	( 0.130, 0.025, 0.035, RBSA_TexturaRodante,
 	  RBSA_TexturaRuedaInterior, 
 	  RBSA_TexturaMetalica,
 	  RBSA_MaterialLuz )     
      translate <-1.875,1.525,-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.  Los objetos tienen las siguientes características:
    Radio Principal          = 215*L
    Diametro Neumatico       = 36*L
    Ancho Total Z            = 93*L
    Ancho Envarillado Z      = 54*L (AnchoMetalico)
El objeto se encuentra en el plano xy, centrado en el origen.  Al aplicar la macro principal de textura se cumple la ecuación Ancho_Total_Z = 1.722*Ancho_Envarillado_Z.

Se definen las siguientes texturas base, que no deberían modificarse.  Para su correcta modificación consultar la sección Modificadores.

RBSA_TexturaRodante
Define la textura del caucho en contacto con la carretera.
RBSA_TexturaRuedaInterior
Define la textura del caucho hacia el centro.
RBSA_TexturaMetalica
Define la textura a aplicar en las varillas y superficies metalizadas.
RBSA_MaterialLuz
Define el material de la luz de seguridad.

Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad (cuando se indica, son valores default).

    #declare RBSA_DefaultTexturaRodante			= texture {  
      RBSA_TexturaRodante
    }
Se aplica a la textura del caucho default en contacto con la carretera.

    #declare RBSA_DefaultTexturaRuedaInterior		= texture {  
      RBSA_TexturaRuedaInterior
    }
Se aplica a la textura del caucho default hacia el centro de la llanta.

    #declare RBSA_DefaultTexturaMetalica		= texture {  
      RBSA_TexturaMetalica
    }
Se aplica a la textura metálica default y otras estructuras metalizadas.

    #declare RBSA_DefaultMaterialLuz			= texture {  
      RBSA_MaterialLuz
    }
Se aplica como default al material de seguridad de la luz.

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

    #declare RBSA_LuzBicicleta				= on;
Si se desactiva con "off" dibuja la rueda de bicicleta sin la luz de seguridad.  Util para cambiar la luz por su propio modelo.

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RBSA.inc"  
    #include "textures.inc" 
    
    #declare RBSA_DefaultTexturaRodante         = texture       {
      average
      texture_map       {
        [ 0.3 Rust                      ]
        [ 0.7 RBSA_TexturaRodante       ]
      }
    }
    
    #declare RBSA_DefaultTexturaRuedaInterior   = texture       {
      average
      texture_map       {
        [ 0.3 Rust                      ]
        [ 0.7 RBSA_TexturaRuedaInterior ]
      }
    }
    
    #declare RBSA_DefaultTexturaMetalica        = texture       {
      average
      texture_map       {
        [ 0.3 Rust                      ]
        [ 0.7 RBSA_TexturaMetalica      ]
      }
    }
    
    #declare RBSA_DefaultMaterialLuz            = material      {   
      M_Ruby_Glass
    }
    
    object      {
      RBSA_RuedaBicicletaPequena()     
      translate <-1.875,1.525,-4.5>
    }
O bien este otro modelo para niña sin luz de seguridad.
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RBSA.inc"  
    #include "textures.inc"   
    
    #declare RBSA_LuzBicicleta                  = off;   
    
    #declare TexturaRosa                        = texture       {
      pigment   { Magenta }
    }
    
    #declare RBSA_DefaultTexturaRodante         = texture       {
      average
      texture_map       {
        [ 0.3 TexturaRosa               ]
        [ 0.7 RBSA_TexturaRodante       ]
      }
    }     
    
    #declare RBSA_DefaultTexturaMetalica        = texture       {
      average
      texture_map       {
        [ 0.3 TexturaRosa               ]
        [ 0.7 RBSA_TexturaMetalica      ]
      }
    }
    
    object      {
      RBSA_RuedaBicicletaPequena()     
      translate <-1.875,1.525,-4.5>
    }

Notas y Advertencias

Se recomienda utilizar el antialias para evitar que surjan defectos en la animación.

El material de la luz simula vidrio corriente con transparencia;  probablemente no resulte satisfactorio en escenas algo oscuras.

En algunos ángulos las normales producen cierto efecto "arrugado" en la estructura metálica.  Intento cambiar el ángulo u otra iluminación.


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...(10/mayo/2011), 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