A System for Constrained Aggregation

Rule-Based Component Aggregation with Constrained Rotation, Reflective Symmetry and Collision Detection | September-October 2017

This project resulted in the development of a geometrically general but compositionally constrained system for component aggregation in the Rhinoceros 3D / Python environment. Components and connection points are defined as blocks in Rhinoceros, and parameters for aggregation rules, rotation constraints and levels of symmetry are given as Python variables.

Random Populations and Notations

sticks 2A 1.jpg

sticks 2A 2.jpg

 

Random Populations

boxes 1.jpg

boxes 3.jpg

Studies

2,4,8,16 it.jpg
Tree recursion – 2, 4, 8, 16 iterations
symm larger matrix.png
Reflectional symmetry

 

Iterative Cursor Growth

 

L-systems

kilim

For anyone interested in L-systems, here are a couple of nice examples by Fatih Erikli and Diana Lange:

https://fatiherikli.github.io/kilim-motifs/

https://www.openprocessing.org/sketch/205214

An interesting book on the subject, “The Algorithmic Beauty of Plants” by Przemyslaw Prusinkiewicz and Aristid Lindenmayer, is also available online:

http://algorithmicbotany.org/papers/abop/abop.pdf