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

Donación de Rafael Angel Campos Vargas, en el año 2013, 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 "MCAI.inc" (MicrofonoCompatibleAlgunosInstrumentos) dibuja un micrófono simple para computadora personal.  Se ofrece como macro en dos versiones; con la posibilidad de modificar varias de sus características básicas.  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 el archivo "MCAI.inc" en dicho subdirectorio;  únicamente éste es necesario.  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 "MCAI.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "MCAI.inc".


Instrucciones básicas

Micrófono
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  El siguiente ejemplo recurre a la macro default.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MCAI.inc"
    
    object      {
      MCAI_Microfono(30,30,-0.002) 
      translate  <-1.956, 1.596,-4.825>
    }

La macro principal tiene tres parámetros:

    #macro MCAI_Microfono( Angulo1, Angulo2, Desplazado )
Angulo1 :
Inclinación en grados respecto de la vertical hacia adelante.
Angulo2 :
Rotación del micrófono respecto al eje Y.
Desplazado :
Valor real para acercar o alejar el micrófono, manteniendo fija la base.

Se incluye una macro adicional para facilitar una modificación más profunda:

    #macro MCAI_MicrofonoCompatibleAlgunosInstrumentos
              ( Angulo1, Angulo2, Desplazado,
                DiametroBase, AltoBase, GruesoDecorativo,
                LargoBarra1, LargoBarra2, AnguloBarra, DiametroBarra,
                LargoMIC, DiametroMIC,
                TexturaSoporte, TexturaBarra, TexturaCabeza )
Angulo1 :
Inclinación en grados respecto de la vertical hacia adelante.
Angulo2 :
Rotación del micrófono respecto al eje Y.
Desplazado :
Valor real para acercar o alejar el micrófono, manteniendo fija la base.
DiametroBase :
Valor referencia para el diámetro de base.  Default es 81*L.
AltoBase :
Alto de la base.  Default es 10.6*L.
GruesoDecorativo :
Grueso para algunos decoraciones.  Default es 2*L.
LargoBarra1 :
Valor referencia para el largo del segundo tronco cilíndrico que contiene el micrófono.  Default es 82*L.
LargoBarra2 :
Largo del primer tronco cilíndrico del micrófono.  Default es 100*L.
AnguloBarra :
Angulo de quiebre en el tronco cilíndrico del micrófono.  Default es 23.50.
DiametroBarra :
Diámetro del tronco del micrófono.  Default es 0.0043*L.
LargoMIC :
Largo de la cabeza del micrófono.  Default es 30*L.
DiametroMIC :
Diámetro principal de la cabeza del micrófono.  Default es 11*L.
TexturaSoporte :
Textura a aplicar al soporte.  Default es MCAI_TexturaSoporteDefault.
TexturaBarra :
Textura a aplicar a la barra cilíndrica angular.  Default es MCAI_TexturaBarraDefault.
TexturaCabeza :
Textura a aplicar a la cabeza del micrófono.  Default es MCAI_TexturaCabezaDefault.

Un ejemplo para el uso de esta última macro, que produce un resultado idéntico al anterior:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MCAI.inc"
    
    object      {
      MCAI_MicrofonoCompatibleAlgunosInstrumentos( 30, 30, -0.002,
        0.081, 0.0106, 0.002, 0.082, 0.1, 23.5, 0.0043, 0.03, 0.011,
        MCAI_TexturaSoporteDefault, MCAI_TexturaBarraDefault,
        MCAI_TexturaCabezaDefault )
      translate  <-1.956, 1.596,-4.825>
    }


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:
    Mínimo Base <-46,  0,-42>*L aprox
    Máximo Base < 39, 43, 42>*L aprox
    Alto            : 195*L { parametros (0,0,0) }
El micrófono descansa en el plano XZ.  Se dibuja de forma que el cilindro guía quede casi centrado sobre el origen XZ.  El micrófono sobresale hacia Y+, partiendo desde el lado izquierdo X-.

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

MCAI_GuiaCable
Vector generado por las macros principales de esta unidad.  Ubica el extremo inferior de la barra del micrófono, para facilitar la ubicación de un cable o similar.
MCAI_TexturaSoporte
Textura para aplicar al soporte del aparato.
MCAI_TexturaBarra
Textura de las barras cilíndricas en condiciones Default.
MCAI_TexturaCabeza
Textura a aplicar en la cabeza del micrófono.


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.  Cuando se indica, se trata de la condición default.

    #declare MCAI_BanderaMarcaPovRay      	= true;      
Dibula las letras de Marca en el objeto si la condición es "true".  Caso contrario se ignora.

    #declare MCAI_MarcaPovRay                   = "POV-Ray"
Nombre de la marca del aparato.

    #declare MCAI_HCorregirMarcaPovRay      	= 0.0;
Valor real para corregir la posición horizontal del nombre de marca, si se requiere.

    #declare MCAI_ColorMarcaPovRay              = Red;
Para asignar un color a las letras de la marca.

    #declare MCAI_TexturaSoporteDefault      	= texture { ... }      
Textura a aplicar al soporte del micrófono.

    #declare MCAI_TexturaBarraDefault      	= texture { ... }      
Textura a aplicar a las barras cilíndricas.

    #declare MCAI_TexturaCabezaDefault      	= texture { ... }      
Textura a aplicar a la cabeza del micrófono.

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

En el siguiente ejemplo modificamos la marca y agregamos un cable lineal simple:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MCAI.inc"   
    
    #declare MCAI_BanderaMarcaPovRay            = on;
    #declare MCAI_MarcaPovRay                   = "PR"  
    #declare MCAI_HCorregirMarcaPovRay          = 0.0075;
    #declare MCAI_ColorMarcaPovRay              = Black;
    
    union       {
      object      {  
        MCAI_Microfono( 30, 30, -0.002 )
      }
      cylinder          {
        MCAI_GuiaCable, MCAI_GuiaCable-100*x, 0.001
        texture         {
          MCAI_TexturaCabeza
        }        
      } 
      rotate    90*y
      translate  <-1.956, 1.596,-4.825>
    }   

A manera de ejemplo del uso de los modificadores de textura:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "MCAI.inc" 
    #include "textures.inc"  
    
    #declare MCAI_BanderaMarcaPovRay            = off;
    
    #declare MCAI_TexturaSoporteDefault         = texture {
      average
      texture_map       {
        [ 0.5 Rust                      ]
        [ 0.5 MCAI_TexturaSoporte       ]
      }
    }
    
    #declare MCAI_TexturaBarraDefault           = texture {
      average
      texture_map       {
        [ 0.5 Rust                      ]
        [ 0.5 MCAI_TexturaBarra         ]
      }
    }  
    
    #declare MCAI_TexturaCabezaDefault          = texture {
      PinkAlabaster
    }  
    
    object      {  
      MCAI_Microfono( 30, 30, -0.002 )
      translate  <-1.956, 1.596,-4.825>
    }


Notas y Advertencias

Muchos valores de los parámetros producen superposición no deseada de material.  Utilice valores pequeños de GruesoDecorativo.

El proceso de ubicación del nombre de marca es rudimentario;  obtendrá mejores resultados si desarrolla su propia textura.  No olvide modificar el valor de MCAI_HCorregirMarcaPovRay.

La geometría del micrófono es plana en los extremos.  Es responsabilidad de la textura suministrar la apariencia rugosa, o el efecto que se desee.


Sugerencias de modificación


Sobre LibreN3D

Algo hace falta En la actualidad intento crear una empresa personal de juegos de video.  Como parte del proyecto intento desarrollo 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...(22/enero/2013), 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