Although I am happy with how my initial Ribbons script turned out it still wasn’t exactly what I was trying to create. After playing with Perlin Noise based forces in my straightforward particle system and creating outstanding fluid motion, I thought I might go back to the Ribbons and add a Flow Field to that as well. The result is much more dynamic than the original and quite graceful.

And a little technical stuff. The ribbon is just a strategically rendered particle system. I created a particle system class with particles and springs. As new particles are added (on mouse press) new springs are also created connecting each particle to the one before. Each particle repels all nearby particles and springs pull them together. The result is a string of connected particles which would, if the forces extended infinitely, eventually straighten itself out into a line. To render the structure all particles and springs are hidden and a curve is drawn by wrapping the rendering loop in beginShape(); and endShape(); with a curve vertex for each.

In the previous version the wobble was created by a slight random force applied to each point and a wind vector of the particle system. Because of the varied weights of the particles and spring lengths the wind wobbled the structure more convincingly. In this version the same Perlin Flow Field I’ve been using in many of my recent projects pushes the ribbon around much more dynamically. Different parts of the string are pulled in different directions making it writhe back and forth. The color is an attribute of the particle system and ‘randomly’ shifts over time.





  • David Jones

    Lovely Ribbons. Are you willing to share your Processing code for these creations?

  • Pingback: lithium flowers bloom / Flow Field and Smoky Ribbon

  • Lincoln

    I would also love to see the code for that

  • Pingback: Lost in Beauty » Anthony Mattox

  • Tony

    these are very awesome!

  • Stefan

    Really great effect,
    are you planning on open sourcing your processing sources by any chance ?

    Would love to play around with them…

    Thanks anyway for the great article.

  • aesop

    I just started to learn processing.
    It is for my class but I think it is quite interesting.

    I googled your images :)

    Thank you for great works!

  • inger Gregory

    Like a visual dance…. meditation. Thanks for sharing your innovative work.

  • Marina Gvozdic

    I have shared this on fb, amazing, just wondering would you/did you make this as application for IMac/ Iphone……..

  • Anthony

    I created this in Processing which runs on most desktop platforms. I’m just learning Objective C though, so you can expect a few iPhone generative applications like this and some games in the future.