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

Donación de Rafael Angel Campos Vargas, en marzo del 2012, 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 "MEPV.inc" crea un horno de microondas para uso doméstico simple.  Es compatible con PovRay 3.1.  Contiene una macro especial para modificar las texturas fácilmente.

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 "MEPV.inc", "MEPV_IM1.GIF" y "MEPV_IM2.GIF" en dicho subdirectorio;  únicamente éstos tres 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 "MEPV.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "MEPV.inc", "MEPV_IM1.GIF" y "MEPV_IM2.GIF".


Instrucciones básicas

HornoMicroondas
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo recurre a la macro default, colocando al objeto en posición base.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MEPV.inc"
    
    object      {
      MEPV_HornoMicroondas( 0, 0 )
      translate <-1.75, 1.3 ,-4   >
    }

Los parámetros de la macro principal serían los siguientes:

    #macro MEPV_HornoMicroondas( AnguloPuerta, AnguloGiratorio )
AnguloPuerta :
Angulo para abrir la puerta del microondas, cero se considera cerrado.  Utilice valores positivos.
AnguloGiratorio :
Rotación poco visible.  Produce una rotación Y del plato y su soporte.  En realidad el soporte del plato solo rotará la mitad del ángulo para simular el efecto de las rueditas.

La siguiente macro permite dibujar el mismo objeto, con mayor control sobre sus características.

    #macro MEPV_MicroondasElectricoPlatoVidrio
         ( FrenteBase, AltoBase, FondoBase, 
	   AlturaSoporte, RadioDecorativo,
           VisibleAroCentral, VisiblePlato, 
           AnguloPuerta, AnguloGiratorio,
           TexturaPrincipal, TexturaVentanilla,
           TexturaSoporte, TexturaGiratoria, TexturaPlato )
FrenteBase :
Para modificar el tamaño del frente.  Valor default es 372*L.
AltoBase :
Para modificar el alto del aparato sin soporte inferior.  Valor default es 197*L.
FondoBase :
Relacionado con el tamaño del fondo.  Valor default es 244*L.
AlturaSoporte :
Altura de las patas y el soporte del aparato.  Valor default es 18*L.
RadioDecorativo :
Radio base para intersecciones curvas.  Valor default es 5.4*L.
VisibleAroCentral :
Valor "on" dibuja el aro soporte giratorio, valor "off" no lo dibuja.  Default es "on".
VisiblePlato :
Valor "on" dibuja el plato giratorio, valor "off" no lo dibuja.  Default es "on".
AnguloPuerta :
Angulo para abrir la puerta del microondas, cero se considera cerrado.  Utilice valores positivos.
AnguloGiratorio :
Rotación poco visible.  Produce una rotación Y del plato y su soporte.  En realidad el soporte del plato solo rotará la mitad del ángulo para simular el efecto de las rueditas.
TexturaPrincipal :
Textura principal a aplicar a la figura.  Es posible que surjan inconsistencias con las imágenes superpuestas.  Default es MEPV_DefaultTexturaPrincipal.
TexturaVentanilla :
Textura a aplicar a la ventanilla del visor de alimentos.  Default es MEPV_DefaultTexturaVentanilla.
TexturaSoporte :
Textura a aplicar a la base soporte.  Default es MEPV_DefaultTexturaSoporte.
TexturaGiratoria :
Textura a aplicar al aro giratorio.  Default es MEPV_DefaultTexturaGiratoria.
TexturaPlato :
Textura a aplicar al plato.  Default es MEPV_DefaultTexturaPlato.

En el siguiente ejemplo, procedemos a dibujar el mismo objeto establecido anteriormente:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MEPV.inc"
    
    object      {
      MEPV_MicroondasElectricoPlatoVidrio
        (  0.372, 0.197, 0.244, 0.018, 0.0054, on, on, 0, 0,
           MEPV_DefaultTexturaPrincipal, MEPV_DefaultTexturaVentanilla,
           MEPV_DefaultTexturaSoporte, MEPV_DefaultTexturaGiratoria,
           MEPV_DefaultTexturaPlato )
      translate <-1.75, 1.3 ,-4   >
    }


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:
    Altura total microondas	: 215*L
    Altura sin base		: 197*L
    Frente microondas		: 372*L
    Profundidad microondas	: 290*L (+14.5..-275)*L
    Centro superior plato	: <-33,42.5,-134>*L
La base del horno está sobre el plano XY, centrado en X.  La gravedad se orienta como usual en PovRay hacia Y-.  La puerta del microondas hacia Z-.

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

MEPV_TexturaPrincipal
Textura principal a aplicar al aparato.
MEPV_TexturaVentanilla
Textura a aplicar a la ventanilla visor de los alimentos.
MEPV_TexturaSoporte
Textura a aplicar a la base soporte.
MEPV_TexturaGiratoria
Textura a aplicar al aro giratorio.
MEPV_TexturaPlato
Textura a aplicar al plato giratorio.


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.

    #declare MEPV_DefaultTexturaPrincipal      	= texture { ... }      
Textura principal a aplicar al aparato.

    #declare MEPV_DefaultTexturaVentanilla      = texture { ... }
Textura a aplicar a la ventanilla visor de los elementos.

    #declare MEPV_DefaultTexturaSoporte     	= texture { ... }
Textura a aplicar a la base soporte del microondas.

    #declare MEPV_DefaultTexturaGiratoria     	= texture { ... }
Textura a aplicar al aro giratorio que sostiene al plato.

    #declare MEPV_DefaultTexturaPlato	       	= texture { ... }      
Se aplica al plato giratorio de alimentos.

    #declare MEPV_VisibleImagen1           	= on;
Vuelve visibie o no la imagen de los botones de presión.

    #declare MEPV_VisibleImagen2           	= on;
Vuelve visibie o no la imagen de la etiqueta posterior.

    #declare MEPV_NombreImagen1     		= "MEPV_IM1.GIF";
Imagen para los botones del microondas.  Debería ser del tipo gif, puede mejorarse bastante.  El original se obtuvo en forma algo descuidada con una cámara promocional de la película "Hulk".

    #declare MEPV_NombreImagen2     		= "MEPV_IM2.GIF";
Imagen para la etiqueta posterior del microondas.  Debería ser del tipo gif, puede mejorarse bastante.  El original se obtuvo en forma algo descuidada con una cámara promocional de la película "Hulk".

    #declare MEPV_ColorTornillo                 = pigment {Gray30}
Color principal como pigment de los tornillos.

    #declare MEPV_ColorTornilloDiferencia       = pigment {Gray70}
Color auxiliar para aparentar el relieve a los tornillos.

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

A manera de ejemplo del uso de los modificadores:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MEPV.inc"
       
    #declare MEPV_VisibleImagen2                = off;
    #declare MEPV_NombreImagen1                 = "MEPV_IM2.GIF"
    #declare MEPV_DefaultTexturaGiratoria       = texture       {
      pigment           { Blue }
    } 
    #declare MEPV_DefaultTexturaPlato           = texture       {
      pigment           {
        color Green transmit 0.9
      }
    }
    #declare MEPV_DefaultTexturaVentanilla      = texture       {
      pigment           { Yellow }
    }
        
    object      {
      MEPV_HornoMicroondas( 145, 30 )  
      translate <-1.75, 1.3 ,-4   >
    }

Otro ejemplo más:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MEPV.inc"
    #include "textures.inc"
       
    #declare MEPV_VisibleImagen1                = off;
    #declare MEPV_NombreImagen2                 = "MEPV_IM1.GIF"
    #declare MEPV_DefaultTexturaPrincipal       = texture       {
      PinkAlabaster
    }
    #declare MEPV_DefaultTexturaSoporte         = texture       {
      average
      texture_map               {
        [ 0.2 MEPV_TexturaSoporte ]
        [ 0.8 Rust                ]
      }
    } 
    #declare MEPV_ColorTornillo                 = pigment { Blue }
    #declare MEPV_ColorTornilloDiferencia       = pigment { White }
        
    object      {
      MEPV_HornoMicroondas( 0, 0 )  
      rotate    180*y-60*x
      translate <-1.75, 1.3 ,-4   >
    }


Notas y Advertencias

Al redefinir MEVP_DefaultTexturaPrincipal, podrían presentarse inconsistencias por el color de las imágenes superpuestas.  En texturas muy complejas, necesitará desactivar las imágenes para conseguir el efecto deseado.

En el acercamiento, los botones no se verán bien y la etiqueta no podrá leerse.  Se recomienda sustituir con una mejor foto o dibujo.

Se observan frecuentes rayas indeseables en ángulos perpendiculares.  Es recomendable evitar la perpendicularidad con esta figura.


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...(26/marzo/2012), 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