interactive mode
Author: AdministradorComo se diría por aquí… “hao jiu bu jian”, o “cuanto tiempo sin vernos”. Miro la fecha del último post y han pasado casi 5 meses desde el último post. Me entra vértigo.
La inactividad en el blog ha sido inversamente proporcional a la actividad en el MundoReal. Estos cinco meses de invierno pekinés han sido de todo menos inactivos. Mi actividad por un lado se ha diversificado en lo cuantitativo y por otro lado se ha intensificado en lo cualitativo. Podríamos decir que mi cerebro está corriendo varios hilos de procesos en paralelo. Que estoy a tope, oiga.
Uno de ellos es el que probablemente se está llevando el 90% de uso de mi CPU cerebral: la programación de arte digital interactivo.
Las imagenes que he adjuntado corresponden con WireD, un interactivo que tenemos muy avanzado y que conjuga audio y gráficos vectoriales en sincronia en tiempo real. El audio está formado por pequeños loops de 8 segundos de duración creados adrede para la pieza. Cada uno de estos loops está asociado a una animación vectorial formando un total de 15 parejas audio-animación. Cuando el usuario activa una pareja, un sistema de reloj espera a que haya sincronia con el sonido que está en reproducción para lanzar la nueva pareja, de forma que la composición audiovisual crece sin cortarse. Como la mezcla de un dj.
Esto suena bastante cool, y la verdad es que los resultados lo son. Pero he descubierto (se ve que no lo hice en la facultad de informática) lo miserable y penoso de la programación con lenguajes de Hombres en ello incluyo C++ y objective-C. También he descubierto el lado siniestro de la programación: para inventarse lenguajes como C++ o objective-C tienes que estar muy mal. Muy muy mal. Aunque todo hay que decirlo, cuando la cosa sale la sensación de felicidad y satisfacción es muy grande, quizás más por el hecho de que algo programado en ese lenguaje funcione que por lo que hace el programa en sí. Con lo intuitivo que sería programar dibujando casitas y coches para actualizar el valor de una variable.
Con este tipo de arte digital te puedes tirar perfectamente dos días para conseguir que una cosa que se mueve en un espacio tridimensional te diga que ha sido clickeada por un puntero de ratón que viene del mundo 2D. Alguien que pase a tu lado y te pregunte durante dos días “qué estas haciendo” obtendrá un “no me reconoce el click del ratón” como respuesta. Al cabo de tres días oirá como gritás enloquecido a la vez que vociferas “por fín!, por fín!, mwahaha!!”, a lo que tú no entenderás porqué tanta alegria por un click. Claro que el problema no era el click, si no las librerías incompatibles con no-se-qué, la deformación del espacio GL al trasladar un sistema de coordenadas tridimensional a otro bidimensional, que Saturno está alineado con Marte y el compilador te da un warning… La de horas de sueño que se ha llevado el puto click.
Luego está que el desarrollo de sofware interactivo, además de contar con el handicap propio de lo dificil de la programación, cuenta con el handicap de que luego lo tiene que usar alguien que probablemente lo use mal, así que hay que tener en cuenta un millón de tipos de interacciones posibles para que el día que se lo enseñas a alguien no haga burrada tan grande que a tí se te pasó por alto y ahora tienes un bonito sistema colgado y a tu usuario mirandote con cara de “menuda mierda de aplicación”.
Pero aún así las cosas se depuran y se afinan hasta que pasas de un conjunto de cosas que dejan colgado al sistema a tener una bonita aplicación interactiva que no sirve para nada pero que trasciende de la utilidad de lo real para convertirse en …arte?
Quizás lo mejor de todo esto es notar que generas algo inutil pero bello y que el ordenador ha sido tu complice.
mwhahaha
read comments (2)Durante la semana 2009-11-29
Author: Administrador- genial, preparando un interactivo para la expo de shanghai que funciona con feeds de Pachube y… Pachube está caido. lol #
- @danxdan ya me contarás que tal el feedback :) in reply to danxdan #
- Fuck. Pachube is down and my last interactive is stopped with a funny error debug message: “Eh moron, turn on your internet connection”. #
- by the way.. Google Wave has suddenly become a perfect tool to draft and develop my interactive projects. #
- ok, I just connected one [arduino + processing(+eeml)]= streaming data to the localnetwork and my interactive app its being feeded again :] #
- ableton > file > export > all tracks > wav > 44100 >24bits… and wait for a while #
read comments (0)Durante la semana 2009-11-22
Author: Administrador- El Consulado de España en Shanghai nos ha aprovado el proyecto de exposición “CORELABS” en la galería THE NUT lol! http://tinyurl.com/thenut #
- @maika3 arf arf… si! creo que si! :) in reply to maika3 #
- con Bruno al lado mirando como distribuimos las colinias por la galaxia. #
read comments (0)Durante la semana 2009-11-08
Author: Administrador- despues de unas semanas de no actividad voy a intentar retormar los twitteos… jodido firewall chino. #
read comments (0)Durante la semana 2009-10-25
Author: Administrador- Hackeando el brazo robot que compré en Osaka para controlarlo con Arduino y el Wii Nunchuk. #
- @JavierNoguerol jjjjjjjjjj in reply to JavierNoguerol #
- @momiator gracias por el detalle compadre ;) in reply to momiator #
- @davidfx como una falla :D in reply to davidfx #
- genial. sin palabras. http://bit.ly/CnEft #
read comments (0)Durante la semana 2009-10-11
Author: Administrador- @danxdan no, ira Marcos. Yo escribo lo que dira sobre Core :) in reply to danxdan #
- Estamos en Osaka! Japon es como estar dentro de una tragaperras. Luces y sobreinformacion por todos lados. Se sale :D #
read comments (0)Durante la semana 2009-10-06
Author: Administrador- Poníendole créditos a una infamia que hemos rodado y que puede que no llegue a ver la luz… por muy infame. Eso sí, nos hemos reido mucho. #
- Join the Core Labs side. We have Darth Vader. #
- @mahuraman haremos un pase para el círculo “familiar”. Tu sabes :) in reply to mahuraman #
- Con motivo del 60 aniversario y por seguridad, el gobierno Chino ha prohibido el uso de cometas hasta el fin de las celebraciones… WTF!?! #
- @enarix xDD in reply to enarix #
read comments (0)Liándola con C++ ó Realidad Aumentada con OpenFrameworks
Author: AdministradorCuando me puse con esto de la Realidad Aumentada sabía que me estaba metiendo en un mundo donde el código lo es todo.
El primer acercamiento fue con ARtookit, unas librerias programadas en C++, bástante incómodas de compilar y más aún de programar con ellas, ya que C++ para un neófito es todo un tema. Así que con ARtoolkit no pasé de ejecutar los ejemplos despues de pasarme unas semanas intentando que aquello compilase. Ni hablar de programar nada, vamos.
Entonces tuve noticia de FLARtoolkit, una versión de las librerías de ARtoolkit pero ahora escritas en AS3, el lenguaje con el que se programan aplicaciones de Flash (p.ej. los juegos en Flash). Esto ya era más asequible aunque toda una tarea porque a fín de cuentas, me tenía que poner a aprender a programar. Algo más fácil que C++ y más próximo a términos con los que estoy acostumbrado como MovieClip, Stage, Scene, pero programar a fin de cuentas.
Y me puse, vaya.. estando en Shanghai me compré unos cuantos libros de O’Reilly sobre programación con AS3 y Flex (que allí cuestan 10 veces menos y son originales) y me puse a darle al tema destripando los ejemplos disponibles y preguntando en el grupo de usuarios de Google de Flartoolkit.
Al cabo de unas semanas (mes?) conseguí empezar a dominar el tema y poder hacer mis propias aplicaciones de Realidad Aumentada. Estaba muy contento aunque empezaba a ver que el tema del rendimiento se iba al garete una vez que empezabas a querer hacer cosas más complejas.
Entonces un día apareció Jim, un chico americano, de Nueva York concretamente que estaba de paso por Pekin, había visto la web de Core y se había decidido a ver que se cocía por allí. El tal Jim resultó ser un tipo de lo más interesante. Se dedica a programar instalaciones interactivas como esta:
doing! nos tiramos tres horas hablando de software, enseñándonos trabajos que habíamos hecho o proyectos en curso… vaya, un rato muy agradable. Entonces fue cuando me comentó que el para desarrollar usaba Openframeworks. Yo había oido del tema. De hecho, LaserTag está hecho con Openframeworks. Le pedí que me hablase un poco más del tema y después de un rato lo ví claro. Tenía que aprender a programar con Openframeworks.
Openframeworks es un esto… “framework” o conjunto de librerias para C++ orientadas a la programación de aplicaciones artísticas interactivas. Es una forma de hacer fácil la programación de estas aplicaciones poniendo a disposición de la comunidad ciertas “funciones” básicas que se utilizan muy a menudo de forma que no tienes que programarlas tú cada vez y todo es “fácil”.
El único problema es que hay que aprender C++. Volvemos al principio del post y cuando fui consciente de ello me retrotraje al momento en el que abrazaba a Flartoolkit porque gracias a el no tenía que aprender C++.
Pero estaba decidido. Quería poder hacer eso que había visto. Quería ese juguete. Y si hay que aprender C++, pues se aprende.
Y eso he estado haciendo la última semana y pico. Aprendiendo C++ como no lo aprendí en la Facultad (cuando se suponía que tenía que empezar con C++ me pasé a Bellas Artes). Por suerte AS3 tiene ciertas similitudes con C++ y todo lo aprendido de AS3 me ha facilitado muchísimo la labor a la hora de empezar con C++.
Cortando código, pegando y escribiendo mis cositas por ahí he conseguido hacer una aplicación de Realidad Aumentada con OpenFrameworks que, literalmente, se mea en Flartoolkit en cuestion de rendimiento y calidad de imagen. Y además, como se ve en la captura de pantalla de arriba, le he metido un interfaz molón con el que cambiar en tiempo de ejecución (mientras se ejecuta la aplicación) el modelo 3D que se muestra por pantalla sin que por ello explote la aplicación.
Ja!
read comments (4)Durante la semana 2009-09-13
Author: Administrador- Twitoaster permite ver los hilos de conversaciones generadas en twitter y contextualizarlas. No está nada mal http://twitoaster.com/ #
- A por JImena, nuestra moto, ayer se quedó sin bateria y tuve que dejarla en casa de Thome, por no llevar el cargador encima…. #
- Vendetta!! #
- Fustrated. I failed trying to cook home made noodels. Definitively, I need training and some tips. #
- @earcos vaya… te ocurre frecuentemente? in reply to earcos #
- @rubendiaz un poquito, pero no demasiado :) in reply to rubendiaz #
- I just made an Augmented Reality Helmet and now I have a loooot of fun with it. http://bit.ly/oDia3 #
- @danxdan good tip! it’s just what a friend of mine here told me: I have to boil three times the noodels and change from hot to cold water :] in reply to danxdan #
- nos vamos al Obiwan! todo un simbolo de la fuerza pekinesa… #
- @danxdan tu lo has dicho. COLISIONAN xD in reply to danxdan #
read comments (0)Avances en nuevas formas de quedarme totalmente idiota.
Author: Administrador
Esta última semana ha sido una de las más satisfactorias en mucho tiempo en lo que a desarrollo (geek) se refiere. Por fín he cumplido con uno de esos sueños que cualquier freak-geek-weird tiene en su whislist o “lista de quiero uno de estos”. En este caso ha sido un casco de Realidad Aumentada. Como el de Johnny Nmemonic, pero salvando las distancias ya que el de Johnny Mnemonic es de realidad virtual.
Así a bote pronto no me acuerdo de en que momento apunté mentalmente que quería (necesitaba) uno de esos, igual viendo Dragon Ball Z o viendo la peli homónima de Jonny Nmemonic. La cuestión es que ahí estaba el deseo… esperando.
Fue hace unas semanas cuando metido en mis proyectos de realidad aumentada en Core Labs pensé: “estaría realmente bien poder ver todo esto de una forma más… inmersiva” y automáticamente vino a incluirse en la línea de proceso otro pensamiento que tuve el día que me compré en el mercado de Panjayuan un caso de piloto de caza del ejército Chino: “estaría realemente bien poder hacer algo con este casco que sea… cafre”. Así que el resultado de la suma de pensamientos fue, obviamente: “estaría realmente bien hacer con este casco un casco de realidad aumentada”.
Manos a la obra. Después de investigar un poco sobre lo que necesitaba me dí cuenta de que lo más importante era la pantalla a usar, no superior a 7 pulgadas, ligera y barata. Las opciones comerciales rondaban los 100 euros o 1000¥ aqui en China, no muy caro, pero no tan barato como yo quisiera, así que obviamente la solución estaba por ir a mi paraiso Pekinés: …El Mercado de Componentes Electrónicos de Zhonguangcun!
Tras consultar con Marcos sobre el proyecto (básicamente si podía disponer de los recursos comunes para una paja mental mía), me dirigí al mercado de componentes armado con la inestimable ayuda de David, Tu-Zi para los amigos chinos o aquellos que sabemos su mote chino (Captain Obvious dixit).
Una vez en el mercado no nos costó demasiado encontrar un sitio donde vendían pantallas planas por partes. Por un lado la pantalla propiamente dicha y por otro lado la tarjeta controladora con los conectores de video y la tarjeta de alimentación que resultó ser de alto voltaje a lo que no pudimos resistir un:
- dude, that’s fucking hazardous, you can die if you touch it.
- wow… that’s cool…
Preguntamos por los precios, 400¥ todo, 40 euros. De risa. Me lo llevo puesto.
Después de pasar por unos puestos para comprar 5 metros de cable VGA, USB y de alimentación nos fuimos al estudio con la sonrisa del que ha pillado el material con el que va hacer algo realmente gamberro.
Nota mental: los transformadores de alimentación (alterna-contínua), o transformadores de toda la vida, en inglés se llama “transformer” lo cual resulta muy gracioso cuando estás en un mercado de componentes electrónicos y David te dice que ahora hay que pasar por una tienda a pillar “one transformer” y tú no puedes evitar pensar que la simpática chinita de detrás del mostrador te va a sacar a BumbleBee o a Optimus Prime.
Bueno, una vez en el estudio la cosa ya iba de montar la historía. Tenía la pantalla, tenía el casco y tenía los cables, sólo me faltaba el soporte y las fijaciones que en teoría ha de ser construidos de forma precisa y con un materíal lo más rígido posible.
Miré a mi alrededor y no pude encontrar nada en el estudio que estuviese disponible a no ser que hiciera pedazos el rack del server, algo que imaginé a Marcos no le haría mucha gracia. Así que opté por una solución de más baja tecnología: una caja de cartón y un rollo de cinta adhesiva.

Hector que pasaba por ahí con cara de curioso fue reclutado para servir de soporte a la operación. Le puse el casco y le pedí que sujetase la caja a una distancia de 17 centímetros (la única medida que usé), que es la distancia mínima para enfocar algo sin usar lentes de corrección (de las que tampoco tenía).

Al cabo de un rato y muchas vueltas de juntar con la cinta al sistema caja-de-carton-casco nos aseguramos de que la caja no se iba a caer y empecé con el ensamblaje de los componentes electrónicos y los cables, la webcam y antes de darme cuenta, el casco estaba ahí esperando a ser encendido.

Hector, Marulita y David se quedaron mirando.
- Ahora te lo pones, ¿no?
Y es verdad, ya era real, con un delicioso y de lo más natural aspecto cyber punk, ahí estaba el casco esperando a que alguien se lo pusiese.
Conecté el casco al ordenador, inicié una aplicación de prueba de realidad aumentada y extendí la vista a la pantalla del casco, lo cogí y mientras me lo ponía no pude evitar pensar: “Como me explote en la cabeza…”
Mientras me lo ponía podía oir las risas de todos estos ante la vista tan bizarra que les estaba ofreciendo con el cacharro puesto en la cabeza.

Pero no, no explotó. De hecho en la pantalla del casco mostraba lo que la webcam recogía, de forma que me movía, y la realidad que veía era la que veía la webcam y que mandaba a pantalla. Muy loop. Y para más sorpresa funcionó a la primera cuando puse un pattern delante de mí y la aplicación renderizó el 3D de la Tierra con la Luna girando (que es de lo que iba esa aplicación).
Alegría en el estudio.
Tras los primeros momentos de alborozo y ”déjame probar!” empecé a pensar en la forma de mejorarlo y un aspecto clave era reducir la distancia a la pantalla, cosa que hice al día siguiente.

Así que este es el resultado de un nuevo proceso nacido de un viejo deseo. Ahora el software y el hardware se unen para dar una nueva forma de experimentar la realidad aumentada, más inmersiva.
Lo cual es todo un peligro teniendo en cuenta que soy yo el que se va a sumergir.
read comments (7)









