Shark creature or spine. Not really sure where this is going, just playing around

Posted: January 26, 2017, 1:26 am

Today’s most exciting structure (tagged as sevenBurst)! This is a ‘plant’ that has two types of nodes: The first, I will call Growy, moves towards a weighted average of 1) the average direction of collided spheres and 2) the previous internode direction. The other, lets call it Branchy, generates a little ‘star-burst’ pattern. Each Growy node knows how many nodes it is away from the last branchy node. When a growy node gets created that is n nodes away from its branchy predecessor, it creates a new branchy node. In this case n=8. Branchy nodes spawn n=7 growy nodes in a radial pattern orthogonal to the internode vector.

Notice that all the branches maintain their distance from one-another. This is a nice result of using this diffusion-limited-aggregation-like method with the spheres; the structure blocks other parts of the structure from the jittering spheres, so it self-avoids. Of course, this 7branching structure could very easily be expressed with an l-system, but forcing an l-system to self-avoid and have all these organic curves would be a bit clunky. Perhaps I am just trading one type of clunky for another: The length of the first paragraph suggests the definition of such a structure requires a lot of code. Well it does, at the moment. But all of this is practice for create a neural-net like genetic code which takes in particle collisions and decides what to do (where to spawn a new node, die, etc.) Then I don’t have to write the growth rules; they get generated!

Posted: November 18, 2016, 11:24 pm

Today I learned how to animate growing structures in blender! The yellowish one is more reflective of how the growth simulation actually works: nodes (or vertices) keep getting added, and the line segments are between nodes. The rainbow one uses blender’s skin modifier with a subdivision surface modifier for smoothing. Both animations are constructed using the build modifier. The build modifier re-constructs the mesh according to the order in which elements were added, in this case by the script.

Posted: November 16, 2016, 1:13 am

Posted: November 10, 2016, 11:12 pm

weightA,weightB = .95,.05

weightA,weightB = .7,.3

weightA,weightB = .5,.5

weightA,weightB = .05,.95

These structures are generated using a growth rule that determines where new nodes are added when a spherical-particle collides with a pre-existing node. The position relative to the collided-node is a weighted average of two vectors. The first is the vector defined from the parent-node to the collided-node, A. The second vector is that from the collided-node to the center of the particle (B). 

The particles are moving mostly in a random-walk, very slightly biased downwards.

All other parameters equal, these structures were run with different weights for the A and B vector. From top to bottom, the structures are generated with an increasing proportion of the weight on the B (particle position) : weightA,weightB = (0.95,0.05)  (0.7,0.3)  (.5,.5)  (0.05,0.95)

To me these structures are a sort of visualization of the different levels of abstraction from the growing structure and its environment. 

you are welcome to play with this project yourself!:

Posted: November 7, 2016, 9:19 pm
“…some problems are best solved by methods that ignore the objective. The main lesson is the inherent limitation of the objective-based paradigm and the unexploited opportunity to guide search through other means.”

- Joel Lehman and Kenneth O. Stanley (2011)
Abandoning Objectives: Evolution Through the Search for Novelty Alone
Posted: October 28, 2016, 10:46 pm

Today I was mostly trying to figure out how to encode a ‘genetic language’ that can express a wide range of growth rules in PlantGrower. But that got tiresome so here is a shape discovered by making the particle size really small.

Posted: October 24, 2016, 11:31 pm

screen shots from today’s development of PlantGrower. Happy to see structures beginning to get more reminiscent of corals

Posted: October 19, 2016, 6:38 pm

first steps on a project to generate plant-like forms:

Posted: October 17, 2016, 7:06 pm

Posted: October 6, 2016, 6:34 pm

Posted: August 30, 2016, 12:06 am

Posted: August 29, 2016, 4:40 pm

Posted: August 24, 2016, 7:32 pm

Posted: August 10, 2016, 12:47 am

Posted: August 9, 2016, 10:27 pm

Posted: August 4, 2016, 11:10 pm

Posted: July 16, 2016, 2:21 am

Posted: July 16, 2016, 1:31 am

Posted: July 16, 2016, 12:21 am

Posted: July 11, 2016, 7:40 pm