Perlin noise experiments

As mentioned here, a session by Robert Hodgin at Flash on the Beach got me wanting to experiment with perlin noise in flash.

Below are the results of that experimentation. I've included each step in my experiment and you can see how what started out as one idea morphed into something completely different. I really enjoyed setting out without anything in particular to build and seeing what happened. Although I was a bit disapointed that the direction I started to take towards the end didn't really work.

All of the sourcecode is available from a subversion repository:

http://svn.kelvinluck.com/perlinArrows/

Each of the flash movies below has a revision number - the sourcecode for that movie is available by checking that revision out of subversion.

r3 - crazy arrows

I started by simply mapping the brightness of each point. I wasn't sure how Robert had animated his so I am just changing the perlin noise every frame - hence the crazy jerkyness! The alpha of each arrow is related to the position of the mouse - the ones closest were meant to be darker but it ended up with lines coming out from the mouse in a weird way (related to the rotation of the arrows I think).

See it

r4 - nicer arrows

I continued on from r3 and instead of totally changing the perlin noise every frame I am now using a larger piece of perline noise and moving the area that my arrows are sampling smoothly. Note that I'm still not normalising the arrow rotation properly and all the arrows are still pointing in more or less the same direction.

See it

r5 - arrows falling off mouse jerkily

Now I started dropping the arrows from the mouse as it moves across the screen. The arrows were then meant to move in the direction they were pointing. As you can see, something went very wrong here but I quite like the effect.

See it

r6 - arrows falling off mouse smoothly

I carried on from the last revision and now the arrows are actually going in the direction they are meant to be.

See it

r7 - arrows on perlin noise contors

Now the arrows are just randomly appearing and following the "perlin noise contors" from wherever they appear for a set amount of time and then disappearing again.

See it

r8 - with trails

As above but saving trails as they move along.

See it

r9 - with trails - charcol effect

Trying to save the trails to a bitmap to stop the experiment slowing down as it runs but accidentally I was also caching the arrowhead to the bitmap. Results in a kind of charcolly effect...

See it

r10 - with trails and caching

Now the trails are cached to keep the speed up...

See it

r11 - with fading trails

Now the trails fade after they are drawn...

See it

r12 - with bluring trails

As above but now the trails blur out...

See it

r13 - glowworms v1

The arrows suddenly transformed themselves into glowworm type things or deep sea fish seen from above. I think this was my favourite of the series.

See it

r14 - glowworms with big glowing heads

The glowworms heads started glowing more...

See it

r15 - mortal glowworms

The glowworms lose lifeforce as they swim around. This was the beginnings of my attempt to turn this into an alife experiment...

See it

r16 - with proximity

I added in a port of Grant Skinner's grid based proximity management so that the glowworms can find the other glowworms close to them. At the moment a small blue line is drawn between glowworms close enough to each other.

See it

r18 - glowworm canabilism

Glowworms have started eating each other when they get close enough. Unfortunately it didn't work out as well as I expected but could get interesting with a bit more work...

See it

r19 - the end

I'm not sure exactly what was going on with this one but it was just before my trial of Flash CS3 ran out. So this is the end of this little run of experiments for me.

See it