Tendrils, formerly Ribbons

It was finally time to revisit the Ribbons piece I did a while back. It has been a favorite of mine and was in desperate need of a rework.

This version, now called tendrils for obvious reasons, features a few black vines that forever grow upwards. As they grow, smaller tendrils branch out from the main one and slowly unwind. Once they grow as much as they can, they start to break down into particulate matter that is swept away by a perlin noise wind.

More versions of this project to follow, but for now, how about a video! Vimeo version below or you can see the more detailed, bigger download version in lovely Quicktime format.

Tendrils 01 from flight404 and Vimeo.

UPDATE ——————————————————
Added another video. Slightly different particulate matter.

View the Quicktime here or watch the Vimeo version below.

Tendrils continued from flight404 and Vimeo.

13 Responses to “Tendrils, formerly Ribbons”

  1. Grisser says:

    There’s a “Flowers” demo that is kind of like this by moppi productions (http://www.moppiproductions.net/)
    Just saying maybe you’d like to check it out. It’s pretty cool :)

  2. seltar says:

    INSANE!
    I wish I had your insight into motion!

    keep up the great work!

    -seltar

  3. mw says:

    Robert,

    have you considered working with a musician/sound designer for your work ? I’m open and would love to work on this kind of visual……..

    mark

  4. [...] >>> Watch the results HERE >>> Read More about Tendrills Here >>> The Amazing Visual Language of Processing [...]

  5. David says:

    Awesome! Only thing I have to say is that the dots look better close up and the ‘flowers’look better as a group far away…

  6. steve cooley says:

    Between you and Shiffman, jeesh! I surrender! ;)

  7. blprnt says:

    Jeebus.

    Robert, you are a machine. A machine for good, or a machine for evil… that I’m not sure of.

  8. steve cooley says:

    Hey, actually, Robert, if you aren’t already committed to anyone for Zero/One ‘08, I would love to talk to you about it. I’m on the board of directors at Works/San José, a non-profit volunteer arts organization in san jose. I joined up after seeing how little local representation there was at Zero/One ‘06. I would love to talk to you about having you show some of your work in our gallery during zero one next year. Email me whenever you can. :)
    -steve

  9. [...] Robert Hodgin’s latest visual experiment with Processing is terrifyingly awesome, as usual. [...]

  10. Robert, are we looking at a “prerendered” version in these videos? Or is this how it flows in real-time?

  11. flight404 says:

    These are prerendered. The one that runs real time just needs me to tone down the amount of bubbles. This is probably like 10x to 15x the amount of bubbles in the original version. This being said, once I clean up the code (and boy, does it need cleaning… cobbled together with bandaids and dental floss it is), I bet it would run much faster.

    The issue that made it messy is a side effect of how I use ArrayLists. Say I have a generic tendril class. And I store every instance of these tendrils in a Tendrils ArrayList. As I iterate through the list, each tendril does what it is supposed to. But if it is supposed to make a branch which is but a smaller tendril, ideally I would just pop another one into the ArrayList but I guess ArrayList iterators dont like it if you add or subtract while they are iterating. So I ended up doing something quick and stupid and made a second (and eventually a third) Tendrils ArrayList (now called Tendrils, Spirals, and Swirls :/ ) and I just have it so a tendril can add a new Spirals, and a spiral can add a new Swirl. But if I fix some code in Tendril which should also be fixed for the Spirals and Swirls, I have to make the changes to all three and frankly, this pisses me off.

    Thoughts?

  12. flight404 says:

    Perhaps it is time for me to finally embrace Polymorphism concepts in Java?

  13. afarmer says:

    what you could do is use a pending queue. so, whenever a tendril wants to spawn a new tendril, just add it to another ArrayList. then, once you’re finished processing (hah) the main ArrayList, simply copy the pending list into the main one. how does that sound?