The Swimming pool

The Swimming Pool is a 1st stage prototype  for an art installation, which will explore the use of swimming pools in european and North American films as a signifier of forthcoming disaster often resulting in a death or murder of one of the  characters committed or experienced by a protagonist. In this case a swimming pool plays the role of a proverbial  rifle, which if introduced into a scenario has to end up shooting someone. The two films used in the installations are a French/German film “The swimming pool” produced in 1969 and British/French film “the swimming pool” produced in 2003.

The idea of a miniature swimming pool was an immediate reaction to the water park assignment. I had been thinking about trying a miniature installation for quite some time but never had a chance to attempt it. I had seen both films long time ago but they remained somehow in my memory and it was a perfect opportunity to try out the concept.

The work process: 

My first idea was to have an open rectangular container into which I will project a video of a woman swimming. An interactive component was to have the swimmer to follow the movement direction of the viewer. So if the viewer will be moving to the right the video of the woman swimming in that direction will start. If the viewer will move to the left the swimmer will appear from the right side of the container and will swim to the left. In case when there will be no movement – the swimming pool will remain empty. For that 3 videos will have to be loaded into the processing and the code will have to be written to switch from one to another with the change of direction. Instead of the sensor I was going to use the webcam and the movement tracking code which Nick showed us. I started with the code. Chris Olsen helped me with brainstorming the code and we came up with the sketch.

.photo

Experiment 1

I bought a container and attempted to project on it from a small Pico projector.

 

Experiment 2

The downside of this idea was that in order for effect really work I needed a long container, in order for a viewer to move alongside it with the swimmer. But there were no such containers at the store. I bought a few of the same to put them one next to another but the look and the feel was cheap and uninteresting. In the store I had found a variety of large glass boxes, which looked interesting and gave me an idea of placing the swimming pool into the box. I went back to the store and bought one to experiment with it and see if projection will look better inside the box.

Experiment 3

I was still experimenting with the set up of the box adding grass and water.

The idea for interaction changed also and I decided to use the photo sensor and Arduino to work with processing. The idea evolved into having a sensor inside the box so the projection could be triggered when the box will be open. When the box will close the black rectangle will cover the image. As a sample for the code I used the sketch I found on http://www.silentlycrashing.net/p5/libs/video/. I made appointment with Jackson, our TA and we were working on the code for almost 3 hours. However, we couldn’t establish a reliable communication in-between Arduino and Processing. The troubleshooting took a long time. We established the values for the sensor but the printl was reading a different value. It seems that the issue was that Arduino was sending a number but the processing was receiving it as a string. This is an unfinished processing code from this session:

import processing.video.*;
Movie theMov;
Movie theMov2;
boolean isPlaying;
boolean isLooping;
boolean direction = false;
int lValue = 0;

String[] inSensor = new String[1];
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port

void setup() {
size(640, 480);

/////// Initialize the Serial object and print serial ports
println(Serial.list());
//tring portName = Serial.list()[7]
myPort = new Serial(this, “/dev/tty.usbmodem411”, 9600);
// myPort.bufferUntil(‘\n’);
//println(Serial.list()[7])

theMov = new Movie(this, “Act 1 transition 2-Medium.m4v”);
theMov.loop(); //plays the movie over and over
theMov2 = new Movie(this, “Act 1 transition 2-Medium.m4v”);
theMov2.loop(); //plays the movie over and over
isPlaying = true;
isLooping = true;
}

void draw() {
background(0);

// if ( myPort.available() != 0) { // If data is available,
// val = myPort.read(); // read it and store it in val
//
//
// println(int(val));

if(val >= 10){
//theMov.play();
isPlaying = true;

}
//
else
if(val < 10){
// theMov.stop();
isPlaying = false;
println(“movie stopped”);
direction = !direction;
}

// }

if(isPlaying == false){
theMov.stop();
// theMov2.stop();
fill(0);
// rect(0,0,width,height);
}

else
if (isPlaying == true){
if (direction == true){

theMov.play();
image(theMov, 50, 50); //mouseX-theMov.width/2, mouseY-theMov.height/2);
}
else
if (direction == false){
theMov2.play();
image(theMov2, 50, 50); //mouseX-theMov.width/2, mouseY-theMov.height/2);

}
}

}
void serialEvent(Serial myPort){
String inString = myPort.readStringUntil(‘\n’);
if (inString != null){
inString = trim(inString);}

//inSensor = split(inString, “,”);
//if (inSensor.length>=0)
//{
// lValue = int(inSensor[0]);
//}

//println(inString);
val = int(inString);
println(val);
}
void movieEvent(Movie m) {
m.read();
}

void keyPressed() {

// if (key == ‘p’) {
// // toggle pausing
// if (isPlaying) {
// theMov.pause();
// } else {
// theMov.play();
// }
// isPlaying = !isPlaying;
//
// } else if (key == ‘l’) {
// // toggle looping
// if (isLooping) {
// theMov.noLoop();
// } else {
// theMov.loop();
// }
// isLooping = !isLooping;
//
// } else if (key == ‘s’) {
// // stop playing
// theMov.stop();
// isPlaying = false;
//
//
// } else if (key == ‘j’) {
// // jump to a random time
// theMov.jump(random(theMov.duration()));
// }
}

 

Experiment 4

As I was working on the code my idea about the project continued to evolve. I wanted to have a more elaborate set up then just one box. Since my concept was around 2 movies – I wanted to have to spaces representing each movie. So I went back to the store and bought 2 identical boxes to try my idea. Two boxes felt immediately much better and it was clear that it was the right choice.

 

 

Experiment 5

I’m trying out the edited video of the swimmer in one of the boxes.

 

Experiment 6

After experimenting with the video and the grass I felt that the set-up in the boxes has to be more elaborate with the miniature objects which could be arrange to signify a murder. I bought some samples of miniature furniture and tried different things out till I found the set up, which felt right.

 

Experiment 7

While working with the miniatures I felt that something was missing visually from this set up. The projections were too small and there was a lot of negative space on the sides. I also felt the the narration needed another line through. In both movies much of the action in the swimming pool is being observed, spied on from the main house. As well as encounters between men and women are also being reflected or visible through the windows of the house. So the house was not represented in my set up. I decided to use tablets fastened to the sides of the boxes for the display of the close-ups of the voyeurs spying on the swimmers. I edited 4 videos and put 2 of them on the tablets on the sides of the boxes.

Experiment 8

In order to have one video feed playing in two swimming pools I had to calculate the size of the frame and create a mask which will allow the 2 videos play side by side in the same frame. I also wanted to have the lighting for the grass and the miniatures on the sides of the swimming pools. My friend and editor Scott Edwards helped me with creating and layering the main video for the projector.

Experiment 9 

This is a process we went through measuring the area and creating mask in the photoshop.

 

 

Work on the code

The code had to be completely rewritten. Now one movie was running on a loop throughout the presentation. The boxes were wired with 2 light sensors. When both lids were closed the black rectangular box was blocking all of the image. When one of the lids was open – one side of the black box was removed and the video was visible. If both lids were open – both black masks were removed and both videos were visible.  The communication in-between Arduino and the processing was simplified and only 4 signals were sent to the processing using binary code.  00 – both boxes closed; 01 – left box open; 10 – right box open; 11 – both boxes open.

swimmingpool_bb

swimmingpool_schem                   photo 2

SOURCE CODE

GitHub

Conclusion

It was very interesting to work on this project. The evolution of the idea and the execution in such short time frame made me very focused and I enjoyed the challenge. I also was happier than with my previous project because I decided to approach it right away as an art installation rather than just a technical challenge. Thinking in a broader sense was more satisfying and the ideas were more interesting. I would like to continue to work on this project in the future. I already have a few ideas about how to make it into a full scale art installation. For that I will have to figure out manufacturing of the boxes and  I would like to experiment with 3d printing of the miniature set. I also would use the screens instead of projections and will try to shoot tilt/shift as Nick suggested.