Almacenamiento: estructuras de datos, su recolección y su análisis

March 31, 2008 – 10:20 pm

Las computadoras se utilizan a menudo para trabajar sobre datos, en estos tiempos los datos disponibles son cada vez más abundantes y variados. Desde el punto de vista del GenerArt y de la InfoViz, los datos són en muchos casos las semillas de los procesos. La mayoría de veces los datos están disponibles al artista y la tarea de este es simplemente su recolección y análisis. En esta clase veremos como acceder y tratar con algunos de los distintos datos disponibles como la entrada del ratón, el teclado y las imágenes “bitmap”.

Los más avanzados podrán aventurarse con algunas técnicas de geometría con los dibujos vectoriales (SVG) o las tipografías (TTF) y con el almacenamiento de datos temporal (los arrays).

Entrada de usuario

El usuario permite alimentar información al ordenador de diversas formas, pero las utilizadas mas frecuentes son:

  • Ratón

En todo momento podemos saber en que posición se encuentra el ratón y en que estado se encuentran sus botones (¿cual es la coordenada x del ratón en este momento? ¿hay algún botón pulsado en este instante? o ¿el botón pulsado es el izquierdo?). También es posible pedir al ordenador que ejecute una función cuando ciertas acciones ocurren (cuando el ratón ha sido movido, cliqueado o arrastrado).

  • Teclado

El teclado funciona de manera similar al ratón en todo momento podemos saber que botones están pulsados mediante preguntas del tipo (¿se encuentra alguna tecla pulsada en este instante?, ¿qué tecla se encuentra pulsado en este momento? o ¿la tecla que esta pulsada en este momento es la ‘p’?). De igual forma se puede pedir al ordenador que ejecute ciertos comandos cuando algunas acciones puntuales ocurran (haz esto cuando se presione una tecla, haz lo otro cuando se suelte una tecla o haz algo cuando se teclee una tecla). Hay que tener en cuenta que las letras están codificadas mediante numero pero por conveniencia Processing nos las hace disponibles en forma de carácteres (tipo de datos que en Java se llama char). Algunas teclas especiales, a las que no se les puede asignar un carácter de forma sencilla, Processing nos las hace disponibles en forma de constantes que podemos llamar en todo momento (SPACE, ENTER, UP, DOWN,…).

Imagenes

Las imagenes están generalmente almacenadas de dos maneras fundamentales:

  • Bitmap

Són las imágenes que se almacenan mediante una lista de números. Cada número indica el color de cada uno de los puntos. En Processing existe una clase llamada PImage que facilita el uso de este tipo de imágenes. Los puntos de una imagen en una variable de tipo PImage se encuentran en la variable miembro “pixels”.

  • Vectorial

Són las imágenes que se almacenan mediante una lista de comandos de dibujo (lineTo, moveTo, bezierTo,…). En muchos casos se el usuario se interesa por sus contornos únicamente, que se pueden ver como listas de puntos. En Processing no existe ninguna forma sencilla de acceder a los contornos de los dibujos vectoriales. Sin embargo existen al menos dos librerías para este fin: Candy y Geomerative. La primera forma parte de Processing pero solo permite renderizar en pantalla los dibujos vectoriales y no acceder a los puntos que forman sus contornos.

Post a Comment