Skip to main content

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Burry, M.: Scripting Cultures: Architectural Design and Programming. Architectural Design Primer. Wiley, Hoboken (2013). https://doi.org/10.1002/9781118670538

  4. 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)

    Google Scholar 

  5. 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

    Article  Google Scholar 

  6. Carpo, M.: The Alphabet and the Algorithm, 1st edn. MIT Press, Cambridge (2011)

    Google Scholar 

  7. 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

    Article  Google Scholar 

  8. 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

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. Davidson, S.: Grasshopper: algorithmic modeling for rhino (2023). https://www.grasshopper3d.com. Accessed 14 Feb 2023

  11. 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

    Book  MATH  Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. 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)

    Google Scholar 

  14. Jackson, M.A.: Principles of Program Design. Academic Press Inc, USA (1975)

    Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

  17. Knuth, D.E.: Literate programming. Comput. J. 27(2), 97–111 (1984). https://doi.org/10.1093/comjnl/27.2.97

    Article  MATH  Google Scholar 

  18. 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)

    Google Scholar 

  19. Nassi, I., Shneiderman, B.: Flowchart techniques for structured programming. SIGPLAN Not. 8(8), 12–26 (1973). https://doi.org/10.1145/953349.953350

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. Oppenheimer, N.: An enthusiastic sceptic. Archit. Des. 79(2), 100–105 (2009). https://doi.org/10.1002/ad.862

    Article  Google Scholar 

  22. Picon, A.: Architecture and the virtual: towards a new materiality? Prax. J. Philos. 114–121 (2004)

    Google Scholar 

  23. 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

    Article  Google Scholar 

  24. van der Plas, F., Bochenski, M.: Pluto.jl (2021). https://github.com/fonsp/Pluto.jl. Accessed 14 Feb 2023

  25. 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

    Article  Google Scholar 

  26. 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

  27. 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

  28. 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)

    Google Scholar 

  29. 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

  30. 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)

    Google Scholar 

  31. Terzidis, K.: Expressive Form: A Conceptual Approach to Computational Design. Spon Press, London and New York (2003)

    Google Scholar 

  32. Terzidis, K.: Algorithmic Architecture. Architectural Press, New York (2006)

    Book  Google Scholar 

  33. 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

    Article  Google Scholar 

  34. Ventura, R.: Geometric Constraints in Algorithmic Design. Master’s thesis, Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal (2021)

    Google Scholar 

  35. 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

Download references

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

Authors

Corresponding author

Correspondence to Renata Castelo-Branco .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics