miércoles, 7 de septiembre de 2011

Alternativas


Por ahora existen varias alternativas sobre como llevar acabo el proyecto antes mencionado. Mi idea original era mecanizar las perillas de la pantalla mágica 'etch a sketch' y darle como instrucción trazar la ecuación de la espiral logarítmica. Sin embargo, todo parece indicar que esta solución es la menos factible y lo menos adecuado en cuestiones estéticas dado el tamaño de la pantalla a modificar.



Así que una solución viable es sustituir la pantalla del juguete por una pantalla digital. Estas son algunas opciones contempladas:

Eink: La tinta electrónica es una tecnología que permite crear pantallas planas delgadas como papel y que tienen flexibilidad. Actualmente se utilizan en lectores de e-books y el desarrollo de esta tinta se debe a razones ecologistas.
Las pantallas están formadas por tres capas, una con microtransmisores eléctricos, otra con el polímero y la tercera con una lámina protectora. En el polímero encontramos una matriz de millones de cápsulas que están flotando en un gel que permite que sean estimuladas electromagnéticamente. Mediante esta estimulación cada cápsula pasa a mostrar su cara blanca o negra, de manera que en la pantalla se representa un texto o gráfico.
Kindle, el lector ebooks de amazon utiliza esta tecnología controlada por drivers EPSON

Tablet Archos:


domingo, 28 de agosto de 2011

Planteamiento del proyecto



La idea es hacer que el Etch a Sketch siga la espiral logarítmica que aparece constantemente en la naturaleza. No se si me interesa que la pantalla se limpie y comience a dibujar de nuevo, aunque es obvio que en algún momento el trazo va a desaparecer del área de la pantalla, me gustaría que regresara a donde inició.
Algo más o menos así:

Resignificar la percepciòn del mundo y construir soportes para nuevas experiencias.
Haciendo un poco de research me topado con varios experimentos de automatización de las pantallas 'Etch-A-Sketch' entre ellos:

Jason Dorie: The circuit is a Protoboard and a single darlington array to control a pair of unipolar stepper motors.
The software is written entirely in SPIN and supports a simple "goto" function that takes an X & Y coordinate. It uses a Bresenham line algorithm to control the step rate of the motors. With gearing and using 1/2 steps, the usable screen area is about 800 x 600 units.





Angela Yuan: It uses the Arduino computing platform to control the knobs, which twist to sketch the time, every minute.



Etch and Sketch



Telesketch o Sketch es un juguete inventado en 1959 por el francés Arthur Granjean y que fue comercializado por primera vez en Estados Unidos con el nombre de Etch-A-Sketch por Ohio Art Company en 1960 y en España por Borrás.
La superficie interior de la pantalla está recubierta de polvo de aluminio y partículas de estireno en la que una punta metálica móvil traza surcos, dibujando una línea negra en la pantalla gris. La punta metálica se controla por dos mandos giratorios: uno la mueve verticalmente y otro horizontalmente. Para borrar el dibujo sólo hay que ponerlo boca abajo y agitarlo para que el aluminio y el estireno vuelvan a recubrir la superficie.


El rigor de la ciencia

viernes, 26 de agosto de 2011

martes, 7 de junio de 2011

Masking in processing

Estoy intentando hacer una captura de video con una máscara que sólo deje ver la imagen capturada através de una tipografía. La idea es que el texto aparezca cuando la cámara capte la sombra de las personas, a ausencia de público, ausencia de palabras. El problema que tengo que es que la mask sólo le hace corte al efecto de captura de video. Estoy utilizando capas en .png para lograr la transparencia, pero al parecer processing toma al blanco como transparencia
Lo más cercano que he logrado a lo que quiero se ve así:

Aquí el código:

import processing.video.*;
color black = color(0);
color white = color(255);
int numPixels;
Capture cam;

void setup() {


size(320, 240);
strokeWeight(5);
cam = new Capture(this, width, height, 24);
numPixels = cam.width * cam.height;
noCursor();
smooth();

cam.frameRate(12);
}
void draw(){
if(cam.available()){
cam.read();
int threshold= 127;
float pixelBrightness;
loadPixels();
for(int i = 0;i < numPixels; i++){
pixelBrightness = brightness(cam.pixels[i]);
if (pixelBrightness > threshold){
pixels[i] = white;
}
else {
pixels[i] = black;
}
}
updatePixels();
int testValue = get(mouseX, mouseY);
float testBrightness = brightness(testValue);
if (testBrightness > threshold) {
fill(black);
} else {
fill(white);
};


PImage Img = loadImage(

"true.png");
cam.mask(Img);
image(cam,0,0);



}
}