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

Donación de Rafael Angel Campos Vargas, en el año 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.

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 "D7OR.inc" (Disco700MBOnlyRead) dibuja una caja para CD con disco.  Se puede modificar la imagen y otras características.  Algunas macros internas no fueron documentadas para ahorra tiempo, puesto que se consideraron de poco interés para el usuario final.  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 archivo "D7OR.inc" y "D7OR_IM1.gif" en dicho subdirectorio;  únicamente éstos dos 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 "D7OR.pov" puede ejecutarse sin ningún proceso de instalación.  Unicamente debería estar ubicado en el mismo folder que "D7OR.inc" y "D7OR_IM1.gif".


Instrucciones básicas

Caja para CD
Muy fácil de usar, tan simple como incluir el archivo y ubicar el objeto.  Conviene elevar el valor de la variable global max_trace_level para mejorar la calidad de la imagen final.

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "D7OR.inc"
    
    global_settings             {  
      max_trace_level           8
    }
    
    object      {
      D7OR_CajaCD( on, 20, "" ) 
      translate                 <-1.9375,+1.6375,-4.8500>
    }

La macro fundamental tiene tres parámetros.

    #macro D7OR_CajaCD( BanderaDisco, AnguloAbrir, NombreImagenGIF )
BanderaDisco :
"on" dibuja el CD interior.  "off" no lo dibuja.
AnguloAbrir :
Angulo en grados de apertura de la caja.
NombreImagenGIF :
Para cambiar fácilmente la portada del disco.  Indique el nombre del archivo GIF como String.  Si utiliza "" sin nombre, se dibuja la portada de "Nudos Iniciales".

En el siguiente ejemplo cambiamos la portada del disco:

    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "D7OR.inc"
    
    global_settings             {  
      max_trace_level           8
    }
    
    object      {
      D7OR_CajaCD( on, 0, "D7OR_IMP.gif" ) 
      translate                 <-1.9375,+1.6375,-4.8500>
    }


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 tiene las siguientes características:
    PuntoMinimo			= < 0, 0, -GruesoCaja >
    PuntoMaximo			= < LargoCaja, AltoCaja, 0 >
    LargoCaja			= 100*L
    AltoCaja			=  87*L
    GruesoCaja			=   7*L
El frente del disco mira hacia Z-.  El eje de giro cercano al eje Y, gravedad Y-.

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

D7OR_DefaultMaterialPrincipal
Material principal de la caja.
D7OR_DefaultMaterialDecoradoPrincipal
Material para el decorado lateral, superior e inferior.
D7OR_DefaultMaterialSoporte
Material para el soporte interno del disco.
D7OR_DefaultTexturaCaratulaDisco
Textura del papel para la cara frontal de la caja.
D7OR_DefaultTexturaLabelPosterior
Textura del papel para la caja posterior de la caja.
D7OR_DefaultTexturaLabelLateralDerecha
Textura del papel para el lateral derecho de la caja.
D7OR_DefaultTexturaLabelLateralIzquierda
Textura del papel para el lateral izquierdo de la caja.
D7OR_DefaultTexturaCentralDisco
Textura para el centro del disco CD.
D7OR_DefaultTexturaMetalDisco
Textura metálica del disco CD.
D7OR_DefaultTexturaLabelFrente
Textura para la etiqueta del disco CD.


Modificadores

La siguiente es la lista de los modificadores permitidos en la unidad.
    #declare D7OR_MaterialPrincipal		=
	texture  { D7OR_DefaultMaterialPrincipal }
Material principal de la caja.

    #declare D7OR_MaterialDecoradoPrincipal	=
        texture  { D7OR_DefaultMaterialDecoradoPrincipal }
Material para el decorado lateral, superior e inferior.

    #declare D7OR_MaterialSoporte		=
	texture  { D7OR_DefaultMaterialSoporte }
Material para el soporte interno del disco.

    #declare D7OR_TexturaCaratulaDisco		=
	texture  { D7OR_DefaultTexturaCaratulaDisco }
Textura del papel para la cara frontal de la caja.

    #declare D7OR_TexturaLabelPosterior		=
	texture  { D7OR_DefaultTexturaLabelPosterior }
Textura del papel para la cara posterior de la caja.

    #declare D7OR_TexturaLabelLateralDerecha	=
	texture  { D7OR_DefaultTexturaLabelLateralDerecha }
Textura del papel para el lateral derecho de la caja.

    #declare D7OR_TexturaLabelLateralIzquierda	=
	texture  { D7OR_DefaultTexturaLabelLateralIzquierda }
Textura del papel para el lateral izquierdo de la caja.

    #declare D7OR_TexturaCentralDisco		=
	texture  { D7OR_DefaultTexturaCentrarDisco }
Textura para el centro del disco CD.

    #declare D7OR_TexturaMetalDisco		=
	texture  { D7OR_DefaultTexturaMetalDisco }
Textura metálica del disco CD.

    #declare D7OR_TexturaLabelFrente		=
	texture  { D7OR_DefaultTexturaLabelFrente }
Textura para la etiqueta del disco CD.

    #declare D7OR_POV3_1			= off;
Para activar modo de compatibilidad con POVRay 3.1.  En algunas versiones se activará 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 "textures.inc"
    #include "D7OR.inc"
    
    global_settings             {  
      max_trace_level           8
    }

    #declare D7OR_MaterialPrincipal              = material { M_Glass }  
        
    #declare D7OR_MaterialDecoradoPrincipal      = material { M_Ruby_Glass } 
    
    #declare D7OR_MaterialSoporte                = material { M_Yellow_Glass }
          
    #declare D7OR_TexturaCaratulaDisco           = texture  { PinkAlabaster }   
    
    #declare D7OR_TexturaLabelPosterior          = texture  { Lightning1 }
    
    #declare D7OR_TexturaLabelLateralDerecha     = texture  { pigment { Blue } }   
    
    #declare D7OR_TexturaLabelLateralIzquierda   = texture  { pigment { Green } }    
      
    #declare D7OR_TexturaCentralDisco            = texture  { Cork } 
    
    #declare D7OR_TexturaMetalDisco              = texture  { Aluminum }    

    #declare D7OR_TexturaLabelFrente             = texture  { pigment { Cyan } }
                        
    object      {
      D7OR_CajaCD( on, 90, "" )   
      rotate            60*y
      translate                 <-1.9375,+1.6375,-4.8500>
    }


Notas y Advertencias

En el interior del archivo existen macros que podrían resultar útiles para modificar las características.  También podría generar el disco CD en forma independiente.

Las etiquetas del papel se diseñaron utilizando box { ... } divididos a la mitad por alguno de los planos cartesianos.  Utilice patrones checker para ubicar imágenes diferentes en ambas caras.

Si no eleva el valor de la variable global max_trace_level, aparecen gran cantidad de rayas negras antiestéticas.


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...(18/noviembre/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 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