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

Donación de Rafael Angel Campos Vargas, en el año 2016, 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 "TPEA.inc" (TelefonoPublicoExpuestoAire) El archivo dibuja un teléfono público típico en Costa Rica. Es muy poco flexible, pero incluye una macro para modificar algunas de sus caracteristicas principales. 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 los archivos "TPEA.inc", "TPEA_AU1.inc", "TPEA_AU2.inc" , "TPEA_IM1.gif" y "TPEA_IM2.gif" en dicho subdirectorio;  únicamente éstos cinco 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 "TPEA.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "TPEA.inc", "TPEA_AU1.inc", "TPEA_AU2.inc", "TPEA_IM1.gif" y "TPEA_IM2.gif".


Instrucciones básicas

Teléfono público
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 "TPEA.inc"
    
    object      {
      TPEA_Telefono( 1000 )   
      translate                 <-1.625,+0.475,-3.500>        
    }

La macro fundamental tiene únicamente un parámetro.

    #macro TPEA_Telefono( SeedCable )
SeedCable :
Valor para inicializar el generador de números aleatores. Utilice idéntico valor para obtener el mismo dibujo. Se utiliza para modificar la posición del cable.

La siguiente macro dibuja el objeto con mucho mayor control de las características.

    #macro TPEA_TelefonoPublicoExpuestoAire( SeedCable, AltoTotal,
                AltoCasetilla, AnchoCasetilla, ProfundidadCasetilla,
                AltoBanner, AltoTelefono, AnchoTelefono, ProfundidadTelefono,
                AltoAuricular, GruesoAuricular, GruesoMetal, GruesoDecorativo,
                TexturaCasetilla, TexturaTelefono, TexturaBannerFrontal,
                TexturaBannerLateral, TexturaMetalica, TexturaAuricular )
SeedCable :
Valor para inicializar el generador de números aleatores. Utilice idéntico valor para obtener el mismo dibujo. Se utiliza para modificar la posición del cable.
AltoTotal :
Alto total del aparato. Valor por defecto 1215*L.
AltoCasetilla :
Alto de la casetilla que protege al teléfono. Valor por defecto 740*L.
AnchoCasetilla :
Ancho frontal de la casetilla que protege al teléfono. Valor por defecto 440*L.
ProfundidadCasetilla :
Profundidad lateral de la casetilla. Valor por defecto 318*L.
AltoBanner :
Alto de la franja superior de la casetilla. Valor por defecto 146*L.
AltoTelefono :
Referencia para el alto del teléfono. Valor por defecto 260*L.
AnchoTelefono :
Ancho del teléfono. Valor por defecto 190*L.
ProfundidadTelefono :
Profundidad lateral Z del teléfono. Valor por defecto 160*L.
AltoAuricular :
Alto del auricular. Valor por defecto 165*L.
GruesoAuricular :
Grueso del auricular. Valor por defecto 44*L.
GruesoMetal :
Grueso de la placa metálica. Valor por defecto 2*L.
GruesoDecorativo :
Grueso de perforaciones a placa metálica, que sirven para incrementar la exposición al aire. Valor por defecto 10*L.
TexturaCasetilla :
Textura principal de la casetilla. Valor por defecto TPEA_TexturaCasetilla.
TexturaTelefono :
Textura del aparato telefónico. Valor por defecto TPEA_TexturaTelefono.
TexturaBannerFrontal :
Logo frontal como textura. Valor por defecto TPEA_TexturaBannerFrontal.
TexturaBannerLateral :
Logo lateral como textura. Valor por defecto TPEA_TexturaBannerLateral.
TexturaMetalica :
Textura del cable. Valor por defecto TPEA_TexturaMetalica.
TexturaAuricular :
Textura del auricular. Valor por defecto TPEA_TexturaAuricular.

En el siguiente ejemplo dibujamos el mismo objeto original:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "TPEA.inc"
    
    object      {
      TPEA_TelefonoPublicoExpuestoAire( 1000, 1.215, 0.740, 0.440, 
              0.318, 0.146, 0.260, 0.190, 0.160, 0.165, 0.044, 0.002, 0.010,         
              TPEA_TexturaCasetilla, TPEA_TexturaTelefono,
              TPEA_TexturaBannerFrontal, TPEA_TexturaBannerLateral,
              TPEA_TexturaMetalica, TPEA_TexturaAuricular )
      translate                 <-1.625,+0.475,-3.500>        
    }


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 con parámetros nulos se encuentra contenido en el siguiente bloque:
    Punto mínimo  		= < -220,    0, -370 >*L
    Punto máximo 		= <  220, 1215,   80 >*L 
La casetilla sobresale del plano XZ, con frente que mira hacia Z-. El poste se sumerge en Z+. De tal forma que el plano XZ separa el poste y la casetilla. Gravedad Y-.

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

TPEA_DefaultTexturaCasetilla
Textura principal de la casetilla.
TPEA_DefaultTexturaTelefono
Textura del aparato teléfono.
TPEA_DefaultTexturaBannerFrontal
Logo frontal como textura.
TPEA_DefaultTexturaBannerLateral
Logo lateral como textura.
TPEA_DefaultTexturaMetalica
Textura del cable.


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.
    #declare TPEA_TexturaCasetilla		= 
	texture  { TPEA_DefaultTexturaCasetilla }
Textura principal de la casetilla.

    #declare TPEA_TexturaTelefono		=
	texture  { TPEA_DefaultTexturaTelefono }
Textura del aparato telefónico.

    #declare TPEA_TexturaBannerFrontal 		=
	texture  { TPEA_DefaultTexturaBannerFrontal }
Logo frontal como textura.

    #declare TPEA_TexturaBannerLateral 		=
	texture  { TPEA_DefaultTexturaBannerLateral }
Logo lateral como textura.

    #declare TPEA_TexturaMetalica		=
	texture  { TPEA_DefaultTexturaMetalica }
Textura del cable.

    #declare TPEA_TexturaAuricular		=
	texture  { TPEA_DefaultTexturaAuricular }
Textura del auricular.

    #declare TPEA_POV3_1			= off;
Valor on activa modo de compatibilidad con POVRay 3.1. En algunas versiones se activará automáticamente.

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "TPEA.inc"                                
    #include "textures.inc"
    
    #declare TPEA_TexturaCasetilla      = PinkAlabaster  
    #declare TPEA_TexturaTelefono       = New_Penny
    #declare TPEA_TexturaBannerFrontal  = Cork
    #declare TPEA_TexturaBannerLateral  = texture { Shadow_Clouds scale 0.01 }
    #declare TPEA_TexturaMetalica       = Rust
    #declare TPEA_TexturaAuricular      = Brass_Valley
    
    object      {
      TPEA_Telefono( 1000 )     
      rotate                    -20*y
      translate                 <-1.625,+0.475,-3.500>        
    }


Notas y Advertencias

Algunos de los valores de semilla provocan superposición del cable con el teléfono. En tal caso, simplemente asigne otro valor.

Modifique los parámetros con pequeños cambios y en forma consistente, para evitar efectos desagradables.

Al diseñar un nuevo banner lateral, tome en cuenta que el diseño se modifica para permitir la lectura corriente de texto. El modelo real en el que se basó, no tenía texto así que no requería invertir la imagen.


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...(21/julio/2015), 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