Processing Motion Experiment – Meander

I have really fallen in love with Processing, but I had been had hit a bit of a plateau in terms of progress in the past month or so. I never really have spent too much time with algorithmic motion/drawing. When I jumped into Flash, I went straight towards the Tween class and never spent much time trying to work in the EnterFrame-loop based motion design. Because of this, learning how to work with Processing’s draw() loop has been a bit foreign and one can only find so many ways to implement sine/cosine motion treatments.

Luckily, I ran across the simply stunning work of Robert Hodgin who just happened to offer up his source code. After looking through one of his projects and banging away at it, I ended up learning a quite a bit on how motion can end up looking more organic and sporadic. This particular project used the noise() method as its basis for motion jittering. I had not even known such a method existed. After hacking up Robert’s source, I came up with some really interesting form experiments using Robert’s general motion concepts.

Meander Video

Meander from P.J. Onori on Vimeo.

3 thoughts on “Processing Motion Experiment – Meander”

  1. Thanks for sharing this – The code and your insight. Would be nice to read more about your Processing work with code. I’m learning too and remain at a very elementary stage for the moment.



  2. It’s my pleasure Mark, although I have to say that I can’t take much of the credit on this particular project. While I significantly modified the code for this particular event, most of the credit goes to Robert for his original work.

    I will definitely be spending much more time in processing in the weeks/months to come and will be posting all my work and source code. I also just found out that Flash CS3 can now generate Quicktime movies from code-driven content (I can’t believe I missed this) so I will be using Flash in the same capacity (when it makes sense). Stay tuned…

Leave a Reply

Your email address will not be published. Required fields are marked *