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
|
||||
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