selected works available
 
node.garden
processing   august, 2004   j.tarbell
 
  launch small java applet launch medium java applet launch large java applet  
  250 x 250 pixels
100 spines
2,000 nodes
500 x 500 pixels
200 spines
5,000 nodes
1,000 x 1,000 pixels
500 spines
10,000 nodes
 
 
Nodes are instantiated on irregular curving lines. When connected together, they form a Node Garden. The lines can be considered the substrate from which the nodes grow.

The linear arrangement of the substrate in these early images is mathematically simple and makes irrigation of resources easy.
 
early runs instantiating nodes on a sinusoidal substrate
0000 early gardening attempts
 
node network
0001 a few more nodes and the garden seems to be holding up nicely
 
bountiful node harvest
0002 now a few thousand (shown here reduced several times)...
 
Things begin to get interesting when nodes are allowed variable mass. Now connections between the nodes are a function mass. The larger a node, the further away it can make connections. Connections have been drawn in color to differentiate them from the substrate.

The potential mass of a node diminishes further out on each substrate path.
 
node garden
1000
node garden
1001
node garden
1002
node garden
1003
 
Substrate paths are allowed to wander further and with increased irregularity. The Node Garden appears to posses unintended structure with larger more established nodes near the center.
 
delicious
2000 a nice garden of healthy nodes
 
It is interesting to note that nodes are connected together in two distinct networks; one of the substrate paths, and one of the inter-node connections.
 

3000 linear substrate

3001 linear substrate

3002 point substrate

3003 point substrate

3004 radial substrate

3005 radial substrate
 
Variations in the way substrate paths are instantiated produce distinctly unique compositions. Substantial irregularity is generated from the same basic algorithm due to the high number of random calculations.
 

4000

4001

4002

4003
 

5000 10,000 node instances
 
After many days of experimentation with the substrate arrangement, I found my favorite in the circular garden seen above. The connection properties of the circular garden produce a special latent feedback network rich in its potential as an emergent system.
 
 
 

7000

detail

7001

detail

7002

detail
 

The graphic rendering of the node garden is a five step process:

First the substrate paths are drawn (light grey and curvy). Substrate paths instantiate nodes as they grow, but the rendering of the nodes is postponed until all paths have been drawn.

Next the nodes are back painted. Back painting includes a solid black circle for the node itself, plus a bit of dark glow to give the illusion the node is embedded in the surface. This process uses the DARKEST image blending mode of Processing so that the white square of the source image does not overdraw the substrate paths.

Node connections are then drawn as faint lines, darker nearer the endpoints.

Next the nodes are painted black once again. This step is required to erase the connection lines within the node itself. I wanted the node connections to appear to stop at the edge of the node, rather than at its center.

Finally, a specular reflection is painted over each node. No ray tracing is actually occurring, the specular is simply a graphic image pre-drawn by hand. This process uses the LIGHTEST image blending mode of Processing.

 
 
 
wild nodes
e0000 early rendering of the node garden sans-substrate
 
Early versions of the node garden just didn't feel right. The random placement of nodes within a square region produced consistently boring results.