MoSS : Morphogenetic Surface Structure A Software Tool for Design Exploration

We report our progress in designing a modeling software tool we have called MoSS: Morphogenetic Surface Structure. Moss is based on Lindenmayer systems in three dimensions which “grow” surfaces by applying re-write rules to an axiom with an accompanying interpretation of movement and drawing in space. It is written in C++ as a plug-in to Alias|Wavefront Studio. The tool, still rudimentary, allows an environment to be defined to influence surface growth by means of boundaries and objects that attract or repel direction of growth. It optionally applies different joining filters to surfaces that become disjoint as a result of encountering environmental factors. 1.0 INTRODUCTION Modern CAD tools such as AutoCAD or Alias|Wavefront Studio allow architects to hand-draw three dimensional surfaces and volumes. However, this capability falls short of software that actively enables designs with deliberate precision or that demonstrates adaptiveness to site conditions. We have also noted that architects frequently take inspiration from natural forms and the process of organic growth. As a response to these initial issues, we have designed a tool called MoSS: Morphogenetic Surface Structure. The initial goal of the MoSS tool project is to provide architects with a model of surface growth in three dimensions that can be simply, yet precisely, defined and understood. In addition, our goal is that as growth is influenced by tunable factors an architect can use MoSS to model surface geometry within a three dimensional shaping environment. With a rudimentary version of such a tool in place, we have two further intentions that we can report have been fulfilled. First, we have encouraged architecture students to use MoSS so we can learn how its users engage it and what they find useful or limiting. We report on this activity in this paper. Second, we have always foreseen the need for MoSS to fit into a larger design process; one that includes the construction of physical models and structural elements using computer aided manufacturing processes (CAD/CAM). In this report we will present examples of such steps in the process. The culminations are descriptions and images of physical surface constructions that were first generated using MoSS, unfolded using CAD/CAM software into two dimensional format for laser cutting, and assembled to form three dimensional counterpart physical models. The paper proceeds as follows: Immediately, in Section 2.0, we will briefly discuss work related to MoSS. In Section 3.0 we will describe the computational basis of MoSS. That is, we will explain how Lindenmayer systems (L-systems) work and how we used the principles of L-systems to implement a surface modeler inside a CAD tool. We then describe features of MoSS that are particular to its context of use. In Section 4.0 we present a number of examples of MoSS. Each example can be simply defined in terms of its grammar and axiom plus the state of the environment in terms of boundary, attractors or repellors. However, a complex design results from re-writing the axiom and interpreting it as drawing instructions. The MoSS derived design will be shown as a computer generated image. For some examples, we will also show the physical model resulting from the MoSS design. Our current appraisal of the project will comprise Section 5.0. We include observations about MoSS in its current prototypical state and our plans on how to extend it in the future. 2.0 RELATED WORK A significant motivation with MoSS is to model the development of pattern, form, and surface structures in the domain of architecture. In this context a number of computational approaches to modeling morphogenesis are compelling to study. One approach is cellular automata (CA) models . CAs can be uni-dimensional , two dimensional or even higher dimensional. A CA is a spatial system consisting of units (cells) that have state. As time in the model steps forward, one or more cells update their states based on the states of neighboring cells and, optionally, random probability. From typically simple and local rules of interaction, the global state of the entire cell array emerges. Analysis of the local rules typically does not yield a description of the global state. When CAs are visualized states are represented by colors. This highlights patterns representing emergent interactions. CAs have been defined that are accurate models of actual physical systems which grow into clusters or distinct aggregations . They also can model physical processes . The argument against using CAs for surface modeling is their need for a definition of spatial extent and the way in which growth is defined (i.e. local rules of interaction). Another approach is reaction-diffusion models . Such a model is defined by coupled equations that incorporate concentrations of chemicals, non-linear reaction terms and diffusion constants. Under the basic principles of local activation and long range inhibition, concentrations of the chemicals vary spatially and result in patterns. The mathematical and chemistry oriented definitions of reactiondiffusions models imply it is difficult to generate a desired pattern (or character of pattern). Thus, while potentially interesting as a means of directing architectural surface morphology, reactiondiffusion models lack a means of straight-forward, clear interpretation that make them readily applicable to our domain of surface modeling. Agent-based models of pattern formation are yet another approach . Such a model typically consists of a bounded environment with resources and behavioral entities or processes, termed agents. Within the environment, time steps forward and agents navigate the space under behavioral specifications that take into account things such as: the need to collect resources, the need to stay away from malevolent environmental features and how to respond to other agents. Agents can both be "born" and "die". The system can be studied dynamically or at an end-point in time (e.g. when all resources are gone). Agents and resources are color coded in visualizations and their dynamics result in patterns. We have used Artificial Life inspired agent-based computation in another project where we focus on the identification of elements in a design and the need to understand how they interact. This seems a strength of agent-based models that is orthogonal to the goals of surface modeling. Perhaps the approach that is most successful at achieving morphogenetic outcomes that are faithful to biological reality is that of Lindenmayer systems . L-Systems are capable of simulating the development of specific plants such as Mycelis muralis or Hieracium umbellatum, the hawkweed flower . They originally specified a topology of branching structures but subsequently were updated with geometric interpretations that produce visualizations of developmental outcome. As shall be explained in greater detail in Section 3.0, growth in an L-system is controlled by a context-free or context sensitive grammar that essentially is a set of re-write rules that are serially applied to an initial axiom. The re-write rules can be interpreted geometrically. In three dimensional Cartesian space this geometry can be thought of as "agent" based. That is, an agent moves through space with a position vector and three orthogonal axis vectors. Its momentary orientation is determined on the basis of the re-write rule that might, for example, direct it to move ahead, upwards or to the side by a certain degree. There are elegant implementations of L-systems in both 2D and 3D available at this time, for example, Jacob . One that is particularly relevant and related to MoSS is that of Coates et al . Rather than manipulate grammars to develop surfaces, the Coates et al system develops branched structures in an isospatial grid by means of filling traversed points with spheres. This emphasizes a branching structure in which branches have 3D extent. A goal of the Coates et al system is to study how function can direct form. The choice of an isospatial grid (in contrast to the 3D Cartesian grid of MoSS) wherein a point has 12 neighbors defined by a dodecahedron with equal point to point distances thus is deliberate since its lack of orthogonal bias and homogeneity allow for complete freedom in choosing form. Coates et al's system searches for functional form using genetic programming . At present, MoSS does not have a search component. It relies on its user to direct form by changing its inputs. Following the Coates et al lead, we intend to outfit MoSS with a genetic programming search component. The choice of objective function criteria for MoSS will differ, however, in a manner suitable to its potential intended purposes of aesthetic or load carrying satisfaction. Coates et al's system has a 'design world' that has a directional supply of nutrients or pathogens. The role of these elements is to be either avoided or caught by the 3D structures. Thus, the structures can be evaluated in terms of how well they do this. Clearly, the distinctly different goals of MoSS and Coates et al have resulted in systems that yield distinctly different designs. 3.0 A DESCRIPTION OF MoSS MoSS is a plug-in to Alias|Wavefront Studio written in C++. It incorporates a specialized implementation of 3D L-systems and interfaces with A|W to draw its forms. The plug-in aspect implies MoSS is integrated with an existing CAD tool. This is compelling to its users as it provides them with the ability to use Alias|Wavefront capabilities on a completed MoSS design such as analysis, rendering, exporting or further modification. It is a feature for MoSS from an implementation point of view as it obviated the need to develop software that handles displaying and drawing. It also eliminated any necessity to add features not focused on the concept of L-systems. The software that implements the 3D L-systems consists of three components: 1. Re-write rule application