M. Tsigkari, Dipl Arch - Aristotle University, MSc AAC - Bartlett, UCL







For centuries architectural design has been based exclusively on the designer’s creative capacity and drawing skills. But the integration of new computational techniques inside the drawing loop has opened a new door to architectural production. The algorithmic manipulations of the form have set a new equilibrium between physical and virtual space models: the designer is now capable of interacting in real time with its creation, which can provide him/her with feedback that can be re-entered to the design procedure. Thus the fourth dimension of time is added to the process.



Sonic Projections was set on the above hypothesis as a speculative installation that would explore all the potentials that this newly acquired programmatic freedom can give to the designer. In that sense it is both a generative structure and an interactive installation. It is created generatively via Processing programming language and can be manipulated in real time through the script’s interface; but simultaneously it attempts to explore in an infantile level some probable rules of interaction between the installation and its users, if the structure was to be constructed.


The scheme presented in this paper is an early project scripted for the Adaptive Architecture and Computation MSc in Bartlett, UCL. The project’s aim was the creation of an installation in the city of Bath that would enhance interactivity and provide a new element for the city’s urban core. Having never scripted before it was a challenge to explore how far the idea of computational integration in architectural design could be stretched in that context. 


This paper presents the Sonic Projections project on its theoretical and scripting basis: it analyses the conceptual framework from which the model derives, explains the choices that were made during the scripting process and finally tries to give an account of the final result in relation to its aims and effects, its potentials and limits. The notions of transformation, iteration and interactivity are also being assessed in relation to fourth dimension of time: the ability to survey a design model “through time” via a custom code and manipulate it accordingly.  Finally the paper attempts to address the new possibilities that arise from the use of scripting in generating design models and exploring possible interactivity patterns.



1. Introduction


The Transformative City project aimed to the creation of an adaptive computational model in relation to the city of Bath.  The project’s objective was to use generative and location-based technology techniques in order to create a new element in the existing urban tissue.  The code – written in Processing programming language – should explore the potentials that arise from a new digital approach to the city’s physical landscape. By applying up-to-date pervasive computing techniques and using a generative modus operandi, the scope of this project included the rethinking of the urban environment through various speculative transformations. This paper shall give an extensive account of the procedures related to the creation of the final project. More specifically the issues to be discussed will be the following:


·         Which were the aims of the project and in what way was it expected to affect the city and its occupiers? What would be the social context of the final installation?

·         What are the potentials and limits of using computational techniques in generating architecture?  How far were the implications between design and programming explored through the current code?

·         How could the project define the notion of “transformation” through an installation piece in a “static” heritage city like Bath?  In what way could the initial idea be technically supported and implemented in such a restrained context?


The scope of this paper covers both the issues raised above as well as technical aspects related to programming.  In Section two there will be a short description of the theoretical canvas on which the installation was based as well as its realization plans. The section discusses the aim of the project relatively to its social context and to the desired transformative dynamics and interactions that tries to achieve. Section three presents the code developed for the generation of the proposed installation.  It portrays the different approaches and procedures that led to the final outcome and illustrates the framework through which the entire process was realized. Moreover it refers to the restrains that have to be met when using updated technology techniques in a specified and “static” urban environment and gives an account of equally the possibilities and difficulties that drive a programming-based design scheme. Finally, Section four addresses some conclusions relative to the dynamics of generating architecture and embedding interactivity.



2. Sonic Projections

2a. Project aim – Realization Plans


Casella di testo: Picture 1: Bath Museum The Transformative City project presented in this paper has the name Sonic Projections. The initial aim of this project was the creation of a new inviting element towards Bath’s Museum, at the city’s east end.  The problem pointed out regarding this area was that while many people were crossing the river and walked on the way to the museum (orange coloured road), most of them would stop at the diamond square (circled red) and not walk the rest of the distance (yellow coloured road) to reach the museum (picture 2).  The idea was to create an installation on this axis in order to attract visitors towards the site.


Casella di testo: Picture 2: Map of the Museum Area 


Sonic Projections is both a generative structure and an interactive installation. It challenges the creation of a new dynamic space: a responsive environment that not only interacts with people when triggered, but also seeks interaction. The arches are created generatively, while the mesh is a visualization of a particle system. Based on the belief that every person has his own Sound Pattern, this installation is trying to translate the sound signals that humans emit into form. The representation of this reaction comes with the form of attractors and repulsors that travel through the installation -as humans move- and change the shape of its shell. This installation can be realized by using SmartDust technology & Ubiquitous Computing techniques.

Casella di testo: Picture 3: Sonic Projections installationThe SmartDust concept was introduced by Kristofer Pister (Berkeley University) in 2001. SmartDust devices are tiny wireless microelectromechanical sensors (MEMS), the size of a sand of grain. They can detect everything from light to vibrations, while containing sensors, computing circuits, bidirectional wireless communications technology and a power supply. They can gather data, run computations and then communicate them to each other by creating highly flexible, low-power networks. [1]

2b. Interactivity and Transformation through the social context - Dynamic Space

In the case of Sonic Projections, SmartDust particles could be set on the nodes of the mesh and also travel through the installation. Via TinyOS (open-source operating system designed for wireless embedded sensor networks) they would transmit signals to one another and thus create a wireless peer-to-peer network. The particles travel based on swarm logic programming. In that sense the whole network has self-organization properties and creates an intelligent, dynamic space. When a traveling particle is triggered, it activates a reaction among the other swarming particles and together they act as attractors and repulsors for the mesh, thus changing its formation. The form emerges through a series of interactions between the humans and the particles. Therefore the installation’s interface is actually consisted by space, architectural forms and individuals.

Casella di testo: Before… 

& After

Casella di testo: Picture 4-5: The axis that leads to the Museum





The SmartDust devices create an embedded network inside the installation. Human emitted Sound Patterns trigger the particles which gather around him/her.  The particles’ network tries to keep equilibrium by keeping minimum distances from the humans as well as from each other.  In that way patterns emerge not only on the mesh (by forces of attraction & repulsion) but also on the way particles move. The system self organizes itself in such a way so that the particles create toruses and vortices. The louder the Sound Patterns, the more particles participate in the “pattern creation” game. Theoretically, in order to enhance interactivity, not all Sound Patterns trigger the particles. They choose what they consider “interesting” sounds - based on sound frequencies- and follow them. From that point of view a new pattern of interaction is established: people are challenged to find optimum ways to attract the particles in order to participate to the installation’s transformations.  Ultimately, when no people pass through the installation a certain memory mechanism could recall recorded sounds from visitors who were previously there, and try to create new sound patterns by using them as parts of these compositions. The new sounds emitted by the installation could be tested through a GA, based on the number of new visitors they attract. Eventually the installation could “select” those sounds that fulfil their goal – that being attract more people. In that sense the installation starts building up rules of “music composition” that have as fitness criteria the number of visitors passing through the installation when a new sound is played. Under that spectrum, the entire installation acts like a new kind of Siren in search of her Ulysses….



3. Code development


3a. Design as programming

For centuries designers sought inspiration in front of a white sheet, replaced during the past decades by the interface of a Computer Aided Design programme.  The restrain in that lies mainly on the fact that whatever drawing was produced was more or less static: in most cases it lacked the fourth dimension of time. With the introduction of programming into the design process this disadvantage can be overcome, while the designer has full control over time of his/her creation; he/she can program various desirable timed modifications by means of dynamically changed forms, based on human-structure interactivity,  generative and genetic transformations,  force fields or algorithmic manipulations.

For that reason Processing is a powerful tool, as it is combines the advantages of a programming language within a graphics oriented interface. In a sense one can benefit from the computational techniques offered when writing his/her own scripts without having to compromise the visual outcome of his/her work. The ambiguous part of this practise is that, while being possible, it is not always easy to actually draw irregular geometrical shapes. The use of parametric equations can ease this process, but it is still complicated to set and manipulate, for example, a Spline or a NURBS. Sometimes one has to re-invent the wheel in order to achieve something that would probably take less than a minute to set in a CAD programme. But the algorithmic power that the designer has after overcoming these geometrical drawbacks can really make aments for them.


Picture 6: Pseudo Code


3b. The  Code

An important goal for this project has been the visual aspects of the outcome. It was equally important to use advanced computational techniques as well as to create a distinct architectural structure. For that purpose the final installation is divided programmatically into two parts: the arches -that are the more static part of the structure- and the mesh, which can be transformed based on specified rules of interaction.

Casella di testo: Picture 7: Dancing ArchesThe first step was to create the arches. Their formal representation was meant to resemble the roman architecture prototypes that characterize Bath. As the city is a World Heritage Site, protected by UNESCO, the new structure should have a distinctive characteristic that wouldn’t be offensive to the city’s architectural legacy. The idea was to set a 2D array of the arch’s rectangular crossection, with the coordinates of its corners populating the array’s list inside a “drawArch” function. The arches can also be fed with music frequencies, and thus change their formation according to the music’s input.

Picture 8: Creation of the Arches – 2 steps into the first & second loop



Picture 9: Arches transformations based on the change of n value



After creating the arches it was time to set the mesh. This was the more problematic part of the code, as it had to be set in such a way as to be transformed while interacting with the agents. In order to achieve this sort of behaviour, it was imperative to assign certain rules that would enhance interaction. For that purpose the new traer’s physics library (a particle system physics engine for Processing) has been used[2]. Via this library, one can set and draw particles and springs that can be manipulated by physic laws, respond to forces, counter attractions and repulsions and move relatively to time. Thus the mesh was set as a particle system, in which particles were interconnected by springs.


Picture 10: Mesh transformed as a random cloud of particles travels through it


As the mesh and the arches were set, the crucial point was to generate the agents that would travel along the structure and deform it based on a human’s movement.  It was obvious that these agents would also be particles, based on the physics library. The initial idea was to set an array of particles that would start from random positions and travel through the mesh towards a specific direction, hence transforming it. This transformation would be based on forces of attraction and repulsion relative to the particles on the mesh’s nodes. This method was used for the initial form of the project. Later it was decided that the particles would travel in particular formations. As the human voice is often resembled to a vortex, the scheme suggests that the travelling particles create vortices in front of the moving human, which can then be transformed into toruses, therefore giving the impression of an ever-changing and dynamic mechanism.

In order to have the particles move in specific ways, and more precisely moving the one after the other, a boid’s algorithm was used[3].  The first thing to be set was a vector’s class. The vectors are used for the movement of the individual agents inside the boids’ algorithm. Each agent has a vector of movement, which is related to those of the agents around him. Two more classes were designated in order to have the boid of particles travelling through the mesh: classes Boid and Torus. The class Torus is regulating the path that the particles follow. Every time the central mouse button is pressed, a “humanWalks” boolean is set to “true”. When that happens, a new “human” particle is created in a random position at the installation’s entrance. Furthermore, a humanEnter function is called inside the loop. It is in this function that the attractions of the particles between the boid and the mesh are set and the human and the boid are drawn.  As the human walks trough the mesh, his voice –resembled by the particles’ toruses and vortices-   “interacts” with the mesh’s particles and in that way it changes its formation. The entire installation is transformed based on the human’s movement throughout it.

Picture 11: Human and particles’ vortex


A variation of the code described above was setting the particles of the mesh as astroidals. The movement of the astro-mesh is still regulated by the same rules of engagement, only now the formal outcome is much different.

Picture 12: Mesh variation: particles replaced by astroidal component











4. Conclusions:  Generating Architecture - Embedding Interactivity 


Casella di testo: Picture 13: RenderingsSonic Transactions uses Ubiquitous Computing techniques in order to boost interactivity between the installation itself and its visitors. In that perspective, the desired transformations of the structure are met via the setting of a new transactions’ system established between SmartDust devices and humans. Section two of this report illustrated the ways by which the entire social context of the project is under a transformative state, were the centre of interaction is not focused on the exchange of actions just between people, but between them and a smart system. It demonstrated how the creation of an ever-changing new Dynamic Space is based on the interactivity generated inside the system. The goal of the structure (attracting people towards the Museum) is achieved only through the established interaction mechanism. This interdependency between the “reason of being” and the “reason of changing” of the installation is the new element that transforms its structural hierarchy: it introduces a new kind of building paradigm and sets a new perspective for the structure’s social context. That analysis addresses the first question of this report, by giving an account of the implementation of interactivity in a dynamically transformed space. 


On the subject of the potentials and limits of using programming in generating architecture, this project has tried to show that the use of advanced computational techniques defines a new dynamic equilibrium between adaptive architecture and creativity.  Generating architecture and embedding interactivity together constitute a new archetype for architectural originality.  In section three gives an objective testimony of the difficulties that one may confront during this procedure, but also of the benefits that derive from that practice.  It is always hard to define things from scratch, but that is what makes the outcome even more creative and flexible. Furthermore the manipulation of the fourth dimension of time makes the process extremely attractive and fictile. As far as the definition of “transformation” in a “static” heritage city like Bath is concerned, a small account of the general “line of action” followed is described in Section 3.  The general idea of the project was not to mimic, but to gently embed new technologies through a non-offensive interface. For that reason the arches resemble Bath’s architecture and comprise the static part of the installation, while the mesh is a transformative element, based on contemporary technologies.


Ultimately, this project constituted an experimentation of the possibilities that open to architectural design production through programming.  The ideas of generation, transformation, iteration and interaction through a custom creative code can widen an architect’s perception, as he/she seizes to think just as a designer and starts to reflect as a programmer. It is eventually the programmer’s imagination that can free an architects mind.



[1] Wikipedia. Smartdust [online]. Available from:  <>