Reflection Loop | 2001
Pseudocode (Public Event Reflection Loop), 2001
This poem was written in pseudocode to explain the logic of 400 reprogrammed Furby toys. Each Furby "pixel" is modeled after a water molecule that responds to viewer presence, as would a reflecting pool - hence the title of the sculpture in which they were embedded: "The Pool," 2001.
//PUBLIC EVENT REFLECTION LOOP
import language.poesis.*;
public event reflectionLoop extends Self
{
//global
Object observer;
Instrument art;
Pixel furby;
Composition H2O[];
boolean somebody;
//constructor
public reflectionLoop(Object subject, Instrument mirror, Pixel physical_pixel)
{
observer = subject;
art = mirror;
furby = physical_pixel;
H2O = new Composition[20 * 20];
for (index i = 0; i < H2O.getLength(); i++)
{
H2O[i] = new Pixel(furby);
}
}
//methods
private simulatePerception()
{
flip();
feed();
talk();
tickle();
blind();
clap();
pet();
}
public anybodyThere()
{
mySignal.output();
myInput.check();
if (myInput == mySignal)
{
somebody = true;
}
else
{
somebody = false;
}
}
private void suspendAnimation()
{
eyes.close();
mouth.shut();
voice.silence();
motorFunction = null;
}
public animate()
{
motorFunction.enable();
voice.makeAudible();
}
//loop forever
public main()
{
while(ON)
{
for (index i = 0; i < H2O.getLength(); i++)
{
Pixel my_furby = H2O[i];
my_furby.simulatePerception();
my_furby.anybodyThere();
if (somebody)
{
my_furby.animate();
}
else
{
my_furby.suspendAnimation()
}
}
}
}
}