Hoy:

18 feb 2017

Evolvotron, veterana aplicación muy interesante

Después de algún tiempo regreso para dar algo de dinamismo al blog.
Este nuevo año 2017 vamos a empezar con Evolvotron, una vieja aplicación gráfica poco conocida que siempre me gustó mucho y que ha sido muy práctica para mí.

¿Qué hace?
Pues como dice su autor, es un programa que genera imágenes artísticas de forma aleatoria. Nos puede ser útil para nuestras creaciones, para la web, para diseño de portadas, para menu de DVD, para videos..etc.

Depende del comando generará imágenes estáticas o animaciones (muy interesante para crear introducción de videoclips).
Suele estar en los repositorios de cualquier distribución Linux.
Voy a explicar un poco cómo funciona y cómo distribuyo mi trabajo con este programa:

- El comando principal es evolvotron, que nos lanzará una rejilla de 6x5 muestras aleatorias, con una calidad básica de muestras por píxel:


 - Si hacemos clic en cualquier rejilla nos mostrará otros ejemplos con mutaciones de la función que hemos elegido. Por ejemplo haciendo clic en esta:
Nos da este otro resultado, variaciones aleatorias de la función elegida:
Pero hay mucho más....

Vamos a profundizar un poco en las posibilidades, y veréis lo interesante de esta aplicación.
En primer lugar las opciones principales para evolvotron si queremos crear un script para lanzar la aplicación con resultados personalizados:
  • -g, --grid      columnasxfilas  (por defecto 5x6)
  • -m, --multisample      muestras por pixel en la rejilla (por defecto 1, yo suelo usar 3)
  • -j, --jitter     da un cierto aliasing al resultado
  •  -F, --fullscreen     si queremos que se muestre a pantalla completa
  • -M, --menuhide    ocultamos barra de herramientas y menu
Animando!!

Pues efectívamente , una de las opciones más gratificantes para crear es usar:
  • -f, --frames    frames, cuadros
  • -s, --fps     segundos  (por defecto 8)
Script que uso:

 #/bin/bash
 evolvotron -m 3 -f 120 -s 20 -a -g 5x5

Esto da una transición muy equilibrada para tener una base de trabajo.

Lo he guardado como Evolvotron_anim.sh en /usr/local/bin, con permisos de ejecución.
He creado un icono y lo he puesto en el escritorio como lanzador. 
Resulta algo así:




-Si no nos gusta el resultado podemos pulsar la tecla R para resetear y presentar otras variaciones
-Si nos gusta alguno pero queremos alguna varición más haremos clic en su celda
-Si nos gusta pero necesitamos probar otros colores, haremos clic en la celda, botón derecho y elegimos: Respawn_recoloured:


Y obtendremos este estupendo resultado !!!


Ahora supongamos que ya hemos decidido con cual vamos a trabajar, pues en ese caso guardamos su función matemática para tratarla posteriormente:



Guardamos la función, un archivo xml, en un directorio vacío, donde podamos trabajar. En este ejemplo lo he guradado como anim_evolvotron.xml

¿Qué vamos a hacer ahora con este archivo?  
Con uno de los comandos de Evolvotron vamos a renderizar la función con el resultado de una serie de imágenes en formato png que después codificaremos como video mp4. 
Atentos:

Entramos en la carpetaa donde está anim_evolvotron.xml:


Y ahora viene la magia, escribimos: 
evolvotron_render -s 1024x768 -m 2 -j -f 200 < anim_evolvotron.xml -o anim_evolvotron.png



-s 1024x768     El tamaño de las imágenes
-m 2            Las muestras por pixel para darle algo de calidad
-j              Jitter, algo de antialiasing
-f 200          200 frames o imágenes

Las imágenes renderizadas

Ahora para codificar el video vamos a hacerlo desde terminal, no vale la pena usar ningún editor como Openshot o Avidemux :
ffmpeg -i anim_evolvotron.f%6d.png -c:v libx264 -preset veryslow -crf 0 animacion_final.mp4


Resultado final

¿Qué os ha parecido? Una aplicación muy interesante

--------------------------------------------------------------------------------------------------------------------------
Como he comprobado el interés que ha despertado en un tiempo atrás el programa Kmotion para videovigilancia, y teniendo en cuento que con las últimas distribuciones no funciona demasiado bien ya que su desarrollo se ha parado voy a crear un nuevo artículo para tratar sobre otro que a mí personalmente me gusta mucho: Motioneye