Putting it all Together

After getting a satisfying result from testing the movements of my birds and the way they flock together, now it was time to put these sketches together with the sketch I built before where circles are attracted to people’s faces which are picked up by a camera.

Thanks to my practice with Processing, I found this quite easy to do. By using the seek function in the bird class I had built previously I was able to pass in the co-ordinates of the faces array from the Open CV face detection sketch. To do this I needed to add two variables to the applyBehaviours function sx and sy, which represented the co-ordinates of the object that was t be “seeked” by the birds. Below is how it looked in code:

  void applyBehaviors(ArrayList<Bird> Birds, float sx, float sy) {
     PVector seekForce = seek(new PVector(sx, sy));
  for (Bird b : birds) {
    for (int j = 0; j < faces.length; j++){
    // Path following and separation are worked on in this function
    b.applyBehaviors(birds, faces[j].x+(faces[j].width/2), faces[j].y+(faces[j].height/2));
    // Call the generic run method (update, borders, display, etc.)

My first camera test

My first test went pretty well, and the birds were accurately being attracted to my face. Although I later noticed I had forgotten to put the constrain function (more information on this detailed here) of the rotation of the birds and so they were often flying upside down. I think part of this might have been because the the velocity of the birds was changing more rapidly due to my face being a rapidly moving target, whereas in previous sketches the circle has been largely static. In the end I had to constrain the heading function quite a bit (to be between the value of -1 and 1, whereas usually it can be anywhere between -3 and 4) and although it did take away some of the dramatic diving motions the birds could make, it meant that overall the birds looked far more realistic.

Another problem I had was with the contrast between the birds and the background environment. I had a feeling this was mainly to with similar levels of colour saturation in the birds and the background. That is the birds did not stand out as bright colours in the background were present. As there will probably be similar problems in the foyer space, as I noted in the poster analysis I needed to alter the live video feed coming into the camera in some way.Another thing I noticed that the birds were not immediately noticeable as being derived from origami (the reasons for this are explored here), so I needed to do something to allude to that in the sketch.

To solve the problem I had I looked back to my initial conceptual research. As my work dealt with cybernetics, I looked into writers on that subject. One thing that stood out to me was the work of Philip Zhai in Get Real: A Philosophical Adventure in Virtual Reality where as a thought experiment he envisions a world that is totally dependent on the machine. He argues that in a world where everyone is hooked up to a virtual reality, and that is all that is known from birth it becomes a hyperreality. Hyperreality, as described by Umberto Eco as “the authentic fake” where a construction becomes indistinguishable from reality. Social media could be said to be an example of this. As it becomes more pervasive the presentation of a person’s social media profile and online presence becomes part of the way they are perceived by the wider world.

In order to reflect this in my work, I decided to create a “hyperreality” out the the images I gained from the video feed. As noted before one of the main materials for origami is paper, and its significance is not just structural but symbolic as well. So I decided to add a paper texture to my work. By constructing a world made of paper I was not only referring to the origami nature of the birds but creating a constructed hyppereality of the real.

The paper texture I used.

In order to do this I created a texture to lay over the video feed. By creating a png file of a photograph of a crumpled piece of paper and then lowering its opacity in Photoshop I created a see through image. I then used techniques learned earlier to load the image and placed it over the video feed.
I also added some filters to the image, using the commands, image.filter(DILATE); and image.filter(GREY); to make it grey-scale and add a softening mask to the image.


Here is the result, I am quite pleased with it and it makes the birds stand out far more. Next I am going to experiment with the birds themselves and try and see if I can try and improve their designs.

Zhai, P., 1996. Get Real: A Philosophical Adventure in Virtual Reality Maryland: Rowman & Littlefield

Eco, U., 1986. Travels in Hyper Reality San Diego: Harcourt.