Posts Tagged ‘steering’

cyclic: outwitted by a 1000 particles

Saturday, June 21st, 2008

I have to admit, I’m hopelessly fumble-fingered in vector drawing. I never get the curves right, somehow they’re not smooth, not natural looking.

The funny thing is that a 1000 particles chasing each other from random starting positions seem to manage this quite nicely. Initial jagged chaos swiftly evolves into flowing curves, continuously trying to simplify themselves. Guess I’m not a sufficiently complex, self-interacting system :-(

Anyway I’m rather pleased with this construct. Pointless overkill makes me happy. The construct and its code can be found here. There’s no interaction beyond resetting with a click of the mouse.

Update: Lucas Tamarit pointed out, somewhat uh… pointedly, that this piece is very similar to ’sandtraveller’ by Jared Tarbell. Check this and the rest of his work out here. I’ve got to agree there’s definitely a resemblance. However, I’ve checked out the code and the mechanics behind ‘cyclic’ are really different from ’sandtraveller’, as is the rendering technique. I invite everybody else to make the comparison.

Not every painting of a sunflower is a Van Gogh forgery ;-)

cyclic

cyclic

cyclic

towards the within: toying with steering code

Wednesday, May 21st, 2008

Up to now, I’ve always treated particles as their physical equivalents: pointlike objects undergoing forces. As a physicist, this way of thinking comes natural, however it is fairly limiting. There’s a lot of work out there dealing with particles as agents, capable of steering towards goals, avoiding obstacles and flocking together in interesting ways.

Towards is my first step in exploring the possibilities of agent-generated graphics. It has an old-fashioned feel about it. (And yes, I got stuck on the black-white-red palette again…)

To get a feel of how this kind of explorative programming goes, I’ve uploaded seven versions showing the chronological (pro/re)gression of the code. All pieces need some time to reveal their true dynamics. Click on the applet to restart the construct.

towards 01
towards 02
towards 03
towards 04
towards 05
towards 06
towards 07

towards01

towards 04

towards 06

towards 07