Abstract
Architectural design is strongly based on visual and spatial reasoning, which is not easy to translate into algorithmic descriptions and, eventually, running programs, making it difficult for architects to use computational approaches, such as Algorithmic Design (AD). One of the most pressing problems is program comprehension. To overcome it, we propose an automatic illustration system for AD programs that produces annotated schemes of the program’s meaning.
The illustration system focuses on a basic set of geometric elements used in most calculations to place geometry in space (points, distances, angles, vectors, etc.), and on the way they are manipulated to create more complex geometric entities. The proposed system automatically extracts the information from the AD program and the resulting illustrations can then be integrated into the AD program itself, intertwined with the instructions they intend to explain.
This article presents the implementation of this solution using an AD tool to generate the illustrations and a computational notebook to intertwine the program and the illustrations. It discusses the choices made on the system’s implementation, the expected workflow for such a system, and potential future developments.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alfaiate, P., Caetano, I., Leitão, A.: Luna Moth: supporting creativity in the cloud. In: Proceedings of the 37th Annual Conference of the Association for Computer Aided Design in Architecture (ACADIA), pp. 72–81. Cambridge (2017)
Brown, M.H., Najork, M.A.: Algorithm animation using 3D interactive graphics. In: Proceedings of the 6th Annual Symposium on User Interface Software and Technology (UIST 1993), pp. 93–100. ACM (1993)
Burry, M.: Scripting Cultures: Architectural Design and Programming. Architectural Design Primer. Wiley, Hoboken (2013). https://doi.org/10.1002/9781118670538
Caetano, I., Garcia, S., Pereira, I., Leitão, A.: Creativity inspired by analysis: an algorithmic design system for designing structurally feasible façades. In: Proceedings of the 25th International Conference of the Association for Computer-Aided Architectural Design Research in Asia (CAADRIA), vol. 1, pp. 599–608. Bangkok (2020)
Caetano, I., Santos, L., Leitão, A.: Computational design in architecture: defining parametric, generative, and algorithmic design. Front. Archit. Res. 9(2), 287–300 (2020). https://doi.org/10.1016/j.foar.2019.12.008
Carpo, M.: The Alphabet and the Algorithm, 1st edn. MIT Press, Cambridge (2011)
Castelo-Branco, R., Caetano, I., Leitão, A.: Digital representation methods: the case of algorithmic design. Front. Archit. Res. 11(3), 527–541 (2022). https://doi.org/10.1016/j.foar.2021.12.008
Castelo-Branco, R., Caetano, I., Pereira, I., Leitão, A.: Sketching algorithmic design. J. Archit. Eng. 28(2), 04022010 (2022). https://doi.org/10.1061/(ASCE)AE.1943-5568.0000539
Castelo-Branco, R., Leitão, A.: Comprehending algorithmic design. In: Gerber, D., Pantazis, E., Bogosian, B., Nahmad, A., Miltiadis, C. (eds.) CAAD Futures 2021. CCIS, vol. 1465, pp. 15–35. Springer, Singapore (2022). https://doi.org/10.1007/978-981-19-1280-1_2
Davidson, S.: Grasshopper: algorithmic modeling for rhino (2023). https://www.grasshopper3d.com. Accessed 14 Feb 2023
Diehl, S.: Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-46505-8
Goldschmidt, G.: Design representation: private process, public image. In: Goldschmidt, G., Porter, W.L. (eds.) Design Representation, pp. 203–217. Springer, London (2004). https://doi.org/10.1007/978-1-85233-863-3_9
Goldstine, H.H., Von Neumann, J.: Planning and coding of problems for an electronic computing instrument: report on the mathematical and logical aspects of an electronic computing instrument (1947)
Jackson, M.A.: Principles of Program Design. Academic Press Inc, USA (1975)
Kelly, N., Gero, J.S.: Design thinking and computational thinking: a dual process model for addressing design problems. Des. Sci. 7(May), 1–15 (2021). https://doi.org/10.1017/dsj.2021.7
Kery, M.B., Myers, B.: Exploring exploratory programming. In: Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 25–29. IEEE (2017). https://doi.org/10.1109/VLHCC.2017.8103446
Knuth, D.E.: Literate programming. Comput. J. 27(2), 97–111 (1984). https://doi.org/10.1093/comjnl/27.2.97
Leitão, A., Lopes, J., Santos, L.: Illustrated programming. In: Proceedings of the 34th Annual Conference of the Association for Computer Aided Design in Architecture (ACADIA), pp. 291–300. Los Angeles (2014)
Nassi, I., Shneiderman, B.: Flowchart techniques for structured programming. SIGPLAN Not. 8(8), 12–26 (1973). https://doi.org/10.1145/953349.953350
Nguyen, A.T., Reiter, S., Rigo, P.: A review on simulation-based optimization methods applied to building performance analysis. Appl. Energy 113, 1043–1058 (2014). https://doi.org/10.1016/j.apenergy.2013.08.061
Oppenheimer, N.: An enthusiastic sceptic. Archit. Des. 79(2), 100–105 (2009). https://doi.org/10.1002/ad.862
Picon, A.: Architecture and the virtual: towards a new materiality? Prax. J. Philos. 114–121 (2004)
Picon, A.: Beyond digital Avant-gardes: The materiality of architecture and its impact. Archit. Des. 90(5), 118–125 (2020). https://doi.org/10.1002/ad.2618
van der Plas, F., Bochenski, M.: Pluto.jl (2021). https://github.com/fonsp/Pluto.jl. Accessed 14 Feb 2023
Price, B.A., Baecker, R.M., Small, I.S.: A principled taxonomy of software visualization. J. Vis. Lang. Comput. 4(3), 211–266 (1993). https://doi.org/10.1006/jvlc.1993.1015
Rein, P., Ramson, S., Lincke, J., Hirschfeld, R., Pape, T.: Exploratory and live, programming and coding: a literature study comparing perspectives on liveness. Program. J. 3(1), 1:1–1:33 (2018). https://doi.org/10.22152/programming-journal.org/2019/3/1
Roman, G.C., Cox, K.C.: Program visualization: the art of mapping programs to pictures. In: International Conference on Software Engineering, pp. 412–420. IEEE (1992). https://doi.org/10.1145/143062.143157
Ruck, A.: Abacus and sketch. In: Kara, H., Bosia, D. (eds.) Design Engineering Refocused, chap. 5, pp. 76–87. AD Smart 03. Wiley, Hoboken (2017)
Rule, A., Tabard, A., Hollan, J.D.: Exploration and explanation in computational notebooks. In: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, pp. 1–12. CHI 2018, Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3173574.3173606
Sammer, M.J., Leitão, A., Caetano, I.: From visual input to visual output in textual programming. In: Proceedings of the 24th International Conference of the Association for Computer-Aided Architectural Design Research in Asia (CAADRIA), vol. 1, pp. 645–654. Wellington, New Zealand (2019)
Terzidis, K.: Expressive Form: A Conceptual Approach to Computational Design. Spon Press, London and New York (2003)
Terzidis, K.: Algorithmic Architecture. Architectural Press, New York (2006)
Turrin, M., von Buelow, P., Stouffs, R.: Design explorations of performance driven geometry in architectural design using parametric modeling and genetic algorithms. Adv. Eng. Inform. 25(4), 656–675 (2011). https://doi.org/10.1016/j.aei.2011.07.009
Ventura, R.: Geometric Constraints in Algorithmic Design. Master’s thesis, Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal (2021)
Wang, A.Y., Mittal, A., Brooks, C., Oney, S.: How data scientists use computational notebooks for real-time collaboration. Proc. ACM Hum. Comput. Interact. 3, 1–30 (2019). https://doi.org/10.1145/3359141
Acknowledgments
This work was supported by national funds of Fundação para a Ciência e a Tecnologia (FCT) with references UIDB/50021/2020, PTDC/ART-DAQ/31061/2017, and DFA/BD/4682/2020.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Castelo-Branco, R., Leitão, A. (2023). Illustrating Algorithmic Design. In: Turrin, M., Andriotis, C., Rafiee, A. (eds) Computer-Aided Architectural Design. INTERCONNECTIONS: Co-computing Beyond Boundaries. CAAD Futures 2023. Communications in Computer and Information Science, vol 1819. Springer, Cham. https://doi.org/10.1007/978-3-031-37189-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-37189-9_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-37188-2
Online ISBN: 978-3-031-37189-9
eBook Packages: Computer ScienceComputer Science (R0)