Donación de Rafael Angel Campos Vargas, en noviembre del 2011, 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.
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 "EJNN.inc" ExprimidorJugosNaranjaNatural; crea un sencillo exprimidor casero. Con la posibilidad de pequeñas modificaciones, incluyendo la textura.
Indice de página:
- Instalación de Archivos
- Instrucciones básicas
- Características del objeto
- Modificadores
- Notas y Advertencias
- Sugerencias de modificación
- Sobre LibreN3D
Instalación de Archivos
El procedimiento siguiente es completamente optativo, corresponde simplemente al estándard de la Biblioteca de objetos POV-Ray.Nota: El archivo de prueba "EJNN.pov" puede ejecutarse sin ningún proceso de instalación. Unicamente debería estar ubicado en el mismo folder que "EJNN.inc".
- 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.
- Copie el archivo "EJNN.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.
- 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.
Instrucciones básicas
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto. Se define una macro default, para ubicar el objeto fácilmente. Se incluye además; macros individuales para cada sección del aparato.
![]()
El siguiente ejemplo recurre a la macro default, colocando al objeto en posición base. Note el uso de la variable global max_trace_level; es conveniente hacer la corrección para evitar zonas oscuras desagradables.
global_settings { max_trace_level 10 } #include "stdinc.inc" #include "stdcam.inc" #include "EJNN.inc" object { EJNN_ExprimidorJugosNaranjaNatural( true ) translate <-1.9375,1.6375,-4.75> }La siguiente macro es la macro principal:#macro EJNN_ExprimidorJugosNaranjaNatural( BanderaExprimidor )
- BanderaExprimidor :
- La opción true dibuja el exprimidor; la opción false elimina el decorado peculiar al exprimidor, permitiendo otros usos.
Sus diferentes elementos, pueden dibujarse, con macros independientes. Estas macros, colocan las partes en la misma ubicación que la macro principal. Para dibujar el pichel sin tapa.
#macro EJNN_Pichel( Diametro, Alto, DiametroInterior, TexturaTransparente, BanderaExprimidor )
- Diametro :
- Aproxima el diámetro principal del pichel sin agarradera. Valor default 110*L.
- Alto :
- Alto del pichel sin tapa. Valor default 75*L.
- DiametroInterior :
- Aproxima el diámetro del cilindro interior de agitación, como cota inferior. Valor default 16.5*L.
- TexturaTransparente :
- Textura a aplicar al pichel.
- BanderaExprimidor :
- La opción true dibuja el exprimidor; la opción false elimina el decorado peculiar al exprimidor, permitiendo otros usos.
Para dibujar la tapa del pichel, puede utilizar la siguiente macro.
#macro EJNN_TapaPichel( Diametro, Alto, TexturaTransparente )
- Diametro :
- Aproxima el diámetro principal del pichel sin agarradera. Valor default 110*L.
- Alto :
- Alto del pichel sin tapa, (del pichel NO la tapa). Valor default 75*L.
- TexturaTransparente :
- Textura a aplicar al pichel.
La base del exprimidor se puede dibujar con la siguiente macro.
#macro EJNN_BasePichel( Diametro, Alto, DiametroGiro, AltoBase, TexturaBase, TexturaBarata, TexturaPatita, BanderaExprimidor )
- Diametro :
- Aproxima el diámetro principal del pichel sin agarradera. Valor default 110*L.
- Alto :
- Alto del pichel sin tapa. Valor default 75*L.
- DiametroGiro :
- Aproxima el diámetro del cilindro interior de agitación, como cota superior. Valor default 16.5*L.
- AltoBase :
- Alto total de la base. Valor default 37.5*L.
- TexturaBase :
- Textura a aplicar a la base.
- TexturaBarata :
- Textura a aplicar al soporte superior de giro.
- TexturaPatita :
- Textura a aplicar a las patitas cilíndricas inferiores.
- BanderaExprimidor :
- La opción true dibuja el exprimidor; la opción false elimina el decorado peculiar al exprimidor, permitiendo otros usos.
Para dibujar el filtro de rotación en forma independiente.
#macro EJNN_FiltroJugo( Diametro, Alto, DiametroFiltro, DiametroGiro, TexturaFiltroJugo )
- Diametro :
- Aproxima el diámetro principal del pichel sin agarradera. Valor default 110*L.
- Alto :
- Alto del pichel sin tapa. Valor default 75*L.
- DiametroFiltro :
- Aproxima el diámetro del filtro de rotación. Valor default 100*L.
- DiametroGiro :
- Aproxima el diámetro del cilindro interior de agitación, como cota superior. Valor default 16.5*L.
- TexturaFiltroJugo :
- Textura a aplicar al filtro de rotación.
- BanderaExprimidor :
- La opción true dibuja el exprimidor; la opción false elimina el decorado peculiar al exprimidor, permitiendo otros usos.
El siguiente ejemplo, ilustra el uso de las macros por separado.
global_settings { max_trace_level 10 } #include "stdinc.inc" #include "stdcam.inc" #include "EJNN.inc" object { EJNN_Pichel( 0.110, 0.075, 0.0165, EJNN_DefaultTexturaTransparente, true ) // EJNN_TapaPichel( 0.110, 0.075, EJNN_DefaultTexturaTransparente ) // EJNN_BasePichel( 0.110, 0.075, 0.0165, 0.0375, // EJNN_DefaultTexturaBase, EJNN_DefaultTexturaBarata, // EJNN_DefaultTexturaPatita, true ) // EJNN_FiltroJugo( 0.110, 0.075, 0.100, 0.0375, // EJNN_DefaultTexturaFiltroJugo ) translate <-1.9375,1.6375,-4.75> }
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 exprimidor de jugos default tiene las siguientes características:Altura Pichel sin tapa : 75*L Altura Base : 37.5*L Altura Total con tapa : 134.5*L Radio principal : 58*L (sin agarradera)La base del pichel se encuentra centrada en el origen sobre el plano XY. La tapa hacia Y+, y la base hacia Y-. Y la boquilla hacia X- con la agarradera hacia X+.Las macros EJNN_ExprimidorJugosNaranjaNatural y EJNN_Pichel generan automáticamente una variable de volumen para agregar jugo, de nombre EJNN_VolumenJugo.
Se definen las siguientes variables útiles, que no deberían modificarse. Para su correcta utilización consultar la sección Modificadores
- EJNN_VolumenJugo
- Sirve para agregar jugo al pichel. Se generan automáticamente en algunos macros. Puede utilizarla aplicando la operación CSG intersection { object { EJNN_VolumenJugo } object{ ... } }.
- EJNN_TexturaTransparente
- Textura a aplicar al pichel y la tapa.
- EJNN_TexturaBase
- Textura a aplicar a la base.
- EJNN_TexturaBarata
- Textura a aplicar al extremo superior del cilindro de giro.
- EJNN_TexturaFiltroJugo
- Textura a aplicar al filtro de jugo.
- EJNN_TexturaPatitas
- Textura a aplicar a las patitas negras cilíndricas.
En el siguiente ejemplo, procedemos a agregarle café al exprimidor, que se ha modificado ligeramente.
global_settings { max_trace_level 10 } #include "stdinc.inc" #include "stdcam.inc" #include "EJNN.inc" union { object { EJNN_ExprimidorJugosNaranjaNatural( false ) } intersection { cylinder { 0, 0.020*y, 0.100 } object { EJNN_VolumenJugo } pigment { Black } } translate <-1.9375,1.6375,-4.75> }
Modificadores
La siguiente es la lista de los modificadores permitidos en la unidad (cuando se indica, son valores default).
#declare EJNN_DefaultTexturaTransparente = texture { EJNN_TexturaTransparente }Textura a aplicar al pichel y la tapa.
#declare EJNN_DefaultTexturaBase = texture { EJNN_TexturaBase }Textura a aplicar a la base.
#declare EJNN_DefaultTexturaBarata = texture { EJNN_TexturaBarata }Textura a aplicar al extremo superior del cilindro de giro.
#declare EJNN_DefaultTexturaFiltroJugo = texture { EJNN_TexturaFiltroJugo }Textura a aplicar al filtro de jugo.
#declare EJNN_DefaultTexturaPatitas = texture { EJNN_TexturaPatitas }Textura a aplicar a las patitas negras cilíndricas.
#declare EJNN_POV3_1 = off;Si se activa con "on" produce simplificaciones que permiten su ejecución en la version POVRay 3.1. En algunas versiones de POVRay se activa automáticamente.A manera de ejemplo del uso de los modificadores; un exprimidor de juguete.
global_settings { max_trace_level 10 } #include "stdinc.inc" #include "stdcam.inc" #include "textures.inc" #include "EJNN.inc" #declare EJNN_DefaultTexturaTransparente = texture { pigment { rgbf <1.0,0.8,0.8,0.8> } } #declare EJNN_DefaultTexturaBase = texture { pigment { rgbf <1.0,0.8,0.8,0.8> } } #declare EJNN_DefaultTexturaBarata = texture { pigment { Blue } } #declare EJNN_DefaultTexturaFiltroJugo = texture { average texture_map { [ 0.8 EJNN_TexturaTransparente] [ 0.2 EJNN_TexturaFiltroJugo ] } } #declare EJNN_DefaultTexturaPatita = texture { pigment { White } } object { EJNN_ExprimidorJugosNaranjaNatural( true ) translate <-1.9375,1.6375,-4.75> }
Notas y Advertencias
No olvide ajustar la variable max_trace_level, pues la superficie transparente presenta zonas negras desagradables al valor default de 5 para dicha variable global.La variable EJNN_VolumnenJugo no toma en cuenta la boquilla, y únicamente llena el 90% del volumen.
La textura del filtro de jugo, presenta un patrón de sombras por causas que desconozco en este momento.
Sugerencias de modificación
- Agregarle un calentador metálico opcional a la superficie (opción false); que se pueda activar cuando se quiera darle uso de calentador de agua o similar.
- Agregarle el cable, con características de movimiento.
- Los extractores generalmente tiene indicación de volumen, y alguna marca de fabricante; las texturas podrían añadir opcionalmente estas características.
Sobre LibreN3D
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...(25/octubre/2011), 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.
Descarga sistema operativo FreeDOS
Descarga compilador FreePascal