domingo, 29 de mayo de 2011

Arte de Cómputo Físico

Self Portrait

En esta instalación creada por Random International Studio, una pantalla captura momentáneamente la imagen del espectador, misma que no vuelve a repetirse ni a aparecer nuevamente, cuestionando de esta manera el concepto tradicional del retrato como una forma de preservar la memoria mediante una imagen. En esta pieza, un programa hace que los "retratos" ejecutados sean expuestos y almacenados momentáneamente para ser eliminados cuando un nuevo espectador se acerca e interactúa con la pantalla, único instante en el cual existe y se produce una evidencia de dicho encuentro.




You Fade to Light

Esta pieza pertenece también al Random International Studio, y consiste en un panel compuesto por 1064 celdas luminosas y espejos pequeños, así como un software y una cámara capaces de detectar y traducir en impulsos lumínicos cada movimiento que el espectador realice. La instalación difiere de un espejo convencional en el sentido de que la imagen reflejada no resulta un elemento pasivo, sino que se traduce en movimientos de luz dentro de un recinto oscuro, la única e indispensable condición para que ello ocurra es la interacción de un individuo con la pieza, que en medio de la oscuridad, requiere un detonante para producir un efecto o estado contrario.



Wave Ufo

La artista japonesa Mariko Mori desarrolló esta pieza interactiva, en cuyo interior, una serie de electrodos son conectados al espectador con el objeto de leer sus ondas cerebrales, utilizando un programa especialmente diseñado para ello. Esta información se transforma en una imagen visual, que se corresponde en tiempo real con la actividad del cerebro; las formas que se proyectan en las paredes de la pieza cambian como respuesta a tres tipos de ondas cerebrales, indicando mediante distintos colores cual de ellas es la dominante, es decir, qué estado mental prevalece en el sujeto durante dicha experiencia, misma que logra humanizar la tecnología conectando al espectador con su propio mundo interior y sus particulares estados de ánimo, logrando así, mediante la interacción hombre-máquina una conjunción entre cuerpo, mente y alma.





lunes, 2 de mayo de 2011

Imagen Panorámica

Giff Animado


Ejercicios de Processing

Ejercicio 1

int numBalls = 400;
float spring = 0.05;
float gravity = 0.07;
float friction = -0.9;
Ball[] balls = new Ball[numBalls];

void setup()
{
size(440, 440);
noStroke();
smooth();
for (int i = 0; i < numBalls; i++) {
balls[i] = new Ball(random(width), random(height), random(20, 40), i, balls);
}
}

void draw()
{
background(0);
for (int i = 0; i < numBalls; i++) {
balls[i].collide();
balls[i].move();
balls[i].display();
}
}

class Ball {
float x, y;
float diameter;
float vx = 0;
float vy = 0;
int id;
Ball[] others;

Ball(float xin, float yin, float din, int idin, Ball[] oin) {
x = xin;
y = yin;
diameter = din;
id = idin;
others = oin;
}

void collide() {
for (int i = id + 1; i < numBalls; i++) {
float dx = others[i].x - x;
float dy = others[i].y - y;
float distance = sqrt(dx*dx + dy*dy);
float minDist = others[i].diameter/2 + diameter/2;
if (distance < minDist) {
float angle = atan2(dy, dx);
float targetX = x + cos(angle) * minDist;
float targetY = y + sin(angle) * minDist;
float ax = (targetX - others[i].x) * spring;
float ay = (targetY - others[i].y) * spring;
vx -= ax;
vy -= ay;
others[i].vx += ax;
others[i].vy += ay;
}
}
}

void move() {
vy += gravity;
x += vx;
y += vy;
if (x + diameter/2 > width) {
x = width - diameter/2;
vx *= friction;
}
else if (x - diameter/2 < 0) {
x = diameter/2;
vx *= friction;
}
if (y + diameter/2 > height) {
y = height - diameter/2;
vy *= friction;
}
else if (y - diameter/2 < 0) {
y = diameter/2;
vy *= friction;
}
}

void display() {
fill(200,24,40,100);
rect(x, y, diameter, diameter);
}
}

Ejercicio 2

float bricksPerLayer = 26.0;
float brickLayers = 30.0;
Cube brick;
float brickWidth = 80, brickHeight = 45, brickDepth = 35;
float radius = 145.0;
float angle = 0;

void setup(){
size(640, 360, P3D);
brick = new Cube(brickWidth, brickHeight, brickDepth);
}

void draw(){
background(255);
float tempX = 0, tempY = 0, tempZ = 0;
fill(0, 40, 29, 40);
noStroke();
// Add basic light setup
lights();
translate(width/2, height*1.2, -380);
// Tip tower to see inside
rotateX(radians(-45));
// Slowly rotate tower
rotateY(frameCount * PI/600);
for (int i = 0; i < brickLayers; i++){
// Increment rows
tempY-=brickHeight;
// Alternate brick seams
angle = 360.0 / bricksPerLayer * i/2;
for (int j = 0; j < bricksPerLayer; j++){
tempZ = cos(radians(angle))*radius;
tempX = sin(radians(angle))*radius;
pushMatrix();
translate(tempX, tempY, tempZ);
rotateY(radians(angle));
// Add crenelation
if (i==brickLayers-1){
if (j%2 == 0){
brick.create();
}
}
// Create main tower
else {
brick.create();
}
popMatrix();
angle += 360.0/bricksPerLayer;
}
}
}

Víktor Koen



Viktor Koen es un artista de origen griego nacido en el año de 1967, quien tras comenzar su carrera abordando la pintura en un sentido tradicional, incursionó progresivamente en nuevos medios tales como los collages digitales y el fotomontaje; aunque la mayor parte de su obra ha sido considerada como perteneciente al género de la ilustración, resulta notable su capacidad de conciliar los clásicos aspectos formales, compositivos y pictóricos con el arte digital y las tecnologías que este implica. Su temática se centra principalmente en la fusión de elementos mitológicos con elementos de carácter abstracto y gestual, entre tradición y contemporaneidad, pero resultando de un corte mayoritariamente figurativo y narrativo, donde la representación y el aspecto visual juegan un papel fundamental. Viktor Koen ha realizado también ilustraciones para libros, revistas, diversas publicaciones e inclusive para instalaciones de otros artistas.