GREGORIUS BUDHIJANTO


Floor Plan Generator

Graph data structures can be summarized as a series of nodes that are connected by edges to form a network. In architectural terms, these nodes can represent different programming elements, such as rooms/space and circulation, and edges can represent required adjacencies. Laying out these nodes and edges can be a tricky exercise by hand. However, by utilizing a recursive backtracking algorithm, each node can be laid out and connected with brute force until the entire program is complete.

Once all graph nodes and edges are placed, a force directed graph algorithm can be used to converge all room spaces based. Over iterations, this algorithm uses attraction and repulsion vectors to unite nodes that are apart and push out nodes that are too close or overlap. Once the nodes are at a point of limited movement, the algorithm completes with a schematic layout of the project’s program.

This script offers architects and designers a faster and more efficient way to generate multiple conceptual floor plans. By iterating through various schemes, architects can gain a sense of the program relative to the size of its spaces and adjacencies. When a scheme shows potential, architects can save the layout and further develop it in their preferred style. By enabling architects to visualize these schemes quickly, they can spend more time designing and less time exhausting monotonous efforts.