Software Creación Digital e Interactiva

La siguente es una lista de software libre para el diseño y creación digital e interactivo, que corre bajo plataforma linux, pero creo que en su mayoría son multiplataforma, que nos pueden ayudar en el diseño, maquetación y construcción de nuestros proyectos.

PD + GEM Es un entorno de programación gráfica en tiempo real, para el desarrollo en audio, video y procesos gráficos. También tiene librerías de tracking de video como PDP y PIDIP, que hasta el momento solo me han funcionado en distros i386.







Blender Suite de diseño y desarrollo 3D con programación python.











Processing entorno y lenguaje de programación basado en java, para ayudar al desarrollo de applets y aplicaciones con imagenes animaciones e interactividad










Processing Mobile versión de processing el desarrollo de aplicaciones para móbiles.





ReacTIVision librería de tracking de video para pd, processing, java, C# y C++.





Arduino Es una plataforma de prototipado electrónico de fácil uso que incluye software y hardware.





Ogre Potente plataforma de desarrollo 3D con programación en C++, empleada principalmente para el desarrollo de juegos.





Fritzing Software que ayuda al prototipado físico paso a paso, pensado para diseñadores y artistas, y que incluye el chip arduino.





Synfig Potente herramienta para el desarrollo de animaciones vectoriales 2D, pensado para producir filmes animados de calidad con pocas personas y pocos recursos.






Alice Es un programa educacional para desarrollar animaciones 3D, que incluye un entorno y lenguaje de programación orientado a objetos, muy útil para los que quieran iniciar en el diseño y programación 3D y nunca antes lo habían hecho. Hasta el momento solo me ha funcionado en distros i386.




Cinema Redux


Y para todo aquellos que querían ver una película de la manera más rápida, llega Cinema Redux, un proyecto de Brendan Dawes, en el cual toda la información temporal es contenida en una sola imagen.

Lo que hace es desplazarse por la materialidad misma del filme, la cinta de película, en la que cada cuadro de la imagen resultante representa un minuto del film original.

Ahora si sabremos que tan rojo, azul o blanco eran la trilogía de colores de Krystof Kieslowski.

Cartografía Acústica Digital

Este proyecto de daniel rothaug es un evento muy interesante de traducción sónica a imagen digital, algo en lo cual se está trabajando mucho, y en lo cual parece haber un gran campo de exploración.

Aqui se toma la bidimensionalidad de la imagen para construir en base a un modelado 3d de las ondas sonoras una deformación en la imagen, de acuerdo a la temporalidad e intesidad del sonido.

ver video

En lo personal me atrae este tipo de manipulación de la imagen, me parece un intento para tratar de "completarla", es decir intentar tener un acceso visual a la información sonora y además involucrar una temporalidad determinada en un solo instante.

Net Worth/Valor neto

Valor Neto, en contraposición al sistema económico que rije la jerarquización social, plantea un nuevo sistema de valores en el cual la información básica es la principal fuente.

El montaje consta de un lector de tarjetas magnéticas y una proyección frontal, en la cual se muestran los nombres de los participantes. Es decir lo visitantes pueden adquirir una especie de tarjeta de crédito en la cual está grabada la información de su nombre. Deslizándo esta tarjeta el programa busca la incidencia que tiene el nombre en la red, y según eso lo ubica en la pantalla sobre estas divisiones jerárquicas de color.

"La tarjeta de visitante no se cobra, sólo mantiene la información a utilizar sobre la banda magnética. Además, aparte del nombre del visitante que aparece en la pieza, ninguna otra información se mantiene en el sistema." (espero que bien traducido)

Lo que busca "Net Worth" es evidenciar el valor de la información como instrumento monetario, es decir, los intercambios monetarios ya no son "reales" sino una mera transferencia de datos.

Es interesante este concepto de inmaterialidad y realidad, bastante discutido ya con la revolución web, y las nuevas formas de comunicación.

En cuanto a la técnica, el API de google es un gran instrumento de búsqueda de información, y fué utilizado junto a processing para la elaboración de este programa cuyo código se puede ver de manera libre.

floating.numbers


Este es un trabajo que usa la tipografía como base de la imagen, lo pueden ver directamente aquí

Es una proyección alargada interactiva en cuya superfice se proyectan números, y se apoya en una superficie sensible al tacto para producir la interactividad.

El título de la exposición muy diciente “10 + 5 = God. The power of signs” en el Jewish Museum en Berlín.

Este proyecto fué producido entre ART+COM (concepto y realización) y Hürlimann + Lepp Ausstellungen (idea y contenido).

"P.S. "08/15" is one of the hundred numbers explained in the exhibition. If something is "08/15", it is mass production and boring. This term, which originated in WW I, used to denote the first machine gun produced according to industrial standards."

Aquí un videito

También podremos aprovechar los sketches de ejemplo que nos comparten con los applets corriendo online, que ilustran el comportamiento de los objetos (números en este caso) construidos con processing, y cuyo código esta disponible para observarlo.

instalando arduino serial en gentoo amd64

Para empezar las instrucciones de la página oficial van muy bien.

Ahora echémosle un vistazo:

primero instalar las dependencias necesarias: blackdown-jre, crossdev, jikes, uisp, rxtx.

Entonces la máquina virtual libre (blackdown-jre) para la interfaz del software del arduino, crossdev nos ayudará a compilar el paquete avr para travajar con los chips Atmega, jikes es el compilador de java libre, uisp es la utilidad de programación de Atmel y rxtx administra los puertos serial.

Lo primero es agregar el paquete uisp enmascarado por ~amd64 al package.keywords para poder instalarlo

#echo dev-embedded/uisp ~amd64 >> /etc/portage/package.keywords

Proceder a instalar las dependencias

#emerge -av --noreplace blackdown-jre crossdev jikes uisp rxtx

Una vez finalizado agregar el o los usuarios al grupo uucp, para que tengan acceso al puerto serial, si ya a trabajado con piKdev u otra interfaz de programación de chips por puerto serial o paralelo esto no será necesario

#usermod -aG uucp nombreUsuario

o bien editar el archivo /etc/group y agregar los usuarios correspondientes al grupo uucp.

Segundo compilar el paquete avr

#crossdev -t avr -s4

Este es un proceso lento que actualiza ciertos paquetes desenmascarándolos (puedes revisar el package.keywords después de esto), puedes tomar unas onces mientras termina.

Y tercero hacer los links simbólicos

Ahora si, bajar el programa, descomprimirlo y hacer los links simbólicos a las dependencias que acabamos de instalar.

como siempre recomiendo poner el paquete descomprimido en /usr/local, una vez ahi crear los links

#ln -s /usr/lib/binutils/avr/2.XX/ldscripts/ /usr/local/arduino-XXX/ldscripts

la carpeta ldscripts dentro de arduino no debe existir.

Los siguientes pasos son para usar el conversor USB a serial, que en mi caso no uso ya que tengo puerto serial, y la explicación del arduino USB, pero tampoco lo voy a explicar ya que uso el serial v2. Pero es importante aclarar que el kernel debe tener soporte para estos puertos, yo siempre activo el soporte tanto de serial como de paralelo.

Hasta quí las instrucciones de la página oficial, pero si lo intentas ejecutar ahora te darás cuenta que no corre y vota
Exception in thread "main" java.lang.NoClassDefFoundError: processing/app/Base

Pues vamos a solucionar esto con mas links simbólicos.
Primero borra el archivo /usr/local/arduino_XXX/tools/uisp y reemplázalo por un link simbólico a /usr/bin/uisp

#rm /usr/local/arduino_XXX/tools/uisp
#ln -s /usr/bin/uisp /usr/local/arduino_XXX/tools/

lo mismo para la librería rxtx

#rm /usr/local/arduino_XXX/lib/librxtxSerial.so
#ln -s /usr/lib64/rxtx-2/librxtxSerial.so /usr/local/arduino_XXX/lib/

Ahora el paquete rxtx y java. Modifique el script de arranque /usr/local/arduino_XXX/arduino, ingresándole los paths de los archivos jikes y RXTXcomm.jar, librerías rxtx y librerias y ejecutables de la máquina virtual que esté ejecutándo, le debería quedar más o manos así:



#!/bin/sh
CLASSPATH=/opt/blackdown-jdk-1.4.2.03/jre/bin:/opt/blackdown-jdk-1.4.2.03/jre/lib/rt.jar:
java/lib/rt.jar:lib:lib/build:lib/pde.jar:lib/core.jar:lib/antlr.jar:lib/oro.jar:
lib/registry.jar:lib/mrj.jar:lib/RXTXcomm.jar:usr/lib/arduino
export CLASSPATH

# put the directory where this file lives in the front of the path, because
# that directory also contains jikes, which we will need at runtime.
PATH=`pwd`/tools:/usr/bin:${PATH}
export PATH

# put the directory with the native RXTX libs in the library path
LD_LIBRARY_PATH=`pwd`/lib:/usr/share/rxtx-2/lib:/usr/lib64/rxtx-2:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

export DIRAVR=/usr/bin

java processing.app.Base



Lo que está en negrita es lo que le agregé. Para ejecutar arduino es de aclarar que no se puede ejecutar de la siguiente manera
$ /usr/local/arduino-XXX/arduino
sino
$ cd /usr/local/arduino_XXX && ./arduino

téngalo presente a la hora e agregarlo al menú o elaborar un sript de arranque.


Nota: Esto fué provado con arduino-0007, espero funcione para las demás versiones.

Processing en Linux amd64

Para los que han usado processing, sabrán que su instalación es muy sencilla, basta con descargar el programa de la página del proyecto, descomprimirlo y ejecutar el archivo processing.sh (generalmente).

Pero qué sucede si usamos una distribución de 64bits?, vemos que el programa no corre ya que usa binarios de 32, pero no hay que preocuparse la solución es muy sencilla.

Primero descomprimimos la carpeta processing-XXX.tar.gz, luego yo prefiero moverla a /usr/local que es donde normalmente se instalan los programas que funcionan "independientemente" del sistema (es decir sin usar paquetes del sistema, sin dependencias), y la cual tiene permisos de ejecución para todos los usuarios. Esto evita que cualquier usuario pueda borrar o modificar accidentalmente los ficheros del programa.

$ tar xvzf ~/Desktop/processing-XXX.tar.gz
$ rm ~/Desktop/processing-XXX.tar.gz

lo siguiente como root o con sudo
#mv ~/Desktop/processing-XXX /usr/local/

digo Desktop porque es generalmente donde se descargan, pero cámbialo por la dirección donde lo descargaste y descomprimiste, y las XXX representan la versión

Seguido eliminamos el fichero del problema, que no es más que el compilador jikes

#rm /usr/local/processing-XXX/jikes

instalamos jikes con nuestro administrador de paquetes, llámese aptitude, synaptic, yast, emerge, etc...

#emerge jikes

y finalmente creamos un link hacia la carpeta de processing

#cd /usr/local/processing-XXX
#ln -s /usr/bin/jikes ./

y listo!!!
ya tenemos nuestro processing corriendo en distros x86_64!!!

puébalo como usuario con

$ /usr/local/processing-XXX/processing.sh
si devuelve command no found
$ chmod 777 /usr/local/processing-XXX/processing.sh

ahora solo créale una entrada en tu menú o hazle un acceso directo desde tu escritorio, o si lo prefieres accede siempre desde el terminal.


Nota: Esto fué provado con processing 0125 y 0135.