Crono-anamorfosis

secuencia Nuestra comprensión del tiempo es discreta, es decir concebimos la suceción de “instantes” como el único modo de reconstruir el flujo del tiempo. Cada vez que grabamos un video, recolectamos una gran catidad de fotogramas que luego son reproducidos —normalmente— a la misma velocidad con la que fueron captados. Tenemos entonces un solido o volumen de fotogramas cuyo espesor corresponde al tiempo. Siempre que reproducimos el video, elegimos verlo en sucesivos cortes transversales perpendiculares al tiempo, tratando de volver a esos instantes fotográficos. Pero ¿podemos verlo de otro modo? ¿qué ocurriría si elegimos ver este sólido de tiempo haciendo un corte con una inclinación ligeramente distinta? secuencia inclinada con anamorfosis temporal Por ejemplo, imaginemos que el programa que captura video va almacenando un buffer de fotogramas que tiene un espesor igual al alto en pixeles del fotograma (aquí en el esquema: y = z). Es decir, si tengo un fotograma de 320 pixeles de ancho por 240 pixeles de alto, tengo un buffer de 240 fotogramas de espesor. Entonces el fotograma actual puede construirse a partir de la diagonal de este volumen: la primera línea es la actual, la segunda es de 1 fotograma atrás, la tercera de 2 fotogramas atras, y así hasta completar el alto de la imágen. TimeTwist de Herbert Spencer en Vimeo.

Código

El código presentado a continuación fue generado para captura en tiempo real en el entorno processing. Se debe tener en consideración que el programa requiere mucha memoria RAM para ejecutarse por lo que se hace necesario modificar las preferencias de processing (ojalá más de 1GB). Esto dependerá del tamaño de captura. Normalmente las cámaras para videoconferencias integradas admiten un máximo de 640 x 480. Este código no está optimizado, ojo. Si hacen algo con el código pongan el link para ver los experimentos en los comentarios de más abajo ¡Suerte! Bajar: timetwist.pde

Referencias

Taller Abierto de Processing

Triangulación Delaunay

Este año se impartirá nuevamente el curso de Processing, ahora denominado Leguaje Computaqcional 0. Este taller se inscribe dentro de la malla de diseño como un módulo obligatorio para el primer año y como taller de nivelación para los alumnos que cursan gráfica digital. Independiente de estas consideraciones, este taller está abierto para todos los interesados que quieran estudiar el medio expresivo de la programación gráfica.

  • Horario: martes 15:30 – 17:10
  • Lugar: Sala de Primer Año, Diseño

Contenidos

  • elementos de dibujo
  • estructura y recursividad
  • programación orientada a objetos
  • file output: PDF y Quicktime

buscando un nombre

duwa

En muy poco tiempo más seré nuevamente padre, esta vez de una niña. El problema es que no se nos ocurre qué nombre ponerle. Hemos buscado miles, pero mi decepción fue mayor al ver que todos mis esfuerzos creativos no eran más que el lugar común que todos transitan. Entonces se me ocurrió que podría tener un nombre inventado, nuevo. Para eso hice un programa llamado nameGenerator que genera nombres a partir de distintos patrones de consonates y vocales:

Instrucciones

Este programa se maneja con el teclado (No tuve el tiempo ni la dedicación para esmerarme en una interfaz más amistosa, pero el teclado funciona bien). Para generar un nombre nuevo, hay que apretar cualquier número, 0 inclusive. Cada uno de los números representa un patrón de consonantes y vocales distinto. Arriba, al medio dice que patrón se está utilizando. Por ejemplo: “C V V C V” (‘C’ para consonante y ‘V’ para vocal) podría arrojar “paula”. Dentro de la carpeta del programa viene un archivo de texto llamado “nombres.txt” que está vacío (!) Este archivo es necesario para grabar los nombres buenos que puedan ir saliendo. Para grabar un nombre sólo hay que apretar la barra de ESPACIO. Además, dentro de los chiches inútiles, está el catastro de todas las letras representado por unos pequeños gráficos de barra de 1 pixel para ir contando cuantas veces cada letra es utilizada. Como ya dije, no tiene mayor utilidad; sólo lo hice para ver si la función random() que elige las letras es realmente aleatoria. La letra ‘ñ’ fue eliminada a propósito. Bueno… como no le tengo mucha fe a este programa (que es enfermo de nerd) Acepto feliz cualquier tipo de sugerencia para el nombre de la beba. Gracias y que disfruten de este útil programa. Se me olvidaba: es muy importante salir del programa presionando la letra Q, de otro modo, el archivo de texto quedará mal cerrado… detalles… ; )

Modulador de Números Primos

Los números primos son los diamantes de los números naturales. Todos los demás números pueden construirse desde factorizaciones únicas de números primos; ellos son las piezas clave, los otros números son sólo relleno. No existe modo de anticipar la distribución de estos números como secuencia regular y han existido muchos intentos para predecir su aparición. Nadie ha podido estabalecer un patrón claro para describirlos. En 1963, Stanislaw Ulam, un matemático polaco, decidió disponerlos en una espiral cuadrada como la que muestro en la imagen. Este arreglo consiste en comenzar desde el número 1 al centro del espiral y avanzar girando hacia afuera manteniendo la unidad de distancia entre números constante; los puntos rojos representan números primos. Este arreglo reveló un misterioso patrón de diagonales que se mantení­a sin importar la cantidad de números representados o si se cambiaba el primer número del espiral por otro distinto de 1. Este hallazgo le significó a Ulam aparecer con su diagrama en la portada de la revista Scientific American. Con la idea de poder encontrar patrones ocultos en los números primos hice un pequeño programa para modular distintos tipos de espirales, partiendo del famoso espiral de Ulam. Se trata de una herramienta de visualización para descubrir algo que nadie haya visto. Tal vez puedas descubrir un patrón oculto y tener un espiral con tu nombre.

Primes Modulator

Este programa fue realizado en processing y permite generar documentos PDF de los espirales (Actualización) Debido a los cambios del lenguaje de Processing en los últimos 10 años, he dejado una versión estable y compatible con la versión actual en un repositorio de Github.

Civilscope

Civilscope Logo

La idea de este proyecto es mostrar de manera fácil y ní­tida las capas y fronteras cí­vicas en las cuales estamos inmersos. Civilscope es un servicio web que, a partir de una dirección determinada, mapea todas las divisiones, distritos y circunscripciones que la rigen. Este servicio funciona solamente para la gente de Chicago porque opera sobre la API de Civic Footprint, una iniciativa del Center for Neighborhood Technology de Chicago. Pienso que tener algo así­ en Chile serí­a buení­simo para poder transparentar en algo las oscuras y arcanas fronteras polí­ticas que nos gobiernan. En parte por eso me entusiasmé cuando Simon me propuso la idea; para poderlo mostrar como ejemplo y poder desarrollar algo así­ para nosotros. De hecho, nuestra estructura es bastante más sencilla, con menos capas y jerarquí­as traslapadas. Particularmente en Chicago existen distritos verdaderamente extraí±os en cuanto figura. Esto se debe a una práctica de distritage llamada “gerrymandering”. En el sistema norteamericano los votantes son divididos por distritos. Lo que cuenta al final no es la cantidad total de votos sino la cantidad de distritos en los que tal o cual candidato ha ganado. Esto lleva a practicar estrategias de “pack & crack”, es decir, agrupar a la oposición y concentrarla lo más posible en un distrito para que arrase, pero para que pierda por poco en todas las demás. Esta práctica de redibujar los distritos ocurre cada vez que hay alternancia en el poder, para perjudicar a la opsición. Cada dí­a esta operación se vuelve más sofisticada ya que se ocupan programas computacionales para redibujar los distritos basados en los registros de votantes. Es por eso que herramientas como esta permiten transparentar en algo estas prácticas. http://www.civilscope.org/

Flex Typeface

Este diseño está altamente influenciado por la fuente Stuv, diseñada por Flor.o (ir a la letra 't' de tipografí­as, y está disponible para bajarse). Otra influencia (a la cual hay que rendir homenaje, por cierto) es el principio de ensamblaje de la Super Tipo Veloz de Joan Trochut, con la diferencia -claro- que los traslapes acá son permitidos. La tipografía Flex está diseñada a partir de un juego de 6 piezas.

  1. key >= 'a') && (key <= 'z' []
  2. tmpKey >=0) && (tmpKey < 26 []

Axis Mundane

Las partí­culas son atraí­das entre ellas; cuando la distacia que separa cualquier par de partí­culas es mayor a la suma de sus radios, los radios de ambas partí­culas se incrementarán en 0.025 pixel. Cuando el radio llega a 80 pixeles la partí­cula revienta transformándose en una pequeña de nuevo y cambiando de color, así da paso a la nueva generación. Exiten un total de 20 generaciones y a cada cual se le asigna un color. (ver tabla de colores más abajo) Las partí­culas pequeñas son más fluí­das (menos masa) y al ser atraí­das por las otras pasan hacia el centro del arreglo, dejando a las partí­culas jóvenes al centro y las viejas en el perí­metro, simulando una colonia de búfalos.

Ciclo de Colores

HEX: #CD540A RGB: 205,84,10
HEX: #AE7450 RGB: 174,116,80
HEX: #AD611E RGB: 173,97,30
HEX: #E97913 RGB: 233,121,19
HEX: #4D3711 RGB: 77,55,17
HEX: #E4CC62 RGB: 228,204,98
HEX: #AFAC37 RGB: 175,172,55
HEX: #B1AF4F RGB: 177,175,79
HEX: #929553 RGB: 146,149,83
HEX: #D1DE8C RGB: 209,222,140
HEX: #D0E5AA RGB: 208,229,170
HEX: #5A8D67 RGB: 90,141,103
HEX: #5A8D67 RGB: 90,141,103
HEX: #334B4E RGB: 51,75,78
HEX: #3D737D RGB: 61,115,125
HEX: #8798C9 RGB: 135,152,201
HEX: #6D7590 RGB: 109,117,144
HEX: #8B95BA RGB: 139,149,186
HEX: #A9A8B9 RGB: 169,168,185
HEX: #F7F5F6 RGB: 247,245,246