//Project Description – Concept
Our brief for this project was to utilize some of the fundamental programming concepts learned in the Introduction to Processing course by integrating them into a emergent morphogenetic algorithm. During this course we have been taught several types of algorithms such as; particle spring systems, swarms, recursive trees and cellular automata. The objective of this assignment was to utilize one of these systems in order to generate form. We were also expected to incorporate a basic user interface into the system.
In my studio project I am designing a table. Therefore I wanted to take this opportunity to explore morphogenetic behavior in order to inform the geometry for my furniture design. Ideally it would be possible to computationally simulate the physical material behavior, and this would give us a design based on the laws of physics and mathematical behavior.
// Code Development
In this code we have a ‘Fly’ class, which represents the Swarm behavior. The ‘flies’ are constructed by PVectors, and we are able to control the; position, direction, speed, color and trail of each of these. Once initialized the Swarm will move collectively towards the center of the Swarm, continuously calculating if each ‘fly’ is too close to its neighbors and will adjust its position accordingly.
In order to have some visualization of a table design, I added three center points, which could be representative of the legs. The dimensions of (x, y, & z) are also set in order to contain the boundary of the table.
// User Interface
By including the extending library of Control P5, we are able to have graphical user interface sliders as part of the sketch. Here we can set a range of values, that get updated in real time when adjusted. The two parameters chosen for flexible modification were: Force and Table Size. Force controls the speed at which the particles move towards their target, first vertically in the z direction, then horizontally in x and y. This influences the overall form of the table legs, when the force is low the cone of the legs is wider, and when the force is higher then the legs are more vertical.
The second parameter that could be adjusted using the sliders was the (x & y) dimensions of the table size. However in this code the swarm would still go to the predetermined z height first, before adjusting the horizontal dimensions of the table. So, it was not always clear how this would update. The adjustment of table size also had a few glitches, if the size was set to lower than the bounding region, then sometimes the legs would appear flattened in one dimension. Also when sliding this Control P5 slider, sometimes this would rotate the scene on screen.
Inlucent Swarm Table – Processing is a project of IaaC, Institute for Advanced Architecture of Catalonia developed at Introduction to Processing, Master in Advanced Architecture, in (2016/2017) by:
Students: Noor El-Gewely
Faculty: Angelos Chronis