Orthogonal Branching System | Algorithm Development
Final Project for Coding for Design I Course
[DATE] Sept - Dec 2022
[INSTRUCTOR] Panagiotis Michalatos
[Project Type] Individual project
[Abstract] In this project, I focused on algorithm development, trying to combine together two classical algorithms – Random Walk and Branching System and then tried to use it to do some designs. I started with simple rules to mimic Random Walk behavior then played with the algorithm and also introduced more new features into it to gain more control, get more possibilities and increase its complexities. Then I added the Branching function, and this additional function converted the whole algorithm into a space-filling algorithm, which generates more interesting results. Next, the algorithm was extended from 2D to 3D, having more practical meaning in the design field. Thus, in the end, I successfully used this algorithm developed by myself to finish a concept design for a public installation.
Stage 1. Random Walk Algorithm
The basic rules to achieve Random Walk:
After implementing these basic rules, we can get a unique behavior similar to Brownian Movement:
We can play with these rules to have different variations
Variation 1 - One Main Direction
Variation 2 - Different Step Length
Variation 3 - Attractor
Variation 4 - No Self-intersection
Stage 2. Branching System Algorithm
The basic rules to achieve the branching behavior:
This algorithm can also be extended to 3 dimentional:
We can also add some growth obstacles to get more control
Stage 3. Public Installation Design
Use the algorithm to generate the framework
Set different demands for different areas
Use growth obstacles to influence geometry generation
Give the framework volumes
According to different demands in different areas, I used different sunshade components to consist the panel system