Archivos de esta coleccin.
Necesarios para ejecucin:
PAUV.inc  	: archivo principal
PAUV_AU1.inc	: archivo auxiliar de macros
PAUV_LA1.gif	: imagen auxiliar para control de encendido
PAUV_LA2.gif	: imagen auxiliar del rotor, para ajustar el recipiente
Extras para visualizacin de manual html, no necesita conservarlos
PAUV.html	: instrucciones en html
PAUV_Thumbnail.jpg	
			: dibujo del objeto en pequeo
PAUV.jpg		: resultado con mejor resolucion
PAUV_logoPOVht.jpg	: logo de POV-Ray
PAUV_fp32ht.jpg		: logo de FreePascal
PAUV_freedosht.jpg	: logo de FreeDOS
PAUV_faltaht.jpg	: imagen de LibreN3D
PAUV_backht.jpg		: fondo de texto html
PAUV_cc-LGPL-a.png	: logo de GNU LGPG
Extras adicionales
PAUV.pov		: archivo de prueba
PAUV_readme.txt		: este documento

Lo que sigue, puede leerse con mayor facilidad con PAUV_html, y su despliegue preferido...
Esta copia es para usuarios que prefieran las instrucciones en formato TXT, o si en el futuro
el lenguaje html quede descontinuado.

PAUV
Instrucciones para "PAUV.inc" v1.0 

Donacin de Rafael Angel Campos Vargas, en el ao 2015, 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. 
   
  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 versin actual v1.0 de "PAUV.inc" (ProcesadorAlimentosUtilVegetales) dibuja 
un procesador de alimentos sencillo para uso domstico.  Ofrece varias macros 
para dibujar los elementos separados que permiten cambiar las caractersticas 
principales y texturas.  Es compatible con PovRay 3.1. 
Indice de pgina: 
  Instalacin de Archivos

  Instrucciones bsicas

  Caractersticas del objeto

  Modificadores

  Notas y Advertencias

  Sugerencias de modificacin

  Sobre LibreN3D




Instalacin de Archivos
El procedimiento siguiente es completamente optativo, corresponde simplemente al 
estndard de la Biblioteca de objetos POV-Ray. 
  Cree el subdirectorio "ObjectCollections".  Se sugiere un subdirectorio del 
  folder POV-Ray, creado por el instalador en algunas versiones en la seccin de 
  documentos o bien en la de cdigo. 
  Copie los archivo "PAUV.inc", "PAUV_AU1.inc", PAUV_LA1.gif y "PAUV_LA2.gif" en 
  dicho subdirectorio;  nicamente stos cuatro son necesarios.  En cuanto a la 
  documentacin y dems puede colocarla si desea en el mismo subdirectorio, el 
  estndar ha sido diseado para evitar problemas de compatibilidad. 
  Actualice los archivos buscados por POV-Ray, en algn 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 
  cmo, probablemente convenga leer el manual de referencia en la seccin 
  "Command-line options".   Cada sistema operativo presenta sus propias 
  variantes. 
Nota:  El archivo de prueba "PAUV.pov" puede ejecutarse sin ningn proceso de 
instalacin.  Unicamente debera estar ubicado en el mismo folder que 
"PAUV.inc", "PAUV_AU1.inc", "PAUV_LA1.gif" y "PAUV_LA2.gif". 



Instrucciones bsicas
       
      Procesador de alimentos 
Muy fcil de usar, tan simple como incluir el archivo y ubicar el objeto.  El 
siguiente ejemplo ilustra el procedimiento bsico. , 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "PAUV.inc"
    
    object      {
      PAUV_ProcesadorAlimentos( 0, 0, on, on ) 
      translate               <-1.94375,1.66375,-4.875>  
    }
La macro fundamental tiene slo cuatro parmetros. 
    #macro PAUV_ProcesadorAlimentos( FraccionEncendido, 
		AnguloGirar, BanderaRecipiente, BanderaTapa )   
FraccionEncendido : 
  Valor entre 0.0 y 1.0 para indicar el giro de la tapa para encender el 
  aparato.  Utilice cero para apagado. 
  AnguloGirar : 
  Angulo para girar el rotor central y la barrita de metal que le sirve de 
  soporte. 
  BanderaRecipiente : 
  "on" dibuja el recipiente, "off" no lo dibuja. 
  BanderaTapa : 
  "on" dibuja la tapa del recipiente, "off" no la dibuja.  La macro no dibuja la 
  tapa sino dibuja el recipiente. 
La siguiente macro dibuja la base con mucho mayor control en las 
caractersticas. 
    #macro PAUV_ProcesadorAlimentosBase( AnguloGirar,
         DiametroMayor, DiametroMenor, DistanciaCircular, DiametroDecorativo,
         AlturaBase, DiametroSuperior, DecorativoSuperior,
         BaseTransparente, GruesoTransparente, GruesoCilindroMetal,
         TexturaBase, TexturaLabel, TexturaLabelBaseGiro, TexturaMetal, TexturaPatas )
AnguloGirar : 
  Angulo para girar el rotor central y la barrita de metal que le sirve de 
  soporte. 
  DiametroMayor : 
  Corresponde al dimetro del recipiente.  Default es 67.9*L. 
  DiametroMenor : 
  Corresponde al dimetro posterior de la base.  Default es 60.7*L. 
  DistanciaCircular : 
  Referencia para el largo de la base.  Corresponde a la distancia entre los 
  centros de los crculos gua.  Default es 46.0*L. 
  DiametroDecorativo : 
  Diametro guia para decoraciones inferiores y ancho de placas.  Default es 
  14.3*L. 
  AlturaBase : 
  Altura gua para la base soporte y el recipiente.  Default es 71.5*L. 
  DiametroSuperior : 
  Corresponde a un dimetro gua para la columna soporte del procesador.  
  Default es 53.6*L. 
  DecorativoSuperior : 
  Dimetro gua para decoraciones superiores.  Default es 7.15*L. 
  BaseTransparente : 
  Altura del cilindro segundario que sirve para acomodar el recipiente 
  firmemente a la base.  Default es 8.0*L. 
  GruesoTransparente : 
  Grueso principal de las lminas del recipiente.  Default es 1.43*L. 
  GruesoCilindroMetal : 
  Grueso referencia para el cilindro metlico de la base que empuja el giro.  
  Default es 3.5*L. 
  TexturaBase : 
  Textura principal de la base.  Default es PAUV_TexturaBase. 
  TexturaLabel : 
  Textura superior de la base.  Se utiliza para ubicar la etiqueta "on", "off" 
  con color transparente GIF.  Puede sustituirla por su propio diseo.  Default 
  es PAUV_TexturaBase. 
  TexturaLabelBaseGiro : 
  Textura de la base de giro.  Se utiliza para pintar la base de giro con signos 
  de ajuste de recipiente, utiliza color transparente GIF.  Puede sustituir por 
  su propio diseo.  Default es PAUV_TexturaLabelBaseGiro. 
  TexturaMetal : 
  Textura a aplicar al cilindro gua de giro, anclado a la base.  Default es 
  PAUV_TexturaMetal. 
  TexturaPatas : 
  Textura de las patillas soporte.  Default es PAUV_TexturaPatas. 
La siguiente macro dibuja el recipiente con mayor control sobre las 
caractersticas. 
    #macro PAUV_ProcesadorAlimentosRecipiente( FraccionEncendido, BanderaTapa,
         BanderaCuchilla, AnguloGirar,
         DiametroRecipiente, DiametroDecorativo, AlturaBase,
         BaseTransparente, GruesoTransparente, GruesoCilindroMetal,
         MaterialRecipiente, TexturaCilindroGiro, TexturaCuchilla, TexturaFilo )
FraccionEncendido : 
  Valor entre 0.0 y 1.0 para indicar el giro de la tapa para encender el 
  aparato.  Utilice cero para apagado. 
  BanderaTapa : 
  "on" dibuja la tapa del recipiente, "off" no la dibuja.  La macro no dibuja la 
  tapa sino dibuja el recipiente. 
  BanderaCuchilla : 
  "on" dibuja las cuchillas y el cilindro soporte;  "off" no las dibuja.  Valor 
  "on" por default. 
  AnguloGirar : 
  Angulo para girar el rotor central y la barrita de metal que le sirve de 
  soporte. 
  DiametroRecipiente : 
  Corresponde al dimetro del recipiente.  Default es 67.9*L, el mismo 
  DiametroMayor de PAUV_ProcesadorAlimentos. 
  DiametroDecorativo : 
  Diametro guia para decoraciones inferiores y ancho de placas.  Default es 
  14.3*L. 
  AlturaBase : 
  Altura gua para la base soporte y el recipiente.  Default es 71.5*L. 
  BaseTransparente : 
  Altura del cilindro segundario que sirve para acomodar el recipiente 
  firmemente a la base.  Default es 8.0*L. 
  GruesoTransparente : 
  Grueso principal de las lminas del recipiente.  Default es 1.43*L. 
  GruesoCilindroMetal : 
  Grueso referencia para el cilindro metlico de la base que empuja el giro.  
  Default es 3.5*L. 
  MaterialRecipiente : 
  Material para aplicar al recipiente.  Default es PAUV_MaterialRecipiente. 
  TexturaCilindroGiro : 
  Textura para el cilindro soporte de cuchillas.  Default es 
  PAUV_TexturaCilindroGiro. 
  TexturaCuchilla : 
  Textura principal de la cuchilla.  Default es PAUV_TexturaCuchilla. 
  TexturaFilo : 
  Por diferencia se aplica una textura al filo.  Default es PAUV_TexturaFilo. 
La siguiente macro dibuja la tapa del recipiente con mayor control sobre las 
caractersticas. 
    #macro PAUV_ProcesadorAlimentosTapa(
                DiametroRecipiente, AlturaBase, DiametroDecorativo,
                GruesoTransparente, GruesoCilindroMetal, MaterialRecipiente )
DiametroRecipiente : 
  Corresponde al dimetro del recipiente.  Default es 67.9*L, el mismo 
  DiametroMayor de PAUV_ProcesadorAlimentos. 
  AlturaBase : 
  Altura gua para la base soporte y el recipiente.  Default es 71.5*L. 
  DiametroDecorativo : 
  Diametro guia para decoraciones inferiores y ancho de placas.  Default es 
  14.3*L. 
  GruesoTransparente : 
  Grueso principal de las lminas del recipiente.  Default es 1.43*L. 
  GruesoCilindroMetal : 
  Grueso referencia para el cilindro metlico de la base que empuja el giro.  
  Default es 3.5*L. 
  MaterialRecipiente : 
  Material para aplicar al recipiente.  Default es PAUV_MaterialRecipiente. 
La siguiente macro dibuja las cuchillas con mayor control sobre las 
caractersticas. 
    #macro PAUV_ProcesadorAlimentosCuchilla(
             DiametroRecipiente, AlturaBase, BaseCuchilla, GruesoCilindroMetal,
             TexturaCilindroGiro, TexturaCuchilla, TexturaFilo )
DiametroRecipiente : 
  Corresponde al dimetro del recipiente.  Default es 67.9*L, el mismo 
  DiametroMayor de PAUV_ProcesadorAlimentos. 
  AlturaBase : 
  Altura gua para la base soporte y el recipiente.  Default es 71.5*L. 
  BaseCuchilla : 
  Altura de la cuchilla dentro del recipiente que sirve para estimar un tamano 
  apropiado.  La cuchilla, sin embargo, se dibujar sobre el origen.  
  Corresponde a BaseTransparente+GruesoTransparente en otras macros.  Default es 
  9.43*L. 
  GruesoCilindroMetal : 
  Grueso referencia para el cilindro metlico de la base que empuja el giro.  
  Default es 3.5*L. 
  TexturaCilindroGiro : 
  Textura para el cilindro soporte de cuchillas.  Default es 
  PAUV_TexturaCilindroGiro. 
  TexturaCuchilla : 
  Textura principal de la cuchilla.  Default es PAUV_TexturaCuchilla. 
  TexturaFilo : 
  Por diferencia se aplica una textura al filo.  Default es PAUV_TexturaFilo. 
En el siguiente ejemplo utilizamos las cuatro macros detalladas, para generar el 
mismo objeto original: 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "PAUV.inc"
    
    union                        {    
      object                     {
        PAUV_ProcesadorAlimentosBase( 0, 0.0679, 0.0607, 0.046, 0.0143, 
                 0.0715, 0.0536, 0.00715, 0.008, 0.00143, 0.0035,
                 PAUV_TexturaBase, PAUV_TexturaLabel, PAUV_TexturaLabelBaseGiro,
                 PAUV_TexturaMetal, PAUV_TexturaPatas )       
      }                   
      #declare PosRecipiente     = PAUV_PosicionRecipiente;  
      #declare PosTapa           = PAUV_PosicionTapa;      
      #declare PosCuchilla       = PAUV_PosicionCuchilla;
      object                     {   
        PAUV_ProcesadorAlimentosTapa( 0.0679, 0.0715, 0.0143, 0.00143, 0.0035,
                  PAUV_MaterialRecipiente )
        translate                PosTapa
      }                                       
      object                     {
        PAUV_ProcesadorAlimentosCuchilla( 0.0679, 0.0715, 0.00943, 0.0035,
                PAUV_TexturaCilindroGiro, PAUV_TexturaCuchilla, PAUV_TexturaFilo ) 
        translate                PosCuchilla
      }
      object                     {
        PAUV_ProcesadorAlimentosRecipiente( 0, off, off, 0, 0.0679, 0.0143, 0.0715,
                 0.008, 0.00143, 0.0035, PAUV_MaterialRecipiente,
                 PAUV_TexturaCilindroGiro, PAUV_TexturaCuchilla, PAUV_TexturaFilo )
        translate                PosRecipiente
      }                                                
      translate               <-1.94375,1.66375,-4.875>  
    }
Seguramente resultar ms sencillo utilizar slo dos macros. 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "PAUV.inc"
    
    union                        {    
      object                     {
        PAUV_ProcesadorAlimentosBase( 0, 0.0679, 0.0607, 0.046, 0.0143, 
                 0.0715, 0.0536, 0.00715, 0.008, 0.00143, 0.0035,
                 PAUV_TexturaBase, PAUV_TexturaLabel, PAUV_TexturaLabelBaseGiro,
                 PAUV_TexturaMetal, PAUV_TexturaPatas )       
      }                   
      #declare PosRecipiente     = PAUV_PosicionRecipiente;  
      object                     {
        PAUV_ProcesadorAlimentosRecipiente( 0, on, on, 0, 0.0679, 0.0143, 0.0715,
                 0.008, 0.00143, 0.0035, PAUV_MaterialRecipiente,
                 PAUV_TexturaCilindroGiro, PAUV_TexturaCuchilla, PAUV_TexturaFilo )
        translate                PosRecipiente
      }                                                
      translate               <-1.94375,1.66375,-4.875>  
    }



Caractersticas del objeto
Mis dibujos estn en unidades L (Lisa).  1 L equivale a 0.055063 pulgadas 
definido como 0.001 para POVRAY.  El objeto tiene las siguientes 
caractersticas: 
    Punto Mnimo		= <-83.5,  0  ,-68  >*L
    Punto Mximo		= < 68  , 86.2, 57  >*L	
El cilindro de giro se centra sobre el origen del plano XZ, en forma 
perpendicular.  El eje Y es el centro de los giros.  Note que descansa sobre 
dicho plano. 
Se generan las siguientes declaraciones que no deberan modificarse.  Para su 
correcta modificacin consultar la seccin Modificadores. 
  PAUV_PosicionRecipiente 
  Vector que sirve para ubicar el recipiente.  Se genera en las macros 
  pertinentes;  aunque se ordene no dibujarlo.  Por ejemplo, podra llamar a 
  PAUV_ProcesadorAlimentos y no dibujar el recipiente.  Luego utilizar esta 
  variable para una animacin. 
  PAUV_PosicionTapa 
  Vector que sirve para ubicar la tapa.  Se genera en las macros pertinentes. 
  PAUV_PosicionCuchilla 
  Vector que sirve para ubicar las cuchillas.  Se genera en las macros 
  pertinentes. 
  PAUV_DefaultTexturaBase 
  Textura principal de la base. 
  PAUV_DefaultTexturaLabel 
  Textura superior de la base.  Se utiliza para ubicar la etiqueta "on", "off" 
  con color transparente GIF. 
  PAUV_DefaultTexturaLabelBaseGiro 
  Textura de la base de giro.  Se utiliza para pintar la base de giro con signos 
  de ajuste de recipiente, utiliza color transparente GIF. 
  PAUV_DefaultTexturaMetal 
  Textura a aplicar al cilindro gua de giro, anclado a la base. 
  PAUV_DefaultTexturaPatas 
  Textura de las patillas de soporte. 
  PAUV_DefaultMaterialRecipiente 
  Material para aplicar al recipiente. 
  PAUV_DefaultTexturaCilindroGiro 
  Textura para el cilindro soporte de cuchillas. 
  PAUV_DefaultTexturaCuchilla 
  Textura principal de la cuchilla. 
  PAUV_DefaultTexturaFilo 
  Por diferencia se aplica una textura al filo. 



Modificadores
La siguiente es la lista de los modificadores permitidos en la unidad. 
    #declare PAUV_TexturaBase			= 
	texture  { PAUV_DefaultTexturaBase }
Textura principal de la base. 
    #declare PAUV_TexturaLabel			=
	texture  { PAUV_DefaultTexturaLabel }
Textura superior de la base.  Se utiliza para ubicar la etiqueta "on", "off" con 
color transparente GIF. 
    #declare PAUV_TexturaLabelBaseGiro		=
	texture  { PAUV_DefaultTexturaLabelBaseGiro }
Textura de la base de giro.  Se utiliza para pintar la base de giro con signos 
de ajuste de recipiente, utiliza color transparente GIF. 
    #declare PAUV_TexturaMetal			=
	texture  { PAUV_DefaultTexturaMetal }
Textura a aplicar al cilindro gua de giro, anclado a la base. 
    #declare PAUV_TexturaPatas			=
	texture  { PAUV_DefaultTexturaPatas }
Textura de las patillas de soporte. 
    #declare PAUV_MaterialRecipiente		=
	material { PAUV_DefaultMaterialRecipiente }
Material para aplicar al recipiente. 
    #declare PAUV_TexturaCilindroGiro		=
	texture  { PAUV_DefaultTexturaCilindroGiro }
Textura para el cilindro soporte de cuchillas. 
    #declare PAUV_TexturaCuchilla		=
	texture  { PAUV_DefaultTexturaCuchilla }
Textura principal de la cuchilla. 
    #declare PAUV_TexturaFilo			=
	texture  { PAUV_DefaultTexturaFilo }
Por diferencia se aplica una textura al filo. 
    #declare PAUV_POV3_1			= off;
Para activar modo de compatibilidad con POVRay 3.1.  En algunas versiones se 
activar automticamente.  En esta versin no cumple ninguna funcin. 
A manera de ejemplo del uso de los modificadores: 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "PAUV.inc" 
    #include "textures.inc"   
    
    global_settings             {   
      max_trace_level           20
    }
   
    #declare PAUV_TexturaBase           = PinkAlabaster  
    #declare PAUV_TexturaLabel          = Rust
    #declare PAUV_TexturaLabelBaseGiro  = Rusty_Iron  
    #declare PAUV_TexturaMetal          = Gold_Metal
    #declare PAUV_TexturaPatas          = Lightning1
    #declare PAUV_MaterialRecipiente    = 
      material { texture { pigment { White  transmit 0.90 } } } 
    #declare PAUV_TexturaCilindroGiro   =
                 texture { pigment { Yellow transmit 0.90 } }   
    #declare PAUV_TexturaCuchilla       = texture { pigment { Red  } } 
    #declare PAUV_TexturaFilo           = texture { pigment { Blue } }            
   
    object                     {
        PAUV_ProcesadorAlimentos( 0, 0, on, on )
      translate               <-1.94375,1.66375,-4.875>  
    }



Notas y Advertencias
Para mejorar los resultados conviene elevar el valor de max_trace_level, esto 
evita manchas oscuras en ciertos ngulos. 
Si utiliza las macros detalladas, tome en cuenta que si dos parmetros en 
diferentes macros se llaman de la misma manera conviene utilizar el mismo valor. 
 Adems cuide variar los valores en forma consistente. 
Se utilizaron texturas para rotular el aparato.  Utilizamos el color negro GIF 
en ocho colores, como color transparente. 
Si piensa utilizar las variables posicionales conviene asignarlas una vez 
obtenga el valor requerido.  Pues las mismas cambian de valor con cada llamado a 
una macro relacionada. 



Sugerencias de modificacin
  Permitir el cambio de rotulacin mediante una imagen proporcionada por el 
  usuario. 
  Agregar otros mecanismos de encendido.  Por ejemplo, utilizar un botn 
  tradicional en vez del giro de la tapa. 
  Agregar un cable elctrico. 



Sobre LibreN3D
 En la actualidad dedico casi unas dos horas todos los das, para desarrollar el 
programa de animacin LibreN3D con el compilador FreePascal para FreeDOS.  El 
objetivo era en un origen, realizar animaciones de "baja" calidad, con progreso 
lento y paulatino. Desconoca en ese entonces del programa POV-Ray.  Creo que 
con ayuda de dicho proyecto, podra lograr mucho mejores resultados desde un 
principio.  Confo que para el 2020 pueda lograr animaciones completas de 
aceptable calidad.   En la actualidad, intento agregarle caractersticas 
elsticas a los objetos.  He tenido numerosos retrasos, as que todava no 
funciona.  Lo siento...(27/mayo/2014), pero me siento muy seguro de que pronto 
lo lograr.  De momento, no tiene interface con el usuario, pero se encuentra en 
desarrollo como intrprete de rengln al estilo DOS. 
Me sera de muchsima ayuda, que el grupo POV-Ray siguiera desarrollando la 
versin para DOS.   Los siguientes son enlaces que podran 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 
adaptacin al modo de 64 bits. 
      Descarga sistema operativo FreeDOS 

      Descarga compilador FreePascal 



Dedicado a Jess y Mara.
Sugerencias a :
RofoelCompos@hotmail.com
Apdo. 964-1250. Escaz, San Jos, Costa Rica
http://rofoelcompos.hi5.com
Ultima modificacin del documento: 05/28/2014 15:15:50

