Project 3- Flocking Lights

by blase @ 7:53 am 28 February 2012

For this project, I wanted to explore flocking behavior. Rather than letting a screen mediate the interaction between observer and flocking behavior, I used a strand of 25 LED lights to create a physical embodiment of flocking behavior. Each individual light is mapped to one of 25 birds flying through simulated 3-D RGB space. Birds cannot overlap, yet they exhibit flocking behavior. As a result, all lights are always in the same color family, yet no two lights are ever the exact same color at a particular instance.

I used a Processing language version of Dan Shiffman’s 3-D Flocking Boids example that I edited to exhibit the flocking behavior I had in mind, in addition to a set of 25 lights that I bought from Adafruit. I used an Arduino to control the lights, adding my own control code on top of the demo code that Adafruit provides. I’m not sure I like how I mounted the lights in a straight line on a white background, but that was mostly to more clearly demonstrate the colors changing. In actuality, I would imagine these lights being attached to a wall or ceiling in a more interesting layout.

1 Comment

  1. ————————–
    did you just want to use lights? i don’t really see the connection too well

    I’d like to hear more about the motivation behond the idea, as opposed to just the details of the implementation

    RGB fading via PWM would be nicer, although that’s naturally more work for a small project
    –I agree that PWM would be nice. or really just another form of attacking color movement. It seems like the classic christmas or library view is doing these RGB fades

    why is the performance of the processing app so slow? I’d imagine a faster running simulation would be more representative since the movement towards convergence etc is so abstratc at a slow speed
    Shiffman’s 3D boid app is a little slow, the OpenGL renderer and increasing the stack size helps a bit?

    can you use persistence of vision with long-exposure photography to achieve additional dimensions? Maybe drive the simulation by an accelerometer on the light bar so as you move it, it updates the simulation…

    I don’t think the one dimensional mounting is doing you any favors in terms of representing what’s happening with the flock. I naturally think of flocks as being cloud-like and I think if you had mounted the lights in some kind 3D arrangement, it would correspond better with what the birds are doing.

    I like this idea very much, but perhaps your on screen particles could be colored in relation to the changing leds as well – the boids? they are colored

    I really like the idea of trying to represent flocking in a way more abstracted from spatial movement, but I think it may have been hard to follow what was going on with the subtle shifts of color. Especially on the second demo where they LEDs were all starting in different hues it would have been nice to have some way to identify the leader. It also might be nice to either let each jump run longer, or have the lights flock faster. Sometimes it was hard to perceive the convergence and they just looked like randomly changing LEDs.

    Overall it would be nice to hear from you a larger picture. Obviously a long stick with a pattern of lights doesn’t have and application. But if you would begin to paint a picture of what future work might lead.


    I like how natural the lights transition. The 3D flocking is a bit difficult to map to the 2D LED light array. Though I can imagine if this was an entire room installation, it would pretty cool: projecting the 3D flocking on the walls while having this LED field reacting around you. The colors are really nice though perhaps interactive?
    Reminds me of The Slaloms at Haufbrau House. Would make some great Christmas lights. Light they’re converging on = Jesus metaphor?! Also not sure how the 3D maps to the 2D other than overall color.
    The 3D flocking is confusing/lacks meaning. It’s cool, but hard to follow.
    I agree ^^ . it looks great although it’s hard to derive meaning without the screen’s rendering. And you’re right, the going out one wall and reappearing through the other is a bit strange. I really liked the first flocking algorithm that you visualized. I think you could have just stuck to that and worked on implementing something other than just random change of color (maybe having them flock towards lights that werent just in the middle? maybe the position of that central lead light is significant, etc? would have made the visualization of flocking easier to follow than the 3D version.
    I disagree ^^ I think it’s a very interesting take on color generation. He’s basically using a flocking algorithm to derive color palettes, with a really nice implementation to show it off. There are definitely opportunities to inject more meaning by connecting it to a dataset of some kind, but I don’t think we need that necessarily. Yeah, I prefer the 3d to 1d visually. Presentation could have been a little more rich. Show us some background on your concept, influences, sketches or explanatory diagrams to help sell the idea.
    ^^Here again I think the 2D flocking is better at the “Color Palette” aspect than the 3d
    The 3D version is interesting. I’m guessing the change in color (speed) is slow because colors can’t change that quickly. It would be interesting to have some interaction with the flocks and change the color somehow. I think the meaning doesn’t really matter for me (as far as color is concerned). I can imagine this on the Pausch bridge with the flocking with more parameters. Flocking can make sure that the colors are coordinated somehow yet still random.

    I agree with most people saying that 2D representation is better to undertand than the 3D flocking but the lights look beautiful! I like it :)

    Nice work! I would have liked to see a processing “sketch” in which you simulated/tested the LED’s before actually building them.. to test the idea, as part of your process. 1D flocking is a little difficult to understand, not that it’s not an unreasonable locus for an exploration. Your results are lovely but need more explication I think, in your presentation — for example, a diagram explaining how 1D flocking works. By the way, there are other 1D simulations that are worth exploring !

    Blase, you should reprogram the Paush bridge to do something cool. Convincing demo. Well done. Are you using RGB LEDs or are they BlinkMs? I’m assuming you’re familiar with BlinkM:
    if not: You could probably do some great stuff with your program and these – Zack

    If anyone is wondering I think these are the ADAfruit strands:
    ^I’m curious too!

    Lovely work! We need more physicality in this class, it was a new way to explore what is now a common tool in generative behavior. It makes me imagine crafting sound through a room in a similar way.
    ^^Flocking tones? That could be really unpleasant for the poor people in the room.
    ^^Flocking localization of sound entities. Spatial flocking. Yes it is different, but the physicality of his project evokes new ideas. :-)

    Very nice!
    I wonder what the 3D flocking would look like arranged in a cube/matrix instead of a line, I like the variation two- because the monochromatic theme is very nice!
    ^This would be AWESOME. It might take 4 times as many LEDs, but it would really help visualize what’s happening.
    *yes! And maybe even adding some movement with motors?
    *Yeah I would love to see that. Maybe a final project idea.

    I love the fact that you went out of the computer to a physical artifact. Way to go!

    I love how it is physical, instead of just using the standard flocking visualization. The one dimensional pattern can be hard to follow, but it’d make a great ambient installation with an interesting explanation.

    Reminds me of the backlight of LED tv screens that enhance your movie watching experience (the part where you show the flocking on screen + lights).

    You could have speeded up the flocking on the screen a little bit, just for the sake of demonstration (good point)

    Glad that you showed both the lights and the flocking “brids” image together. Helps to put the lights in a spacial context.
    *** Agreed!

    More LEDs(maybe could form a shape of a 2D surface instead of just linear), or even you could make it a cube like,,,,,so 3D!!! yeah yeah yeah!!!! IT should be great.
    *** That would be pretty awesome.


    Comment by dan — 28 February 2012 @ 7:45 pm

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2022 Interactive Art and Computational Design, Spring 2012 | powered by WordPress with Barecity