Keywords

1 Introduction

Finite-state machines (FSMs), also known as finite-state automata, are mathematical models commonly used in computer science and engineering. They are used to describe the behavior of a system with a finite number of states, where the current state and a set of inputs can determine the system's behavior.

In the context of cellular automata (CA) [1, 2], finite-state machines are organized in a discontinuous network that allows for local interactions between neighboring elements. This organization is based on the geometric orders that result from crystal growth simulations, which provide a basis for the arrangement of atoms on a nano-metric scale. The previously mentioned discontinuous network allows CA to create complex and diverse behavior patterns. The individual elements can interact and influence each other based on their current state and the inputs they receive from their neighbors. This results in a highly flexible and dynamic system that can adapt and evolve in response to changes in the environment or inputs, contributing to the overall dynamic and adaptive behavior of the cellular automata system.

Finite-state machines are a fundamental component in designing and organizing nano-metric scale systems. They serve as the basis for the arrangement of building blocks in these systems, and their properties play a crucial role in shaping their behavior and functionality. The geometric orders that result from crystal growth simulations provide a roadmap for the arrangement of building blocks, regulating the interactions between each cell (as the minimal unit) and ensuring that they are organized in a way that responds to external (environment) and internal factors (structural). From these principles, in this research, we are exploring the possibilities of CA as a pattern generator and propagator, driven by external and internal factors, using weaving and knitting principles as mediators between the activation and deactivation of cells and possible ways of materialization, using textiles as soft materials in a continuous geometric arrangement (Fig. 1).

Fig. 1.
figure 1

Soft Material simulation over a 2.5D as a continuous surface. Image from the Authors.

2 CA from Discrete Points

Cellular automata (CA) have a strong connection to the field of artificial intelligence (AI) [3]. This is because CA systems can be considered as self-organizing artificial systems that arise from the interactions between simple components without the necessity of human interaction. Self-organizing artificial systems are systems capable of organizing themselves without explicit direction or control from an external source. These systems arise from the interactions between simple components, often referred to as agents, that are capable of communicating with each other and adapting their behavior based on the state of the system. This can result in the emergence of complex behavior and patterns that are not present in the individual components themselves.

Self-organizing artificial systems are often used to model and simulate complex systems, such as social networks, transportation networks, and ecosystems. They are also used in the development of artificial intelligence (AI) and machine learning systems, where they can be used to model neural networks and genetic algorithms [4]. In these systems, the individual components can exchange information and adapt their behavior based on the state of the system. Over time, this leads to the emergence of coordinated and structured behavior, even though there is no central control or explicit direction.

One of the key features of CA is that they are based on local interactions. In these systems, a seed interacts only with its immediate neighbors, which are typically the cells closest to the seed. These local interactions between the seed and its neighbors can lead to the emergence of complex patterns and behaviors. This is why CA are often considered a good model for AI systems, as they allow for creating sophisticated systems from relatively simple building blocks.

In AI, the concept of local interactions is often referred to as “neighborhood interactions”. This refers to the idea that a single unit or component in an AI system only interacts with a limited number of other units or components in its immediate vicinity. This concept is key to the design of many AI algorithms, and it has been heavily influenced by the principles and theories developed in the field of cellular automata [5, 6]. This concept is key to the design of many AI algorithms, as it allows for the development of systems that can scale to handle extensive and complex data sets while still maintaining efficiency and performance and producing meaningful results.

In the field of cellular automata, neighborhood interactions are often described within the context of discrete geometric arrays, which represent the discrete positions of the components within the system. These arrays can be defined as regular grids, hexagonal lattices, or other geometric shapes.

By defining the neighborhood of each component, it is possible to specify the range of interactions that occur within the system. For example, a “von Neumann” neighborhood includes the four adjacent components to a central element, while a “Moore” neighborhood includes the eight adjacent components as well as the diagonals [7]. The use of discrete geometric arrays to describe neighborhood interactions in cellular automata is a powerful tool that allows for the simulation and analysis of complex systems. It has been used in a wide range of applications, including modeling biological systems, studying social networks, and designing artificial intelligence algorithms [8].

The use of discrete geometrical arrangements within cellular automata has been an interesting tool for planning in the architectural field [9]. Also, cellular automata models have been utilized for generating and examining intricate spatial patterns in the design field. Through these models, designers can create complicated spatial arrangements by establishing basic rules of discrete geometric configurations [10].

However, CA as an abstract logical machine that uses a binary language in its essence can easily translate its results into the discrete space in a simplified language (usually as voxels), potentially limiting or constraining architectural design by reducing the complexity and richness of the final design. In that sense, it should be noted that CA is only one tool in the design process, and we may incorporate it with other techniques to produce more nuanced and varied spatial results.

Embracing the simplicity and regularity of discrete geometries on one and considering other ways of translating discrete geometries emerges as an opportunity to explore the field of soft materials such as fabrics. As weaving and knitting techniques are based on the principles of discrete geometric arrays and local interactions, it's feasible to translate cellular automata principles and binary results into discrete weaving arrays (Fig. 2) that represent the positions of components within the system.

Fig. 2.
figure 2

Discrete set of 2D points to be translated by a weaving process. Image from the Authors.

3 To a Three-Dimensional Geometry Beyond Discrete

Cellular automata operate within three-dimensional space and utilize a generative approach to accumulate the historical process within their discrete structures. This is achieved through local operations that continuously shape and construct emergent forms over time following predefined rules. This occurs in a highly abstract process (usually binary) and is pre-deterministic if the rules are not in touch with other external or internal elements acting as a “noise” in the generative process [11, 12]. In that framework, to go beyond this representation of three-dimensional discrete geometry as a set of discrete points, lines, and shapes, we will explore ways to create, visualize and materialize relationships between these points. This research develops the idea of making more complex and nuanced representations of space that consider the continuous nature of the physical world (instead of just a discrete approach). This involves incorporating elements from soft materials, such as other forms of continuous material (such as fluids), into the representation of space [13], in addition to traditional discrete elements like points and lines.

Soft materials are materials that have low stiffness and a high degree of deformability. They are characterized by their ability to flow, deform, and adapt to their environment in response to external forces, such as temperature changes, pressure, or electric and magnetic fields. Examples of soft materials include polymers, gels, liquids, and soft tissues such as skin, muscles, and organs [14]. Soft materials are often used in a variety of applications, including biomedical devices, flexible electronics, and soft robotics [15]. One of the key features of soft materials is that they are nonlinear and often exhibit complex mechanical behavior, which makes them challenging to model and understand. As a result, there is a growing field of research focused on understanding and utilizing the unique properties of soft materials for various applications.

In that particular scenario, this research explores the creation of spatial complexities using CA patterns [16] as a reference for threading continuous structures defined by Synchronous and Asynchronous seeds working in discrete environments [17]. As a final step, the results of this generative process are tested as spatial structures, creating soft translations from the CA discrete logic to highly intricate patterns as answers to the information that pushes the system in terms of complexity. The final step in this generative process refers to evaluating and analyzing the patterns that are generated from the cellular automata (CA) system.

Specifically, in this research, we aim to create woven and knitted translations from the discrete logic of the CA system (Fig. 3). In this context, “woven and knitted translations” refers to converting the CA system’s discrete logic into highly intricate patterns. These patterns are created by simulating the interactions between simple components in the CA system. They are seen as answers to the information that drives the system in terms of its complexity and density (Fig. 4). The final step of the generative process is crucial, as it provides the researchers with a way to validate and assess the results of the CA system. By testing the spatial properties of the resulting structures, we can determine whether their approach is effective in creating architectural space at different scales and whether it can be used as a tool for designing and building structures in the real world.

Fig. 3.
figure 3

Discrete set of 2D points being translated by a weaving recursive process. (Left) and in a linear process (right). Image from the Authors.

Fig. 4.
figure 4

Discrete set of 3D points being translated by a weaving recursive process. (Left), in a linear process (center) and in a mixed variation (right) showing different densities and complexities. Image from the Authors.

4 Weaving and Knitting as CA Translators

Weaving and knitting are related techniques for creating textiles and similar structures using yarn or thread. Weaving involves interlacing two sets of threads, the warp and the weft, in a repetitive pattern to create a fabric. The warp threads are arranged lengthwise on a loom and remain stationary, while the weft threads are woven in and out of the warp threads in a specific pattern to create the fabric. On the other hand, knitting involves creating a piece of fabric by looping yarn or thread around a set of needles. The loops are interlocked and held in place by previous rows, creating a three-dimensional material produced from a single thread. Both weaving and knitting involve creating fabric by repeating a pattern of interlocking loops or threads. However, there are some key differences between the two techniques. For example, weaving typically requires a loom, while knitting can be done by hand or with a machine. Additionally, weaving produces a flat fabric, while knitting can create a material with a more complex, three-dimensional structure. Weaving and knitting can be seen as Cellular Automata (CA) translators because they are techniques for translating CA's abstract and mathematical principles into physical form. In CA, a discrete system is modelled as a grid of cells, each of which can be in one of several states, and a set of rules determines how the state of each cell evolves based on the states of its neighbors (Fig. 5).

Fig. 5.
figure 5

Discrete set of 3D points being translated by a weaving recursive process using a nylon based compound, showing different densities and complexities. Image from the Authors.

Textiles, specifically knitting, provide a material system that can be programmed using computation and code to create complex structures that respond to environmental conditions. By using parametric design and material computation, designers can create a set of rules or instructions that govern the behavior of the knitting pattern. These rules can be adjusted based on the desired properties of the final structure, such as its strength, flexibility, or response to external forces. This computational design process allows for a high degree of control and precision while maintaining the material's flexibility and adaptability. The programmability of knitted textiles is an excellent interface for creating complex emergent forms of variable properties under the application of internal and external forces [18]. Within the past years, there has been ample research on how textiles can be used in an architectural context. Knitting can allow various performances within a continuous single-form system [19]. Such systems with hierarchical relations are great for multi-performative hybrid structures [20]. Cellular automata (CA) patterns can help in developing such programmable patterns for textiles. CA models are computational systems that can generate complex patterns through the repeated application of simple rules to cells in a grid. This approach can generate intricate patterns for knitted textiles that respond to different environmental conditions (these conditions are actually coming from simulated environments using Ladybug as part of the workflow). By incorporating CA patterns into the design process (Fig. 6), designers can create fabrics with emergent properties that respond to specific environmental conditions, such as temperature or humidity. This process allows the creation of optimized textiles for particular environments, resulting in a more efficient and effective use of resources and more functional and comfortable end products.

Fig. 6.
figure 6

Discrete set of 3D points (Processing) from solar radiation patterns (using Ladybug) being translated by a weaving process (Grasshopper), in a linear process (left) and in a recursive process (right) showing different densities and complexities. Image from the Authors.

5 Knitting Method

CA patterns have been used so far to create flat 2-dimensional patterns; however, this project explores how the CA logic can be applied and tested in a 2.5 D—3D where the cellular automata logic can be used to examine the translation of CA to three dimensions. This requires a two-step approach, firstly, an in-depth understanding of how computerized knitting machines work and, secondly, how CA patterns can be translated to knitting commands.

Step 1: Flat-bed knitting machines, according to Banerjee [21], can have multiple needle beds, with the most common configuration consisting of an array of needles positioned on two beds facing each other in an inverted “V” pattern. These needles work together to make a loop course by pulling a thread or yarn around loops made in a previous pass. The fabric may be manufactured separately or interlinked on the two beds, allowing for the creation of various loop types.

To shape the textile, there are multiple ways to create the pattern and complexity of the shape. This can be achieved through structural variations of the loop. Transfers are one of the key ways of creating and altering the structure. Transfers occur between the two needle beds in double-bed computerized knitting machines to generate specified patterns and designs. Transfers are the process of moving stitches from one needle bed to another and can be done in various ways. One common technique is to use the transfer carriage, which moves stitches from one needle bed to the other while holding them in place.

To explore how Cellular Automata (CA) patterns can be translated into transfers to result in a 2.5D continuous knitting pattern, we followed the steps below:

  1. (a)

    Generated a CA grid with 30 × 30 cells, with each column representing a needle bed.

    figure a
  2. (b)

    Exported PDFs of each of the cross sections.

    figure b
  3. (c)

    Translated the CA pattern into a transfer pattern, using black to indicate when to transfer.

    figure c

Step 2: The transfer pattern was then executed on a double bed computerized knitting machine using the following steps:

  1. (d)

    Transfer the front loops to the rear of the bed.

    figure d
  2. (e)

    Transfer the loops from the rear bed to the front.

    figure e
  3. (f)

    Knit a full row to secure the loops. This takes place after every transferee.

    figure f

These steps resulted in a complex 2.5D pattern derived from the CA pattern. The ability to translate the CA pattern into transfer patterns for double-bed computerized knitting machines opens up new possibilities for creating complex and intricate knitted textiles. By exploring the vast potential of CA patterns and how they can be translated into transfers, designers and researchers can push the boundaries of knitted textile design and achieve previously unattainable forms and structures (Fig. 7).

Fig. 7.
figure 7

3D Knitted CA sample (Ecological Wool 2/14 Nm) based on the 30 × 30 from a 2.5D CA system (CA 2.5D Game of Life) being made using a Digital Knitting Machine (Kniterate). Image from the authors.

6 Conclusions

In the context of this research, the result of the weaving and knitting process can be seen as a physical representation of the emergent patterns that result from applying the CA rules. By testing these physical structures for their load resistance, researchers can gain insight into the complex relationships between the discrete logic of the CA system and the continuous, three-dimensional geometries that result from its translation into physical form.

This approach provides a unique way to explore the relationships between digital algorithms and physical materials, and it has the potential to inform the development of new architectural and engineering solutions that harness the power of both digital and physical systems. In that context, this research project is focused on developing digital experiments that investigate the relationships between environmental conditions, cellular automata (CA), and geometric patterns that emerge from knitting and woven processes. The aim of the research is to use these relationships to create architectural spaces at different scales.

The goal of this research is to demonstrate how digital experiments can be used to explore the relationships between environmental conditions, cellular automata, and geometric patterns and to provide new insights into the process of creating architectural space at different scales that were tested at this stage of development in weaving patterns but the work on knitting is still under development.

By using CA as a translator, the researchers hope to reveal new and innovative ways of designing and constructing architectural spaces that are responsive to environmental conditions and can adapt to changing conditions over time.

In conclusion, the combination of cellular automata and soft materials has the potential to create a novel approach to design aimed at developing dynamic, adaptive, and self-organizing structures that can respond to environmental changes and evolve over time (Using Ladybug as a weather data engine and Galapagos as an evolutionary solver). By leveraging the unique properties of soft materials, such as their flexibility and deformability, and combining them with the principles of cellular automata, a reprogrammable structure can be created that can adapt and change in response to its environment.

This method emphasizes the importance of local interactions and responsiveness to the environment, allowing for a bottom-up design approach (defining the location of seed as i.e.). The activation and deactivation of rules within the system can be controlled by information from the environment, providing a means to reprogram and evolve the structure over time. This idea holds great promise for developing self-organizing systems that can adapt and evolve, with potential applications in various fields such as architecture, engineering, and robotics.