Fixed 2010-07-04 post
This commit is contained in:
parent
332868a1a0
commit
2d7c7e70cc
@ -1,21 +1,54 @@
|
|||||||
---
|
---
|
||||||
layout: post
|
title: Processing: DLA, quadtrees
|
||||||
title: ! 'Processing: DLA, quadtrees'
|
date: July 4th, 2010
|
||||||
|
author: Chris Hodapp
|
||||||
tags: processing
|
tags: processing
|
||||||
status: publish
|
|
||||||
type: post
|
|
||||||
published: true
|
|
||||||
---
|
---
|
||||||
I first dabbled with [Diffusion-Limited Aggregation](http://en.wikipedia.org/wiki/Diffusion-limited_aggregation) algorithms some 5 years back when I read about them in a book. The version I wrote was monumentally slow because it was a crappy implementation in a slow language for heavy computations (i.e. Python), but it worked well enough to create some good results like this:
|
|
||||||
|
|
||||||
<a href="http://hodapple.com/zenphoto/Computer Generated/dla2c.png"><img class="ZenphotoPress_thumb " title="dla2c" src="http://hodapple.com/zenphoto/zp-core/i.php?a=Computer Generated&i=dla2c.png&w=500&h=500" alt="dla2c" /></a>
|
I first dabbled with
|
||||||
|
[Diffusion-Limited Aggregation](http://en.wikipedia.org/wiki/Diffusion-limited_aggregation)
|
||||||
|
algorithms some 5 years back when I read about them in a book (later
|
||||||
|
note: that book was
|
||||||
|
[Nexus: Small Worlds and the Groundbreaking Theory of Networks](http://www.amazon.com/Nexus-Worlds-Groundbreaking-Science-Networks/dp/0393324427?ie=UTF8&*Version*=1&*entries*=0)). The
|
||||||
|
version I wrote was monumentally slow because it was a crappy
|
||||||
|
implementation in a slow language for heavy computations
|
||||||
|
(i.e. Python), but it worked well enough to create some good results
|
||||||
|
like this:
|
||||||
|
|
||||||
After about 3 or 4 failed attempts to optimize this program to not take days to generate images, I finally rewrote it reasonably successfully in [Processing](http://processing.org/) which I've taken a great liking to recently. I say "reasonably successfully" because it still has some bugs and because I can't seem to tune it to produce lightning-like images like this one, just much more dense ones. Annoyingly, I did not keep any notes about how I made this image, so I have only a vague idea. It was from the summer of 2005 in which I coded eleventy billion really cool little generative art programs, but took very sparse notes about how I made them.
|
[{width=50%}](../images/dla2c.png)\
|
||||||
|
|
||||||
It was only a few hours of coding total. Part of why I like Processing is the triviality of adding interactivity to something, which I did repeatedly in order to test that the various building-blocks of the DLA implementation were working properly.
|
After about 3 or 4 failed attempts to optimize this program to not
|
||||||
|
take days to generate images, I finally rewrote it reasonably
|
||||||
|
successfully in [Processing](http://processing.org/) which I've taken
|
||||||
|
a great liking to recently. I say "reasonably successfully" because it
|
||||||
|
still has some bugs and because I can't seem to tune it to produce
|
||||||
|
lightning-like images like this one, just much more dense
|
||||||
|
ones. Annoyingly, I did not keep any notes about how I made this
|
||||||
|
image, so I have only a vague idea. It was from the summer of 2005 in
|
||||||
|
which I coded eleventy billion really cool little generative art
|
||||||
|
programs, but took very sparse notes about how I made them.
|
||||||
|
|
||||||
The actual DLA applet is at [http://openprocessing.org/visuals/?visualID=10799](http://openprocessing.org/visuals/?visualID=10799). Click around inside it; right-click to reset it. The various building blocks that were put together to make this are: [here](http://openprocessing.org/visuals/?visualID=10794), [here](http://openprocessing.org/visuals/?visualID=10795), [here](http://openprocessing.org/visuals/?visualID=10796), [here](http://openprocessing.org/visuals/?visualID=10797), and [here](http://openprocessing.org/visuals/?visualID=10798).
|
It was only a few hours of coding total. Part of why I like Processing
|
||||||
|
is the triviality of adding interactivity to something, which I did
|
||||||
|
repeatedly in order to test that the various building-blocks of the
|
||||||
|
DLA implementation were working properly.
|
||||||
|
|
||||||
These are at OpenProcessing mostly because I don't know how to embed a Processing applet in Wordpress; perhaps it's better that I don't, since this one is a CPU hog.
|
The actual DLA applet is at
|
||||||
|
[http://openprocessing.org/visuals/?visualID=10799](http://openprocessing.org/visuals/?visualID=10799). Click
|
||||||
|
around inside it; right-click to reset it. The various building blocks
|
||||||
|
that were put together to make this are:
|
||||||
|
[here](http://openprocessing.org/visuals/?visualID=10794),
|
||||||
|
[here](http://openprocessing.org/visuals/?visualID=10795),
|
||||||
|
[here](http://openprocessing.org/visuals/?visualID=10796),
|
||||||
|
[here](http://openprocessing.org/visuals/?visualID=10797), and
|
||||||
|
[here](http://openprocessing.org/visuals/?visualID=10798).
|
||||||
|
|
||||||
This blog also has an entire gallery of generative art with Processing that I think is great: [http://myecurve.wordpress.com/](http://myecurve.wordpress.com/)
|
These are at OpenProcessing mostly because I don't know how to embed a
|
||||||
|
Processing applet in Wordpress; perhaps it's better that I don't,
|
||||||
|
since this one is a CPU hog. (*Later note:* I wonder if I can just
|
||||||
|
host these examples inline using
|
||||||
|
[Processing.js](http://processingjs.org/)...)
|
||||||
|
|
||||||
|
This blog also has an entire gallery of generative art with Processing
|
||||||
|
that I think is great:
|
||||||
|
[http://myecurve.wordpress.com/](http://myecurve.wordpress.com/)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user