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

Donación de Rafael Angel Campos Vargas, en el año 2017, a la Biblioteca de objetos de POV-Ray.  Este proyecto se encuentra actualmente suscrito a 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 "BEED.inc" (BicicletaEstacionariaEstiloDejavu) El archivo dibuja una bicicleta estacionaria, similar a las que se encuentran actualmente en algunos parques públicos de Costa Rica. Es muy poco flexible. 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 "BEED.inc" y "BEED_AU1.inc" en dicho subdirectorio;  únicamente estos 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 "BEED.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "BEED.inc" y "BEED_AU1.inc".


Instrucciones básicas

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

    #if ( version >= 3.7 )
      #version 3.7;
    #end
    global_settings { assumed_gamma 1.0 }  

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BEED.inc"
    
    object      {
      BEED_BicicletaEstacionaria( 0, 0, 0 )  
      translate         -3*z-1.5*x
    }

La macro fundamental tiene dos parámetros.

    #macro BEED_BicicletaEstacionaria( AnguloCiclo, PedalDerecho, PedalIzquierdo )
AnguloCiclo :
Ángulo para girar el ciclo de rotación de pedales.
PedalDerecho :
Ángulo respecto de la horizontal, para el pedal derecho del usuario.
PedalIzquierdo :
Ángulo respecto de la horizontal, para el pedal izquierdo del usuario.

La siguiente macro permite modificar algunas de las características principales.

    #macro BEED_BicicletaEstacionariaEstiloDejavu(
                AnguloCiclo, PedalDerecho, PedalIzquierdo,
                AltoFundamental, ProfundidadFundamental,
                SeparacionManivela, LargoPedal,
                AltoManivela, AltoAsiento,
                FraccionDelantera, AltoBase,
                DiametroSoporte, DiametroPrincipal,
                DiametroAgarradera, DiametroPedal, ArregloTexturas )
AnguloCiclo :
Ángulo para girar el ciclo de rotación de pedales.
PedalDerecho :
Ángulo respecto de la horizontal, para el pedal derecho del usuario.
PedalIzquierdo :
Ángulo respecto de la horizontal, para el pedal izquierdo del usuario.
AltoFundamental :
Alto Y principal de referencia para el aparato. Valor por defecto 700*L.
ProfundidadFumdamental :
Separación X entre los ejes de los tubos frontal y posterior. Valor por defecto 420*L.
SeparaciónManivela :
Separación Z entre las dos agarraderas. Valor por defecto 300*L.
LargoPedal :
Tamaño referencia para dibujar el pedal. Valor por defecto 100*L.
AltoManivela :
Altura del punto de apoyo de la manivela. Valor por defecto 560*L.
AltoAsiento :
Altura del asiento. Valor por defecto 420*L.
FraccionDelantera :
Fracción de ProfundidadFundamental que se asigna al tubo soporte delantero. Valor por defecto 0.5.
AltoBase :
Altura del soporte inferior del aparato. Valor por defecto 140*L.
DiametroSoporte :
Diámetro del tubo principal de soporte. Valor por defecto 100*L.
DiametroPrincipal :
Diámetro de los tubos frontal y posterior. Valor por defecto 40*L.
DiametroAgarradera :
Diámetro del manubrio. Valor por defecto 30*L.
DiametroPedal :
Diámetro del cilindro de giro soporte de pedales. Valor por defecto 160*L.
ArregloTexturas :
Arreglo de 5 o más texturas, que se aplicarán en la figura. Se utilizarán únicamente las primeras cinco { Principal, Dinámica, Soporte, Decorativa, Pedal }. Para redefinir la textura se recomienda utilizar los siguientes índices, con el objetivo de facilitar compatibilidad futura. Los índices son los números del 0 al 4 en forma ascendente.
BEEd_IndiceTexturaPrincipal Textura fundamental del diseño
BEED_IndiceTexturaDinamica Cilindro de giro
BEED_IndiceTexturaSoporte Soporte de la base
BEED_IndiceTexturaDecorativa Cuero de manivela
BEED_IndiceTexturaPedal Recubre los pedales

En el siguiente ejemplo dibujamos el mismo objeto original:

    #if ( version >= 3.7 )
      #version 3.7;
    #end
    global_settings { assumed_gamma 1.0 }  

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BEED.inc"
    
    object      { 
      BEED_BicicletaEstacionariaEstiloDejavu( 0, 0, 0,
              0.700, 0.420, 0.300, 0.100, 0.560, 0.420, 0.5,
              0.140, 0.100, 0.040, 0.030, 0.160, BEED_DefaultArregloTexturas )
      translate         -3*z-1.5*x
    }


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 se encuentra contenido en el siguiente bloque:
    Punto mínimo		= < -300,    0, -180 >*L
    Punto máximo		= <  226,  725,  180 >*L
Frente mira hacia X+, gravedad Y-. El cilindro de giro en línea con el origen del plano XZ.

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

BEED_TotalTexturas
Total de texturas requeridas por la macro.
BEED_DefaultTexturaPrincipal
Textura principal a aplicar en la estructura.
BEED_DefaultTexturaDinamica
Textura del eje de giro de los pedales.
BEED_DefaultTexturaSoporte
Textura de la base inferior.
BEED_DefaultTexturaDecorativa
Textura para decoración del cuero de la manivela.
BEED_DefaultTexturaPedal
Textura de los pedales de la bicicleta.
BEED_DefaultArregloTexturas
Contiene un arreglo con las texturas por defecto sin modificar.

En el siguiente ejemplo dibujamos el mismo objeto original, pero utilizamos nuestro propio arreglo:

    #if ( version >= 3.7 )
      #version 3.7;
    #end
    global_settings { assumed_gamma 1.0 }  

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BEED.inc"
        
    #declare UnArreglo             = array[ BEED_TotalTexturas ] 
    #declare UnArreglo[ BEED_IndiceTexturaPrincipal  ]  = BEED_DefaultTexturaPrincipal
    #declare UnArreglo[ BEED_IndiceTexturaDinamica   ]  = BEED_DefaultTexturaDinamica
    #declare UnArreglo[ BEED_IndiceTexturaSoporte    ]  = BEED_DefaultTexturaSoporte
    #declare UnArreglo[ BEED_IndiceTexturaDecorativa ]  = BEED_DefaultTexturaDecorativa
    #declare UnArreglo[ BEED_IndiceTexturaPedal      ]  = BEED_DefaultTexturaPedal

    
    object      { 
      BEED_BicicletaEstacionariaEstiloDejavu( 0, 0, 0,
              0.700, 0.420, 0.300, 0.100, 0.560, 0.420, 0.5,
              0.140, 0.100, 0.040, 0.030, 0.160, UnArreglo )
      translate         -3*z-1.5*x
    }


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.
    #declare BEED_TexturaPrincipal		= 
	texture  { BEED_DefaultTexturaPrincipal }
Textura principal a aplicar en la estructura.

    #declare BEED_TexturaDinamica		=
	texture  { BEED_DefaultTexturaDinamica }
Textura del eje de giro de los pedales.

    #declare BEED_TexturaSoporte 		=
	texture  { BEED_DefaultTexturaSoporte }
Textura de la base inferior.

    #declare BEED_TexturaDecorativa		=
	texture  { BEED_DefaultTexturaDecorativa }
Textura para decoración del cuero de la manivela.

    #declare BEED_TexturaPedal 			=
	texture  { BEED_DefaultTexturaPedal }
Textura de los pedales de la bicicleta.

En el siguiente ejemplo ilustramos el uso de los modificadores:

    #if ( version >= 3.7 )
      #version 3.7;
    #end
    global_settings { assumed_gamma 1.0 }  

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "BEED.inc"
    #include "textures.inc"

    #declare BEED_TexturaPrincipal      = PinkAlabaster
    #declare BEED_TexturaDinamica       = Silver3
    #declare BEED_TexturaSoporte        = Sandalwood
    #declare BEED_TexturaDecorativa     = Brass_Valley
    #declare BEED_TexturaPedal          = Cork

    
    object      { 
      BEED_BicicletaEstacionaria( 0, 0, 0 )
      translate         -3*z-1.5*x
    }


Notas y Advertencias

La macro que genera los tubos es algo inestable. Fácilmente conseguirá curvas inesperadas y desagradables. Varíe los parámetros lentamente y en forma consistente.

La textura que decora el cuero del manubrio se aplica al centro del extremo superior.

Los pedales se acomodan automáticamente para mantener su posición horizontal ante modificaciones del parámetro AnguloCiclo.


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...(3/mayo/2016), 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