Projects

Account

Support

Profile

Floating Bubble

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper

Inspired by the paper "Floating Bubbles" by Hao Hua and Ting-Li Jia, this project implemented the "Floating Bubble" diagram in ghPython through agent-based generation. The “Floating Bubble” program can be used in floor plan generation, representing the relationship between programmatic uses in a clear and straightforward way.

Floating Bubble

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper

Inspired by the paper "Floating Bubbles" by Hao Hua and Ting-Li Jia, this project implemented the "Floating Bubble" diagram in ghPython through agent-based generation. The “Floating Bubble” program can be used in floor plan generation, representing the relationship between programmatic uses in a clear and straightforward way.

Floating Bubble

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper

Inspired by the paper "Floating Bubbles" by Hao Hua and Ting-Li Jia, this project implemented the "Floating Bubble" diagram in ghPython through agent-based generation. The “Floating Bubble” program can be used in floor plan generation, representing the relationship between programmatic uses in a clear and straightforward way.

📑Overview


As Hua and Jia pointed out in their paper, conventional architectural bubble diagram can sometimes be difficult to understand. The "Floating Bubble" diagram presents a clearer and more dynamic way of visualizing whether two programmatic space should be closer or further apart. The system consists of multiple bubbles which function as autonomous agents. Each agent has its own adjacencies in relation to the other bubbles (agents). The size of the bubbles indicates its area. Before the simulation, a square matrix is used to indicate all adjacency information. Based on the matrix, bubbles that should be adjacent will end up next to each other and will also have a line connecting them. Lastly, as any other space planning, the bubbles should not overlap each other.

📑Overview


As Hua and Jia pointed out in their paper, conventional architectural bubble diagram can sometimes be difficult to understand. The "Floating Bubble" diagram presents a clearer and more dynamic way of visualizing whether two programmatic space should be closer or further apart. The system consists of multiple bubbles which function as autonomous agents. Each agent has its own adjacencies in relation to the other bubbles (agents). The size of the bubbles indicates its area. Before the simulation, a square matrix is used to indicate all adjacency information. Based on the matrix, bubbles that should be adjacent will end up next to each other and will also have a line connecting them. Lastly, as any other space planning, the bubbles should not overlap each other.

📑Overview


As Hua and Jia pointed out in their paper, conventional architectural bubble diagram can sometimes be difficult to understand. The "Floating Bubble" diagram presents a clearer and more dynamic way of visualizing whether two programmatic space should be closer or further apart. The system consists of multiple bubbles which function as autonomous agents. Each agent has its own adjacencies in relation to the other bubbles (agents). The size of the bubbles indicates its area. Before the simulation, a square matrix is used to indicate all adjacency information. Based on the matrix, bubbles that should be adjacent will end up next to each other and will also have a line connecting them. Lastly, as any other space planning, the bubbles should not overlap each other.

🧪Methodology


My model inherited the two principles rules from the paper—the attraction and the separation mentioned above. For the bubbles specifically, instead of giving them a fixed radius, which is probably what will happen in reality, I gave a range where the user can change the minimum and maximum. My adjacency matrix used a randomly generated 2D list of +1, 0, and -1 to indicated relationships.

✨Project Highlights

✏️Takeaways


I was able to implement a basic agent-based modelling by creating a simple ruleset. One of the challenges I had, since my adjacency matrix was randomly generated, was having no solution as the paper mentioned, especially when there are a large number of bubbles with complex adjacencies. The next step moving forward would be addressing these "stalemates" by either improving the adjacency matrix or introducing new strategies ("chaos" from the paper) to break the stalemates.

© Elise (Xinyi) Wang 2022

© Elise (Xinyi) Wang 2022