Archivos de esta coleccin.
Necesarios para ejecucin:
SPUP.inc  	: archivo principal
SPUP_AU1.inc	: archivo auxiliar de macros
SPUP_AU2.inc	: archivo auxiliar generado por Epspline para la pata del sofa
Extras para visualizacin de manual html, no necesita conservarlos
SPUP.html	: instrucciones en html
SPUP_Thumbnail.jpg	
			: dibujo del objeto en pequeo
SPUP.jpg		: resultado con mejor resolucion
SPUP_logoPOVht.jpg	: logo de POV-Ray
SPUP_fp32ht.jpg		: logo de FreePascal
SPUP_freedosht.jpg	: logo de FreeDOS
SPUP_faltaht.jpg	: imagen de LibreN3D
SPUP_backht.jpg		: fondo de texto html
SPUP_cc-LGPL-a.png	: logo de GNU LGPG
SPUP_Epspline.jpg	: icono de Epspline
Extras adicionales
SPUP.pov		: archivo de prueba
SPUP_readme.txt		: este documento

Lo que sigue, puede leerse con mayor facilidad con SPUP_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.

SPUP
Instrucciones para "SPUP.inc" v1.0 

La versin original de la pata del sof, se desarroll en el programa 
Epspline.exe para Windows.  Herramienta auxiliar POVRay para modelar los tipos 
prism y lathe.  Si le interesa obtener una copia del programa, puede buscarla en 
el siguiente enlace:

      agalena.nfshost.com/b1/

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 "SPUP.inc" (SofaParaUnaPersona) dibuja un sof.  
Ofrece una macro para cambiar las caractersticas principales, y arruga el 
asiento en forma algo burda.  El usuario puede usar su propio arreglo de 
deformacin.  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 "SPUP.inc", "SPUP_AU1.inc" y "SPUP_AU2.inc" en dicho 
  subdirectorio;  nicamente stos tres 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 "SPUP.pov" puede ejecutarse sin ningn proceso de 
instalacin.  Unicamente debera estar ubicado en el mismo folder que 
"SPUP.inc", "SPUP_AU1.inc" y "SPUP_AU2.inc". 



Instrucciones bsicas
       
      Sof 
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 "SPUP.inc"
    
    object      {
      SPUP_Sofa(on,0.0) 
      translate                 <-1.8125,1.2625,-4.25>    
    }
La macro fundamental tiene slo dos parmetros. 
    #macro SPUP_Sofa( AsientoRed, FraccionDeformado )    
AsientoRed : 
  "off" ms rapido, no permite deformar el sof;  "on" ms lento, permite 
  deformar el sof. 
  FraccionDeformado : 
  0.0 para deformacin mnima y 1.0 mxima.  Simula en forma burda una 
  deformacin por tomar asiento. 
La siguiente macro permite mucho mayor control en las caractersticas. 
    #macro SPUP_SofaParaUnaPersona( AsientoRed, CorreccionAltura,
                  FrentePrincipal, AltoPrincipal, ProfundidadPrincipal,
                  AltoPrimerNivel, AltoSegundoNivel, FrenteLibre,
                  ProfundidadLibre, AltoAsientoLibre,
                  RadioPata, AltoPata, InternarPata,
                  TexturaPrincipal, TexturaBotonSofa, TexturaPatas,
                  TexturaPrimerNivel, TexturaAsiento )
AsientoRed : 
  "off" ms rapido, no permite deformar el sof;  "on" ms lento, permite 
  deformar el sof. 
  CorreccionAltura : 
  Arreglo real de fracciones propias o unitarias para deformar el sof.  
  Consiste en array [9][4] de valores cercanos a la unidad.  Si agrega 1.0 en 
  todos los campos produce mnimo de deformacin. No utilice valores cercanos a 
  cero (toca fondo) ni negativos.  Puede usar SPUP_CorreccionUnitaria (mnimo) o 
  SPUP_CorreccionAltura (mximo) como parmetros prediseados. 
  FrentePrincipal : 
  Frente total del sof.  Default es 572*L. 
  AltoPrincipal : 
  Alto total del sof.  Default es 515*L. 
  ProfundidadPrincipal : 
  Profundidad total del sof.  Default es 643*L. 
  AltoPrimerNivel : 
  Representa el alto de la base de asiento, sin el asiento.  Default es 200*L. 
  AltoSegundoNivel : 
  Alto desde el piso por encima del brazo.  Default es 350*L. 
  FrenteLibre : 
  Representa el frente libre para tomar asiento.  Default es 350*L. 
  ProfundidadLibre : 
  Representa la profundidad libre para tomar asiento.  Default es 400*L. 
  AltoAsientoLibre : 
  Alto neto de la colcha para sentarse.  Default es 70*L. 
  RadioPata : 
  Radio de las patas.  Default es 21.5*L. 
  AltoPata : 
  Alto de las patas.  Default es 70*L. 
  InternarPata : 
  Distancia para internar el centro de las patas, respecto del borde.  Default 
  es 50*L. 
  TexturaPrincipal : 
  Textura principal del sof.  Default es SPUP_TexturaPrincipal. 
  TexturaBotonSofa : 
  Textura del botn decorativo de los brazos.  Default es SPUP_TexturaBotonSofa. 

  TexturaPatas : 
  Textura de las patas.  Default es SPUP_TexturaPatas. 
  TexturaPrimerNivel : 
  Textura del primer nivel y fondo de asiento.  Default es 
  SPUP_TexturaPrimerNivel. 
  TexturaAsiento : 
  Textura para el asiento.  Default es SPUP_TexturaAsiento. 
En el siguiente ejemplo repetimos el mismo dibujo inicial con la macro 
detallada. 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "SPUP.inc"
    
    object      {
      SPUP_SofaParaUnaPersona( on, SPUP_CorreccionUnitaria,
        0.572, 0.515, 0.643, 0.200, 0.350, 0.350, 0.400, 0.070, 0.0215, 0.070, 0.050,
        SPUP_TexturaPrincipal, SPUP_TexturaBotonSofa,
        SPUP_TexturaPatas, SPUP_TexturaPrimerNivel, SPUP_TexturaAsiento )
      translate                 <-1.8125,1.2625,-4.25>    
    }
En este otro ejemplo diseamos un sof para tres personas. 
    #include "stdinc.inc"
    #include "stdcam.inc"
    #include "SPUP.inc" 
    
    #declare Correccion         = array [9][4] 
      { {1.0,0.9,0.75,0.75 },
        { 1.3,0.9,1,1 },
        { 1.3,0.9,1,1 },
        { 1.3,0.9,1,1 },
        {1.0,0.9,0.75,0.75 },
        { 1.3,0.9,1,1 },
        { 1.3,0.9,1,1 },
        { 1.3,0.9,1,1 },
        {1.0,0.9,0.75,0.75 } }
    
    object      {
      SPUP_SofaParaUnaPersona( on, Correccion, 
        0.800, 0.415, 0.425, 0.150, 0.275, 0.650, 0.300, 0.050, 0.0500, 0.040, 0.060,
        SPUP_TexturaPrincipal, SPUP_TexturaBotonSofa,
        SPUP_TexturaPatas, SPUP_TexturaPrimerNivel, SPUP_TexturaAsiento )
      translate                 <-1.8125,1.2625,-4.25>    
    }



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: 
    Alto Principal Y                    = 515*L
    Frente Principal X                  = 572*L
    Profundidad Principal Z             = 643*L
    Alto Asiento                        = 270*L max
Se ubica sobre el plano XZ, centrado sobre en el origen de coordenadas.  El 
frente sobresale en sentido Z-, gravedad Y-. 
Se generan las siguientes declaraciones que no deberan modificarse.  Para su 
correcta modificacin consultar la seccin Modificadores. 
  SPUP_CorreccionUnitaria 
  Arreglo de valores reales array [9][4] todos iguales a la unidad.  Puede 
  utilizarse como parmetro CorreccionAltura.  Representa la deformacin mnima 
  en la macro bsica. 
  SPUP_CorreccionAltura 
  Arreglo de valores reales array [9][4] entre 0.60 y 1.00.  Puede utilizarse 
  como parmetro CorreccionAltura.  Representa la deformacin mxima en la macro 
  bsica.  La macro bsica genera un arreglo que en notacin simblica podra 
  representarse como sigue:  FraccionDeformado*( 
  SPUP_CorreccionAltura-SPUP_CorreccionUnitaria )+SPUP_CorreccionUnitaria. 
  SPUP_Patas 
  Objeto patas de sof sin textura.  Podra ser til en el diseo de un sof 
  grande. 
  SPUP_DefaultTexturaPrincipal 
  Textura principal del sof. 
  SPUP_DefaultTexturaBotonSofa 
  Textura del botn decorativo de los brazos. 
  SPUP_DefaultTexturaPatas 
  Textura de las patas. 
  SPUP_DefaultTexturaPrimerNivel 
  Textura del primer nivel y fondo de asiento del sof. 
  SPUP_DefaultTexturaAsiento 
  Textura para el asiento. 



Modificadores
La siguiente es la lista de los modificadores permitidos en la unidad. 
    #declare SPUP_TexturaPrincipal       		= 
		texture { SPUP_DefaultTexturaPrincipal }      
Textura principal del sof. 
    #declare SPUP_TexturaBotonSofa			= 
		texture { SPUP_DefaultTexturaBotonSofa }      
Textura del botn decorativo de los brazos. 
    #declare SPUP_TexturaPatas   	      		= 
		texture { SPUP_DefaultTexturaPatas }
Textura de las patas. 
    #declare SPUP_TexturaPrimerNivel         	        = 
		texture { SPUP_DefaultTexturaPrimerNivel }
Textura del primer nivel y fondo de asiento del sof. 
    #declare SPUP_TexturaAsiento         	        = 
		texture { SPUP_DefaultTexturaAsiento }
Textura para el asiento. 
    #declare SPUP_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 "SPUP.inc"  
    #include "stones.inc"                  
    #include "woods.inc"
    
    #declare SPUP_TexturaPrincipal      =  T_Stone25 
    #declare SPUP_TexturaPatas          =  T_Wood2
    #declare SPUP_TexturaPrimerNivel    =  
      texture                           {  
        average
        texture_map                     {  
          [ 0.5 SPUP_DefaultTexturaPrimerNivel ]
          [ 0.5 T_Stone25 ]
        }
      }
    #declare SPUP_TexturaBotonSofa      =
      texture                           {
        average
        texture_map                     {  
          [ 0.5 SPUP_DefaultTexturaBotonSofa ]
          [ 0.5 T_Stone25 ]
        }
      } 
      
    #declare SPUP_TexturaAsiento        = texture { T_Grnt17 scale 0.01 }                                        
    
    object      {
      SPUP_Sofa(off,0.0) 
      translate                 <-1.8125,1.2625,-4.25>    
    }



Notas y Advertencias
Si utiliza texturas uniformes, es recomendable no deformar el asiento.  Texturas 
de rico colorido mitigan los defectos del recubrimiento triangular. 
Vare los parmetros en forma consistente.  Brazos muy grandes tienden a formar 
desagradables espacios vacos entre los mismos. 
Si crea su propia arreglo de deformacin, cuide de utilizar valores entre 0.50 y 
1.25.  Tome en cuentra que el valor de 1.00 en todos los campos no es homogneo. 
 Representa ninguna deformacin relativa a la forma original. 



Sugerencias de modificacin
  Utilizar tringulos planos en vez de tringulos curvilneos podra aumentar 
  velocidad.  
  Que el modo de deformacin cero y la desactivacin de la interpolacin 
  produzcan el mismo relieve. 
  Aumentar la capacidad de los parmetros para variaciones de diseo ms 
  profundas.  Pese a tener muchos parmetros, el modelo bsico permanece casi 
  inalterado. 



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...(13/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/13/2014 19:28:14

