Autor Tema: Observaciones, Dudas y Consultas Eagle3D  (Leído 17893 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #15 en: 22 de Mayo de 2009, 10:49:21 »
POVRay ofrece muchas posibilidades a la hora de crear fondos y os tocará a vosotros experimentar con los diferentes pigmentos de materiales ya establecidos. tan sólo se necesita modificar aquella parte del código que hace referencia a ellos.

en este caso uso el patrón 'crackle', que genera un conjunto de celdas de forma aleatoria y al que le aplico un mapa de colores (colour_map). este es el código una vez modificado:

Código: [Seleccionar]
box { <0,0,0> <1,1,0.1>
      pigment {
        crackle
        turbulence 1.5                        
        colour_map {
                   [0.05 colour rgb<1, 0, 0> ]
                   [0.08 colour rgb<0, 1, 1> ]
                   [0.10 colour rgb<0, 1, 1> ]
                   [1.00 colour rgb<0, 0, 1> ]
                   }                           //cierra colour_map
        scale 0.3
              }                                //cierra pigment
      finish {Shiny}                           //añade brillo al fondo
      translate <-0.5,-0.36,-0.8>              //posición centrada
      translate 2*z
      scale 65                                 //distancia al fondo
      OrientZ(<0,65,-6>,<0,0,3>,<0,1,0>)
    }                                          //cierra box


cambiando el valor de 'turbulence' así como la escala de 'crackle' (scale 0.3) cambiamos por completo el dibujo generado. en la parte izquierda de la imagen podemos verlo con 'turbulence = 0.5' y en la derecha con 'turbulence = 2.5'. podéis probar a cambiar colores igualmente



un saludo, y no olvidaros de incluir la macro que ya se vió en el primer ejemplo.

« Última modificación: 07 de Julio de 2010, 10:16:06 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #16 en: 22 de Mayo de 2009, 14:47:59 »
hola

respondiendo a una consulta que provocó la pcb publicada por AKENAFAB:

para determinar otros colores en nuestra imagen de la pcb hemos de dirigirnos a la pestaña Color del ulp de Eagle3D, cuya configuración podemos adaptar a nuestro gusto. por defecto, en la configuración predeterminada veremos esto:



que hemos de cambiar a una definición de usuario:



y establecer entonces los parámetros manualmente en sus correspondientes desplegables:



incluso es posible crear colores a nuestro gusto en el caso de no estar presentes...

un saludo

Nota: los textos serán diferentes en vuestra versión... a mi me resultaban innecesariamente confusos y los he adaptado a mi gusto.

« Última modificación: 07 de Julio de 2010, 10:17:09 por xocas06 »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #17 en: 22 de Mayo de 2009, 15:05:57 »
Citar
hola

respondiendo a una consulta que provocó la pcb publicada por AKENAFAB:

Para lograr cosas como estas:

Gracias Xocas!
No contesto mensajes privados, las consultas en el foro

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #18 en: 23 de Mayo de 2009, 11:49:14 »
bueno, veamos un par de fondos más. salvo que haya un cambio de opinión solo se volverá a tocar este tema para hablar de los campos de altura.

en este ejemplo usamos 'checker' para generar una trama compuesta por cubos de colores (o pigmentos) alternos. para probar con colores tenéis que retirar las barras de comentario (//) de la instrucción 'color' y añadírsela a la instrucción 'pigment'. como podéis ver, también es posible jugar con la escala del pigmento y el hecho de añadir 'turbulence' cambia radicalmente la imagen:

Código: [Seleccionar]
box { <0,0,0> <1,1,0.1>
  pigment {
     checker
      //color Tan                                //colores o
      //color Gray50                             //pigmentos
      pigment {Jade}                            
      pigment {Tan_Wood scale 0.3}               //pigmento escalado
      scale 0.15                                 //tamaño cuadrados
      //turbulence 0.5
          }                                      //cierra pigment
     translate <-0.5,-0.36,-0.8>                 //posición centrada
     translate 2*z
     scale 65                                    //distancia al fondo
     OrientZ(<0,65,-6>,<0,0,3>,<0,1,0>)
    }




en este caso vamos a ver el modificador 'warp' que funciona de forma parecida a 'turbulence' pero que en algunos casos soluciona problemas creados por éste. 'warp' no es aleatorio

Código: [Seleccionar]
box { <0,0,0> <1,1,0.1>
pigment{ DMFWood4 scale 0.2 translate <1/2,0,1>
         rotate x*85 translate 10*y
         warp{repeat x*2 offset z*1.5}        
       }                                         //cierra pigment
     translate <-0.5,-0.36,-0.8>                 //posición centrada
     translate 2*z
     scale 65                                    //distancia al fondo
     OrientZ(<0,65,-6>,<0,0,3>,<0,1,0>)
    }




modificar vosotros mismos los valores y/o ejes de la instrucción 'pigment' para apreciar mejor como funciona. no estoy cuidando en absoluto los fondos y lo estoy haciendo de propósito, no me apetece que simplemente os vayáis a un copy/paste porque con eso no se aprende. para entenderlo lo mejor es experimentar...

todas las instrucciones vistas tienen una serie de modificadores que no he tratado, una descripción más detallada la encontraréis en la ayuda de POVRay. y una excelente ayuda sobre color, pigmentos y demás la tenéis aquí: http://www.f-lohmueller.de/pov_tut/tex/tex_000e.htm.

un saludo



« Última modificación: 07 de Julio de 2010, 10:18:33 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #19 en: 23 de Mayo de 2009, 11:58:04 »
cdrpo, si recuerdas, la imagen de fondo que genera Eagle3D por defecto se basa en un cielo azul con nubes sobre un mar que lo refleja. esto es lo que veo en la imagen que me has enviado, un patrón 'checker' reflejando ese cielo y eso se logra mediante el uso del modificador adecuado...




Nota: desconozco la procedencia de esta imagen, únicamente la publico a efectos de referencia. si alguien considera que no debo hacerlo por favor que me lo comunique y la retiro


« Última modificación: 07 de Julio de 2010, 10:19:16 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #20 en: 23 de Mayo de 2009, 13:42:32 »
bueno, hice unos pequeños cambios para ver algo sobre los modificadores. concretamente usando 'finish'. a la imagen con la que estamos trabajando hasta ahora le añadí el cielo (sky_sphere) copiándolo directamente del código generado por Eagle3D y modificando tan sólo la última línea para que se apreciara mejor el efecto:
scale <0.1, 0.5, 0.1> } rotate -90*x } pasa a ser: scale <0.1, 0.5, 0.1> } rotate -90*y translate <1,0,0> }

posteriormente le aplicamos 'finish' con una serie de modificadores cuyo valor hemos de ajustar hasta lograr nuestro propósito. el código final queda así:

Código: [Seleccionar]
#macro OrientZ(p1,p2,cs)
  #local nz = vnormalize(p2-p1);
  #local nx = vnormalize(vcross(cs,nz));
  #local ny = vcross(nz,nx);
  matrix <nx.x,nx.y,nx.z, ny.x,ny.y,ny.z, nz.x,nz.y,nz.z, p1.x,p1.y,p1.z>          
#end

sky_sphere {pigment {Navy}
pigment {bozo turbulence 0.65 octaves 7 omega 0.7 lambda 2
color_map {
[0.0 0.1 color rgb <0.85, 0.85, 0.85> color rgb <0.75, 0.75, 0.75>]
[0.1 0.5 color rgb <0.75, 0.75, 0.75> color rgbt <1, 1, 1, 1>]
[0.5 1.0 color rgbt <1, 1, 1, 1> color rgbt <1, 1, 1, 1>] }
scale <0.1, 0.5, 0.1> } rotate -90*y translate <1,0,0> }


box { <0,0,0> <1,1,0.1>
  pigment {
     checker
      color Blue                                 //colores o
      color Gray50                               //pigmentos
      //pigment {Jade}                            
      //pigment {Tan_Wood scale 0.3}             //pigmento escalado
      scale 0.08                                 //tamaño cuadrados
           }                                     //cierra pigment    
      finish{
      diffuse 0.3
      ambient 0.0
      specular 0.6
      reflection { 0.8 }                         //podéis probar con: reflection { 0.8 metallic }
      conserve_energy
             }                                   //cierra finish
     translate <-0.5,-0.36,-0.8>                 //posición centrada
     translate 2*z
     scale 65                                    //distancia al fondo
     OrientZ(<0,65,-6>,<0,0,3>,<0,1,0>)
    }


y la imagen generada (de nuevo sin pararme con el ajuste):



un saludo

« Última modificación: 07 de Julio de 2010, 10:20:06 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #21 en: 25 de Mayo de 2009, 15:07:51 »
vamos a terminar el tema de los fondos viendo algo sobre 'height_field' (campo de altura), que tantas posibilidades nos brinda. el principio es sencillo, pero lograr buenos resultados implica una cierta experiencia. se parte de una imagen con tonos de gris (puede ser también en color, pero el resultado es muy diferente y más difícil de predecir) creada con un programa de gráficos como puede ser Photoshop o Gimp.

para que os sea más fácil practicar voy a usar un par de ejemplos que ya forman parte de POVRay, sus nombres son: crater_dat.pov y crater.pov y se hayan en la carpeta /scenes/objects de POVRay. es necesario renderizar primero crater_dat.pov ya que genera una imagen que crater.pov necesita para usarla como height_field. veamos un poco por encima que hacen cada uno de estos archivos .pov...

crater_dat.pov:
.- unos comentarios acerca de la conveniencia de usar el formato .png que trabaja con una salida de 16bits de grises, a pesar de que otros formatos de imagen son también válidos. para activar png como formato de salida nos recuerda el uso de +FN
.- en global_settings establece los parámetros de gamma (que veremos posteriormente aunque ya os adelanto que el valor 2.2 es el adecuado para la mayoría de pc's con windows, si usáis mac reducir ese valor a 1.5 o incluso 1) y hf_gray_16 que sirve precisamente para generar 'heightfields'
.- a continuación crea un plano en el eje z usando el pigmento 'wrinkles' y el modificador 'hollow'. podéis cambiar 'wrinkles' por 'waves'para apreciar un cambio importante.
.- luego tenemos una serie de focos con diferente radio, color y caída (desvanecimiento. lo veremos también al tratar las luces. modificar el radio os dará una buena pista de como funciona en la imagen final.

imagen generada con los valores por defecto:


crater.pov:
.- indica la gamma, la cámara y las luces de la escena
.- usa height_field para crear el campo de altura
.- si se usó y se usa en todo momento el comando +FN al renderizar no será necesario indicar el tipo ni la extensión, de lo contrario cambiar la línea para dejarla así:
height_field {
  png "crater_dat.png" smooth (o el formato que se haya usado)

y este es el resultado:


la síntaxis de height_field. encontraréis más info en la ayuda de POVRay:
HEIGHT_FIELD:
  Jump to SDL height_field { HF_IMAGE [HF_MODIFIERS] }
HF_IMAGE:
  FUNCTION_IMAGE | [HF_TYPE] FILE_NAME
HF_TYPE:
  gif | tga | pot | png | pgm | ppm | jpeg | tiff | sys
HF_MODIFIERS:
  [hierarchy [BOOL]] & [smooth] & [water_level FLOAT] & [OBJECT_MODIFIERS]

cuando usamos Photoshop, Gimp o similar para crear la imagen hemos de tener presente que las zonas negras no se elevan, lo hacen las blancas y su elevación varía conforme a su porcentaje de gris. para que la imagen no sea 'muy dura' o por el contrario 'muy plana' no conviene usar negros ni blancos puros si no basarnos en zonas de gris de más claro a más oscuro. no creo necesario explicar porque es mejor usar 16bits en lugar de 8 porque doy por sentado que ya lo sabéis. para conseguir que las transiciones sean más suaves conviene igualmente dar un cierto desenfoque gaussiano a la imagen. es difícil lograr lo que se busca a la primera, y la práctica es vital.

un saludo
« Última modificación: 07 de Julio de 2010, 10:20:58 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #22 en: 25 de Mayo de 2009, 15:43:14 »
ahora veamos un ejemplo aplicado a nuestra pcb de Eagle3D. lo primero, establezco algunas cosas para obtener un punto de vista personalizado y desactivo el entorno por defecto:

Código: [Seleccionar]
#declare env = off;

#local cam_x = 10;
#local cam_y = 160;
#local cam_z = -87;
#local cam_a = 20;
#local cam_look_x = 0;
#local cam_look_y = -2;
#local cam_look_z = 5;

#local pcb_rotate_x = 0;
#local pcb_rotate_y = 10;
#local pcb_rotate_z = 0;

lógicamente, estes parámetros cambian según el tamaño de la pcb y nuestro propio gusto a la hora de presentar la imagen. estos valores que os doy son los empleados en el ejemplo realizado.

decía al principio del tema que los valores de las luces por defecto no son muy afortunados en Eagle3D así que también he modificado éstas:
.- desactivo mediante comentarios las líneas de las luces. en POVRay, dos barras (//) establecen una línea como un comentario y el juego /* */ abren y cierran una serie de líneas comentadas

Código: [Seleccionar]
background{col_bgr}

/*        //convierto en comentarios:      
light_source{<lgt1_pos_x,lgt1_pos_y,lgt1_pos_z> White*lgt1_intense}
light_source{<lgt2_pos_x,lgt2_pos_y,lgt2_pos_z> White*lgt2_intense}
light_source{<lgt3_pos_x,lgt3_pos_y,lgt3_pos_z> White*lgt3_intense}
light_source{<lgt4_pos_x,lgt4_pos_y,lgt4_pos_z> White*lgt4_intense}
*/       //final de comentarios

//establezco nuevas luces:
light_source {<30,70,-30> White*1.8 parallel point_at <10,10,20>}
light_source {<30,70,-50> SteelBlue*.8}

#end

el tema de las luces se tratará en próximos capítulos dada su importancia.

en los ejemplos anteriores se crearon fondos partiendo de una caja (box) pero en este caso prescindiremos de ese código ya que vamos a usar 'plane' para crear un par de fondos, uno en el eje 'y' y otro en el eje 'z'. insertamos el siguiente código al final del archivo .pov:

Código: [Seleccionar]
plane{y, -10.0-max(pcb_x_size,pcb_y_size)*abs(max(sin((pcb_rotate_x/180)*pi),sin((pcb_rotate_z/180)*pi))) }
height_field {
  png "crater_dat.png" smooth
  pigment {SteelBlue}
  translate <-.5, -0.6, -.5>
  scale <130, 9, 100>
}

plane {z,22  pigment {Red} rotate <-5,10,10>}


text { ttf "crystal.ttf", "Eagle3D", 2, 0
  translate <-1.5, 0.35, 19.5>
  pigment { color rgb <0.7, 0.5, 0> }
  finish {
     ambient 0.2
     diffuse 0.6
     phong 0.3
     phong_size 100
     }
  scale <10, 10, 1>
  rotate <0, 10, 0>
  }

y esta es la imagen resultante:


una vez más, los valores de escala y desplazamiento son los adecuados al ejemplo y tendréis que modificarlos según vuestras necesidades o gustos. he añadido un texto también como podéis ver.

un saludo

pd: creo que ya tenéis un buena base para crear ese fondo del ejemplo de Matthias, que tanto gusta a cdrpo...

« Última modificación: 07 de Julio de 2010, 10:21:50 por xocas06 »

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #23 en: 27 de Mayo de 2009, 15:51:54 »
este es el código que genera el conocido fondo de Eagle3D, y que tomo prestado para mi propio fondo cambiando textura y escala:

Código: [Seleccionar]
plane{y, -10.0-max(pcb_x_size,pcb_y_size)*abs(max(sin((pcb_rotate_x/180)*pi),sin((pcb_rotate_z/180)*pi)))  
texture{T_Chrome_2D
normal{waves 0.1 frequency 3000.0 scale 3000.0}} translate<0,0,0>}

además tomo también una porción del código que usa Visu3D cuando se genera la imagen. solo me interesa la rejilla... y el código se queda así (tras modificarlo a mi gusto):

Código: [Seleccionar]
plane{y, -10.0-max(pcb_x_size,pcb_y_size)*abs(max(sin((pcb_rotate_x/180)*pi),sin((pcb_rotate_z/180)*pi)))  
texture{DMFWood3 scale 1500 }
     }

// Visu3D Version 1.9
// EYNARD Pascal - www.typonrelais.com

#declare NbLigne = 12;
#declare CGrille = 1;
#declare Pas = 8 / CGrille;
#declare Max = NbLigne * CGrille;
#declare MaxCoupe = NbLigne * Pas;

// Balayage X / X grid
#declare AxeCountX = - Pas * Max;
#while (AxeCountX < Max* Pas)
  cylinder { <0, 0, - Pas * Max> <0,0,Pas * Max> 0.05 pigment {Gray65} rotate <180,30,0> translate <AxeCountX,-9.8,0> }
#declare AxeCountX = AxeCountX + Pas;
#end

// Balayage Z / Z grid
#declare AxeCountZ = - Pas * Max;
#while (AxeCountZ < Max* Pas)
  cylinder { <0, 0, - Pas * Max> <0,0,Pas * Max> 0.08  pigment {Gray65} rotate <0,90,180> translate <0,-9.8,AxeCountZ> }
#declare AxeCountZ = AxeCountZ + Pas;
#end

//Parts not found in 3dpack.dat or 3dusrpac.dat are:

esta es otra opción posible:
Código: [Seleccionar]
plane{y, -10.0-max(pcb_x_size,pcb_y_size)*abs(max(sin((pcb_rotate_x/180)*pi),sin((pcb_rotate_z/180)*pi)))  
texture{DMFWood3 scale 1500 }
     }

#declare I=-50;
#while (I < 60)
  box {<-50,-9.3,0+I>,<50,-8,2+I> pigment {Blue_Agate turbulence 1.5} rotate <0,120,0> }
  #declare I=I+5.8;  
  
#end

//Parts not found in 3dpack.dat or 3dusrpac.dat are:

por supuesto, cambiar valores para ver mejor como funcionan y/o adaptarlos a vuestras preferencias. aquí tenemos las imágenes:

imagen generada desde Visu3D:


imagen basada en el código de Visu3D:


otra imagen posible, hecha con el segundo código:


esta es una respuesta a un correo recibido. no tengo inconveniente en seguir respondiendo a vuestras consultas, aunque si me gustaría que todo lo relacionado con este hilo se haga aquí y así todos participamos y no me quedo con esta rara sensación de consultoría privada. nuestras/vuestras dudas también son las dudas de otros...

un saludo

« Última modificación: 07 de Julio de 2010, 10:24:09 por xocas06 »

Desconectado cdrpo

  • PIC18
  • ****
  • Mensajes: 317
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #24 en: 07 de Julio de 2009, 23:32:33 »
Xocas eres un maestro en POVRAY, estoy aprendiendo de tus aportes,
Me puedes decir que software es el de la captura siguiente?



Suerte

PD: Tutorial en Aleman
http://www.b-redemann.de/sp-eagle3d.shtml

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #25 en: 08 de Julio de 2009, 07:25:02 »
hola

estoy haciendo cambios drásticos en el pc y no tengo nada instalado de momento salvo un navegador, gestor de correo y -por supuesto- música, así que para evitar que la memoria me traicione, mejor te lees las páginas 26 y 27 del manual básico: http://www.todopic.com.ar/foros/imgxocas/3dbasico.pdf

es la asignación de componentes de eagle3D, que en alemán parece una cosa terrible...

un saludo

pd: que cosas pasan, una web en alemán con un enlace a una web en italiano para descargar mi manual en castellano  8) 8)

Desconectado Drod

  • PIC16
  • ***
  • Mensajes: 136
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #26 en: 18 de Septiembre de 2009, 10:01:38 »
Para rotacionar la placa 360 grados en el eje y,

solo tengo que poner el "#local pcb_rotate_y = 360*clock;"???????????????

Yo hice esto pero solo genera un image a 0 grados..  :(


Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #27 en: 18 de Septiembre de 2009, 12:09:54 »
he tratado de explicar cómo se hace en este pequeño manual: Animaciones

y en este otro tienes algunas cosas sobre logos: Logotipos

consulta cualquier duda que tengas

Desconectado Drod

  • PIC16
  • ***
  • Mensajes: 136
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #28 en: 18 de Septiembre de 2009, 15:42:58 »
Madre mia que tonto soy!!!!!!! jaja!

Ya estaba siguiendo el tutorial!

Pero yo estava editando el archivo .inc, sin abrirlo en el pov ray!!

Ahora si! Jo que deprisa va la animación!!!!!!!!!!!

60 imagenes em resolucion máxima em poco tiempo!


Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1696
Re: Observaciones, Dudas y Consultas Eagle3D
« Respuesta #29 en: 28 de Septiembre de 2009, 22:51:05 »
apena me puse a ensayar con el eagle3d y resulta q en mi portatil no me sirve, lo q hice para probar fue tomar el ejemplo que tiene eagle, darle autorouter y luego crear el archivo .POV luego abro el archivo .POV y cuando le doy Run me sale un error en la linea #include "tools.inc" el error dice "cannot open include file tools.inc mi portatil tiene vista e instale todo por defecto no cambie las rutas. q puede ser?...en otro pc con XP si me funciona
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA