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

Donación de Rafael Angel Campos Vargas, en el año 2019, 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 "RPPM.inc" (RadiocomunicadorPortatilPersonalManual) dibuja un radiocomunicador de mano de corto alcance. Posee una macro para modificar las características principales, pero es muy poco flexible. Es compatible con POV-Ray 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 los archivos "RPPM.inc" y "RPPM_IM1.gif" 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 "RPPM.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "RPPM.inc" y "RPPM_IM1.gif".


Instrucciones básicas

Radiocomunicador
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 "RPPM.inc"
    
    object      {
      RPPM_Radiocomunicador( )
      translate         <-1.98,+1.64,-4.90>    
    }

La macro principal no tiene parámetros.

    #macro RPPM_Radiocomunicador( )

La siguiente macro permite mucha mayor flexibilidad.

    #macro RPPM_RadiocomunicadorPortatilPersonalManual(
                AltoFundamental, FrenteFundamental, GruesoFundamental,
                FactorEnsanchamiento, FraccionAltoEnsanchamiento,  
                AltoAntena, DiametroAntena,  
                ArregloBotones, GIFBotones, FactorBoton,
                MaterialPrincipal, MaterialBaseCaratula, 
                MaterialAntena, MaterialPlastico,
                MaterialPantalla, MaterialTransparente,
                MaterialBotones )
AltoFundamental :
Alto de la radio sin antena. Valor por defecto 70*L.
FrenteFundamental :
Frente en X de la radio sin botones. Valor por defecto 35*L.
GruesoFundamental :
Grueso en Z del cuerpo principal inferior. Valor por defecto 21*L.
FactorEnsanchamiento :
Factor en que la sección superior se ensancha respecto a la inferior. Valor por defecto 1.15.
FactorAltoEnsanchamiento :
Fracción propia de AltoFundamental que divide la sección superior e inferior del cuerpo principal. Valor por defecto 0.5.
AltoAntena :
Alto de la antena. Valor por defecto 40*L.
DiametroAntena :
Diámetro en la base de la antena. Valor por defecto 11*L.
ArregloBotones :
Arreglo bidimensional de vectores 2D con el formato array [TotalBotones][4]. Cada renglón definirá cuatro esquinas de un cuadrilátero. Las coordenadas deberán estar contenidas en el rango ]-0.5..0.5[ para X y ]0..1[ para Y que son relativas al espacio de dibujo, aunque el dominio verdadero será mucho menor, pues debe caer en la zona de la placa para botones. Los botones ocuparán el cuadrilátero en su totalidad más un borde determinado por FactorBotones. Valor por defecto BMME_ArregloBotones.
GIFBotones :
Archivo imagen GIF que se utiliza para etiquetar los botones. Utilice "" par ignorar este parámetro. El color de índice 0 se utiliza como color transparente. Valor por defecto BMME_GIFBotones.
FactorBotones :
Agrega un borde en exceso a los botones definidos en ArregloBotones. Utiliza coordenadas relativas al espacio disponible. Valor por defecto BMME_FactorBotones.
MaterialPrincipal :
Material principal del aparato. Valor por defecto BMME_MaterialPrincipal.
MaterialBaseCaratula :
Material para la base de los botones. Valor por defecto BMME_MaterialBaseCaratula.
MaterialAntena :
Material para la antena. Valor por defecto BMME_MaterialAntena.
MaterialPlastico :
Material para el borde plástico de la pantalla. Valor por defecto BMME_MaterialPlastico.
MaterialPantalla :
Material para el fondo de la pantalla. Podría incluir un archivo de imagen para visualización. Valor por defecto BMME_MaterialPantalla.
MaterialTransparente :
Material del vidrio que cubre la pantalla. Valor por defecto BMME_MaterialTransparente.
MaterialBotones :
Material de los botones. Valor por defecto BMME_MaterialBotones.

El siguiente ejemplo dibuja el mismo objeto por defecto.

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

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "RPPM.inc"
    
    object      {
      RPPM_RadiocomunicadorPortatilPersonalManual( 0.070, 0.035, 
                0.021, 1.15, 0.5, 0.040, 0.011,
                RPPM_ArregloBotones, RPPM_GIFBotones, RPPM_FactorBotones,
                RPPM_MaterialPrincipal, RPPM_MaterialBaseCaratula,
                RPPM_MaterialAntena, RPPM_MaterialPlastico,
                RPPM_MaterialPantalla, RPPM_MaterialTransparente,
                RPPM_MaterialBotones )
      translate         <-1.98,+1.64,-4.90>    
    }


Características del objeto

Mis dibujos están en unidades mL o L (Lisa) según el contexto.  1 L equivale a 0.055063 pulgadas definido como 0.001 para POVRAY.  El aparato se encuentra contenido entre las siguientes dimensiones:
    Mínimo		= < -22,   0, -12 >*L
    Máximo		= <  20, 110,  15 >*L

El radiocomunicador se dibuja con la pantalla hacia Z-, la antena hacia Y+ y el botón de recepción hacia X-. Descansa sobre el plano XZ.

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

RPPM_GIFBotones
Imagen utilizada por defecto "RPPM_IM1.gif" como parámetro GIFBotones con el objetivo de dibujar los botones del radiocomunicador.
RPPM_FactorBotones
Se utiliza por defecto 0.035 como parámetro FactorBotones, que establece un borde en exceso sobre los cuadriláteros definidos con ArregloBotones.
RPPM_ArregloBotones
Arreglo de vectores 2D que se usa como parámetro por defecto ArregloBotones. Que define cuadriláteros en coordenadas relativas para dibujar los botones.
RPPM_DefectoMaterialPrincipal
Material principal del aparato.
RPPM_DefectoMaterialBaseCaratula
Material para la base de los botones.
RPPM_DefectoMaterialAntena
Material para la antena.
RPPM_DefectoMaterialPlastico
Material para el borde plástico de la pantalla.
RPPM_DefectoMaterialPantalla
Material para el fondo de la pantalla.
RPPM_DefectoMaterialTransparente
Material del vidrio que cubre la pantalla.
RPPM_DefectoMaterialBotones
Material de los botones.


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad. Cuando se indique, será el valor establecido por defecto.

    #declare RPPM_MaterialPrincipal		=
		material  { RPPM_DefectoMaterialPrincipal		}
Material principal del aparato.

    #declare RPPM_MaterialBaseCaratula		=
		material  { RPPM_DefectoMaterialBaseCaratula		}
Material para la base de los botones.

    #declare RPPM_MaterialAntena		=
		material  { RPPM_DefectoMaterialAntena			}
Material para la antena.

    #declare RPPM_MaterialPlastico		=
		material  { RPPM_DefectoMaterialPlastico		}
Material para el borde plástico de la pantalla.

    #declare RPPM_MaterialPantalla		=
		material  { RPPM_DefectoMaterialPantalla		}
Material para el fondo de la pantalla.

    #declare RPPM_MaterialTransparente		=
		material  { RPPM_DefectoMaterialTransparente		}
Material del vidrio que cubre la pantalla.

    #declare RPPM_MaterialBotones		=
		material  { RPPM_DefectoMaterialBotones			}
Material de los botones.

El siguiente ejemplo ilustra 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 "RPPM.inc"
    #include "textures.inc"  
    
    #declare RPPM_MaterialPrincipal     = M_Ruby_Glass
    #declare RPPM_MaterialBaseCaratula  = M_NB_Beerbottle_Glass
    #declare RPPM_MaterialAntena        = M_Vicks_Bottle_Glass
    #declare RPPM_MaterialPlastico      = M_NB_Winebottle_Glass
    #declare RPPM_MaterialPantalla      = material { texture { Gold_Texture } }
    #declare RPPM_MaterialTransparente  = M_Glass 
    #declare RPPM_MaterialBotones       = M_NB_Glass
                
    object      {
      RPPM_Radiocomunicador()
      translate         <-1.98,+1.64,-4.90>    
    }


Notas y Advertencias

Si desea cambiar la posición de los botones, deberá modificar simultáneamente los parámetros ArregloBotones y GIFBotones. El segundo de ellos está previsto para ubicar etiquetas, pero podría utilizar "" como una solución rápida sin etiquetas.

No se crearon herramientas para dibujar en la pantalla. La solución prevista es modificar RPPM_MaterialPantalla, o utilizar directamente el parámetro MaterialPantalla en la macro detallada.

Por el momento, no se crearon herramientas para mover el clip sujetador o presionar los botones.


Sugerencias de modificación


Sobre LibreN3D

Algo hace falta En la actualidad dedico casi unas dos horas todos los días, para desarrollar mis proyectos de animación con el compilador FreePascal para FreeDOS.  Mi propuesta original fue filmar 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 dentro de algunos años 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...(23/octubre/2018), 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.
Logo FreeDOS...
Descarga sistema operativo FreeDOS
Logo FreePascal...
Descarga compilador FreePascal