Hostname: page-component-77f85d65b8-6bnxx Total loading time: 0 Render date: 2026-03-27T12:42:09.651Z Has data issue: false hasContentIssue false

Automated generation of circulations within a floorplan

Published online by Cambridge University Press:  03 April 2025

Shiksha
Affiliation:
Department of Mathematics, BITS Pilani, Pilani Campus, Pilani, India
Sudarshan Anand
Affiliation:
Department of Mathematics, BITS Pilani, Pilani Campus, Pilani, India
Krishnendra Shekhawat*
Affiliation:
Department of Mathematics, BITS Pilani, Pilani Campus, Pilani, India
Karan Agrawal
Affiliation:
Department of Mathematics, BITS Pilani, Pilani Campus, Pilani, India
*
Corresponding author: Krishnendra Shekhawat; Email: krishnendra.shekhawat@pilani.bits-pilani.ac.in
Rights & Permissions [Opens in a new window]

Abstract

Various factors are considered when designing a floorplan layout, including the plan’s outer boundary, room shape and size, adjacency, privacy, and circulation space, among others. While graph-theoretic approaches have proven effective for floorplan generation, existing algorithms generally focus on defining the boundary of the plan or different room shapes, lacking the investigation of designing circulation space within a floorplan. However, the circulation design in architectural planning is a crucial factor that affects the functionality and efficiency of areas within a building. This paper presents a graph-theoretic approach for integrating circulation within a floorplan. In this study, we use plane graphs to represent floorplans and develop graph algorithms to incorporate various types of circulation within a floorplan as follows:

  1. i. The first phase generates a spanning circulation, that is, a corridor leading to each room using a circulation graph.

  2. ii. Subsequently, using an approximation algorithm, the circulation space is minimized, that is, generation of minimum circulation space covering all the rooms, thereby enhancing space utilization in the floorplan.

  3. iii. Furthermore, customized circulations are generated to cater to user preferences, distinguishing between public and private spaces within the floorplan.

In addition to the theoretical framework, we have implemented our algorithms in Python and developed a user-friendly graphical interface (GUI), enabling seamless integration of our algorithms into architectural design processes.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press
Figure 0

Figure 1. (a) A rectangular floorplan, (b) A rectangular floorplan featuring spanning circulation, and (c) Graph associated with the RFP shown in (a).

Figure 1

Figure 2. (a) Subdivision of edge (u,v), (b) A circulation graph of the PTPG shown in Figure 1(c) (black vertices correspond to the corridor spaces).

Figure 2

Table 1. Literature survey related to the automated generation of floor plans

Figure 3

Table 2. Overview of approaches used for circulation analysis and floor plan optimization

Figure 4

Figure 3. The relations between user input and results of application of various algorithms described in this paper.

Figure 5

Figure 4. (a) A PTPG G, (b) Adding the first corridor vertex numbered 8 by subdividing the exterior edge (0, 4) of the face (0 −1 −4) in G.

Figure 6

Figure 5. (a) Adding the next corridor vertex numbered 9 by selecting the face (0 − 1 − 3) as F2 and subdividing the edge (0,1), (b) Triangulating the graph shown in (a) by adding new edges (9, 3) and (9, 8) such that the resultant graph is a PTPG.

Figure 7

Figure 6. Choosing a neighboring face to a subdivided face at each step from (a) to (d) and introducing a new corridor vertex, ensuring that all faces in the graph undergo subdivision.

Figure 8

Figure 7. (a) A PTPG G, (b) an RFP $ \unicode{x1D53D} $ associated with the PTPG G, and (c) a circulation graph GC of PTPG G.

Figure 9

Table 3. In this table, T=Top wall, B=Bottom wall, L=Left wall, R=Right wall, N=North, S=South, E=East, W=West. This table illustrates the orientation of the common wall w between two rooms and indicates the walls in both rooms that require shifting based on their arrangement around the common wall w.

Figure 10

Table 4. This table outlines the necessary wall shift in the neighboring room when the orientation of either wall w1 or w2 aligns with the orientation of w.

Figure 11

Figure 8. Iteration 1: (a) Considering the first triplet (8, 0, 4) with corridor vertex 8 from GC, (b) Shift Table 1 at the end of iteration 1, and (c) Shift Table 2 at the end of iteration 1.

Figure 12

Figure 9. Iteration 2: (a) Considering the triplet (9, 0, 1) with corridor vertex 9 from GC, (b) Shift Table 1 at the end of iteration 2, and (c) Shift Table 2 at the end of iteration 2.

Figure 13

Figure 10. Iteration 3: (a) Considering the triplet (10, 3, 1) with corridor vertex 8 from GC, (b) Shift Table 1 at the end of iteration 3, and (c) Shift Table 2 at the end of iteration 3.

Figure 14

Figure 11. Iteration 4: (a) Considering the triplet (11, 1, 4) with corridor vertex 11 from GC, (b) Shift Table 1 at the end of iteration 4, and (c) Shift Table 2 at the end of iteration 4.

Figure 15

Figure 12. Final Iteration: (a) Considering the triplet (14, 4, 5) with the last corridor vertex 14, (b) Shift Table 1 at the final iteration, and (c) An RFP of G featuring spanning circulation obtained by using the Shift Table 1 shown in (b).

Figure 16

Figure 13. An instance of minimum set cover to illustrate Algorithm 4.

Figure 17

Figure 14. The circulation graph GC (from Algorithm 1) and the RFP$ \unicode{x1D53D} $ (from (Shekhawat, 2018)).

Figure 18

Figure 15. The circulation graph Gc (from Algorithm 1) with the set of non-redundant corridors marked in red and the floorplan $ \unicode{x1D53D} $ (from (Shekhawat, 2018)) featuring minimal circulation.

Figure 19

Figure 16. (a) The input to the GUI for which we want the minimal set of corridors with entry between rooms 2 & 9 (b) The expected minimal corridor space (c) The sub-optimal minimized set of corridors given by Algorithm 4 (redundant corridor between rooms 2 & 7).

Figure 20

Figure 17. (a) If Room C is public, we can move from A to B through C without a corridor (b) If Room C is private, we have to create a corridor similar to the one marked by the grey stripes and use it or other adjacent public rooms to move between A and B.

Figure 21

Figure 18. (a) The input graph. (b) The spanning circulation (like mentioned in previous algorithm the entry corridor, here 0 − 1, is not explicitly shown since it is known to be a door). (c) The corridor placement if the room 5 alone is made public.

Figure 22

Figure 19. (a) The circulation graph corresponding to the spanning circulation. The corridor vertices excluding the encircled ones are the ones that will be considered for the final floorplan. (b) The final floorplan with the corridor placement according to the constraint that only room 5 is public and the rest are private.

Figure 23

Figure 20. User draw a PTPG as input graph and chooses the option of circulation and then “normal” when the pop-up appears.

Figure 24

Figure 21. For the input graph in Figure 20, the user selects the Circulation option, specifies the entry door, sets the corridor thickness, and chooses either ‘Get minimal circulation’ for optimized space or ‘Submit’ for spanning circulation.

Figure 25

Figure 22. The GUI displays the floorplan with minimal circulation. Note that every room has at least one of its walls facing a shared corridor. The rooms which share a wall instead of a corridor can have an internal connection or no connection as per user preferences.

Figure 26

Figure 23. For the same input graph. user checks “Remove circulation” and chooses the option of circulation.

Figure 27

Figure 24. The GUI shows a possible spanning circulation and displays a window where user can remove any set of corridors at once. The pair of numbers displayed to the left of a text box denotes the pair of rooms on either side of that corridor. For example, as per image on right, if user wants to remove corridor between rooms 1 and 4, then the user enters “1” in the text box beside the pair “1 4”. There is also a button which allows user to remove all corridors and give back the corresponding floorplan.

Figure 28

Figure 25. The initial spanning circulation.

Figure 29

Figure 26. The Spanning circulation has been updated, removing corridors between room pairs (1,4) and (5,6).

Figure 30

Figure 27. An input graph corresponding to the room list for a small office, selecting entrance of the layout and thickness of the required corridor.

Figure 31

Figure 28. A floorplan for the given input graph featuring spanning circulation.

Figure 32

Figure 29. Optimizing the circulation space: (a) Initial floorplan with redundant corridors (1, 2, and 3), (b) Optimized floorplan after designating the Break Room (BR) and Waiting Room (WR) as public rooms.