Frankenstein: “DeadFlowers” – Nature of Code

This week’s Nature of Code Assignment (posted here) was to incorporate as many previous lessons into one sketch as possible. I ended up expanding on a previous assignment that involved oscillation (Flowers).


Screen Shot 2016-02-13 at 3.03.11 PM

In the Oscillation assignment I ended up with these multicolor dot-ed polar roses. I wanted to try and make each of these roses a particle system and give them something of a life cycle. The roses already used both oscillation and noise techniques which I expanded on in this assignment. I started by making a system of flowers which contained relatively little code but I thought could be helpful If I wanted to do something to every flower simultaneously.

Screen Shot 2016-03-23 at 9.47.46 AM

This wound up including a timeout function for each flower in the system that was loosely based on the frame rate since I had some issues there later on. The actual flowers were also a system of petal particles which is where most of the animation takes place.

Screen Shot 2016-03-23 at 9.50.56 AMScreen Shot 2016-03-23 at 1.31.58 AM

Once I was able to rebuild my original sketch but as a system of systems I tried to refine it a bit and this is where I added some throttling based on the frame rate. As things started looking more and more similar to the original sketch I started adding new behaviors, such as each petal particle aging individually and eventually dying and some anti-gravity for the dead particles.

Screen Shot 2016-03-23 at 3.49.52 AM

Lastly I added in an interactive force of wind with can blow the particles back and forth as they float away.

Screen Shot 2016-03-23 at 5.14.17 AM

I considered a flow field or some flocking behaviors for the particles as they blow away but after trying some out I decided that a more simple behavior look nicer to me. I’m not sure exactly what this project is about but I did have a lot of fun making it. I could see making a sort of virtual garden going forward.



Leave a Reply

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