You are currently viewing a new version of our website. To view the old version click .
Applied Sciences
  • Article
  • Open Access

26 July 2024

Multistep Evolution Method to Generate Topological Interlocking Assemblies

and
Department of Computer Science, Purdue University, West Lafayette, IN 47907, USA
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Mortarless and Interlocking Structures: Towards Environmentally Friendly Construction

Abstract

Research on topological interlocking (TI) assemblies indicates that the geometry of blocks plays a significant role in the performance of a configuration. The current TI generation methods can return assemblies of uniform antiprisms, tetrahedra, cubes, and octahedra. However, other shapes (both convex and concave) are well qualified for use in TI assemblies. This paper presents a framework to generate blocks for TI assembly. Starting from a seed polygon, evolution steps translate and reshape the polygon, contracting it eventually to a point, a line segment, or another polygon. Our framework generalizes and unifies previous-generation methods based on tilting angles and height parameters. We show how the proposed method systematically generates novel TI solids and previously reported others.

1. Introduction

The topological interlocking (TI) principle states that two adjacent blocks interlock if their respective top and bottom evolution sections (cross-sections) degenerate into a line segment or a point. Dyskin et al. defined this principle [1,2], and Kanel-Belov et al. later formalized it [3]. The Platonic solids and uniform antiprisms satisfy the TI principle since we can find polygons that describe their mid-sections with respective evolutions as cross-sections.
There are relevant instances of TI assemblies throughout architectural history. Fallacara discussed the case of topological variation in the flat vault (examples in Figure 1) and its relevance in history [4,5]. In the author’s words, “The historical problem is to find a building solution to cover a space with a flat floor constituted by discrete elements: in other words, to build a vault with zero radius stone-ashlar” [4]. Fallacara discussed the flat vault designs from Joseph Abeille (in 1699) and Jean (Sébastien) Truchet (in 1704), both considered examples of topological interlocking assemblies centuries before such a term was coined [6].
Figure 1. Examples of flat vaults designed as topological interlocking assemblies made of convex blocks. (Left): truncated tetrahedra. (Middle): truncated square antiprisms and truncated tetrahedra. (Right): truncated octahedra and truncated tetrahedra.
To generate a TI assembly, we start with a surface tessellation composed of convex tiles with an even number of sides each. A generation method designs an interlocking block per tile. The traditional generation method [3] requires angle parameters that describe the tilted faces of the blocks. A recently proposed method named Height–Bisection [7] introduces height parameters to generate valid, block-aligned TI assemblies even for non-planar surface tessellations. Figure 2 shows the generation methods for generating an octahedron using either the traditional method or the Height–Bisection method. However, both methods can only generate uniform antiprisms and three of the Platonic solids: the tetrahedron, the cube, and the octahedron. We require the post-processing of the blocks to generate other known TI block shapes or clip overlapping, misaligned blocks. For example, to generate a truncated tetrahedron, we need to generate a traditional tetrahedron and then truncate its vertices adequately. Designers and engineers must modify the blocks either manually or computationally.
Figure 2. Generation steps for an octahedral TI block. From left to right: tessellation tile, edge parameters, tilted incident planes to edges (backplanes shown for visualization), intersection lines between planes, intersections between lines, and interlocking blocks.
Recent work on the performance of TI assemblies shows that block shapes play a significant role in the integrity of a structure. Mirkhalaf et al. considered the shapes of the interlocking pieces in their study of the strength and toughness of TI materials [8,9]. Multiple assembly designs (based on square and hexagon tiles) were 3D-printed and tested. The authors found that increasing the tilting angles of the contact surfaces improved the energy absorption of the TI. Weizmann et al. considered the relation between the geometry of the blocks and the structural performance of the assembly [10]. The authors considered a variety of planar TI assemblies based on different interlocking geometries. Every configuration was subjected to indentation tests that measured the displacement of the pieces after applying loads. Their results showed that a higher number of tiles and block faces with lower tilting angles reduced the structure’s strength. Finally, Williams and Siegmund described how the geometry of the blocks affected the paths traversing a TI assembly under loads [11].
In this article, we report a generalization of the mid-section evolution concept. It allows for the design of any block with TI properties. We approach the concept by including evolution steps for a given polygon such that its evolution along a direction vector produces the corresponding block vertices. Each step requires a collection of angle and distance parameters that reshape and translate a polygon from one evolution step to another. The evolution parameters are similar, in nature and purpose, to the parameters of the Tilting Angles and Height–Bisection methods.
We begin with a discussion of the current work on the TI principle, focusing on the geometry of the blocks. Next, we describe the polygon evolution process, which passes through several evolution steps. Finally, we introduce the General Mid-Section evolution concept, which includes a generation method and the fundamental TI generation requirement. We conclude with examples of TI solids generated, including the Platonic, truncated, and concave solids with TI properties.

3. Polygon Evolution

This section describes the generation of a polyhedron from a polygon using multiple evolution steps. An evolution step is a sweeping procedure that evolves (i.e., reshapes and translates) a polygon into a n-polytope (i.e., a generalized polyhedron in the n-th dimension), where n = 1 , 2 , 3 . The possible resultant evolved shapes are points, line segments, or polygons. This method is a sweep-plane algorithm along a direction vector. The vertices from a sequence of evolved n-polytopes are the vertices of the resultant polyhedron. The continuous motion of the polygon, as it evolves to the respective n-polytope, describes the edges of the polyhedron.

3.1. Evolution Step

An evolution step is a process that reshapes and translates a polygon into a generalized polytope. We show, in Figure 3, the stages of the evolution process of a polygon, f, into a polygon, f . The evolution step requires a couple of parameters: a set of angles, Θ , and a distance value, λ . Θ indicates the rotation of the normal vector of f when placed at each one of its edges. λ indicates the far plane at which f can be translated the most. The evolution process calculates incident planes to each edge of f based on the translated normal vectors and the respective edge midpoints. The intersection of such planes defines a set of lines, L, whose intersection with one another or with the far plane defines the vertices of the evolved polygon, f . We state this process formally as f = Evolve ( f , Θ , λ ) . The union of the vertices from f and f describes the vertices of the respective evolving solid. For this particular example, the resulting polyhedron is the top half of a regular octahedron.
Figure 3. Example of the stages for evolving a polygon into a n-polytope. From left to right: seed polygon, evolution parameters (blue arrows represent the edge tilted normal vectors, red arrows represent the edge direction vectors), definition of the evolved polytope from the intersection of evolving lines (yellow arrow indicates the evolution direction), and the resultant polyhedron by joining the seed polygon and the evolved polytope.
The following paragraphs describe the polygon evolution process in formal terms. Let f = { V , E } be a polygon of n N + , n 3 sides, where V = { v 0 , v 1 , , v n 1 } is a set of vertices, and E = { ( 0 , 1 ) , ( 1 , 2 ) , , ( n 2 , n 1 ) , ( n 1 , 0 ) } is the set of tuples with the vertex indices that define the edges of f. The polygon has centroid point C and normalized normal vector N ^ . We assume that V and E walk around f in counterclockwise order to C and N ^ . Each edge, e = ( i , j ) E , has a normalized direction vector, K ^ e = v j v i | | v j v i | | , and midpoint, M e = v i + v j 2 .
An evolution step requires two types of parameters: tilting angles associated with the edges of the polygon and a scalar value determining the maximum length allowed for the step. Let Θ = { θ e , e E θ e [ π 2 , π 2 ] } be a set of tilting angles, and let λ R + be a scalar value. A tilting angle, θ e , rotates N ^ using K ^ e as the rotation axis vector; the rotated vector N ^ e is the normal vector of a plane that contains e. Then, N ^ e = rotate ( N ^ , K ^ e , θ e ) , where rotate ( N ^ , K ^ e , θ e ) is the axis–angle rotation (also known as Rodrigues’s rotation formula). The plane P e = plane ( M e , N ^ e ) passes through e. The intersection between the planes from the two edges incident to a vertex, v i V , i = 0 , 1 , , n 1 , defines a line, L i ; therefore, v i L i . Finally, a point, D = C + λ N ^ , and planes P C = plane ( C , N ^ ) and P D = plane ( D , N ^ ) . The top right subfigure in Figure 4 shows an example of the mentioned elements on a square polygon.
Figure 4. Detailed illustration of the elements required to evolve a square polygon, f, into a polygon, f . (Top left): seed square polygon. (Top right): rotated normal vectors and plane P D . (Bottom left): incident planes to the edges of f. (Bottom right): evolved polygon f defined as the intersection points between lines L i and the plane P D .
We consider the intersection points v i , j = L i L j , ( i , j ) E that occur within the space section delimited by planes P C and P D . A point, v i , j , is within evolution range if v i , j P C + ( P D P D ) . That is, v i , j lies at both the positive half-space defined by plane P C in direction N ^ and the negative half-space defined by plane P D in the opposite direction to N ^ or P D itself. Otherwise, v i , j is out of the evolution range. In such case, we consider the intersection points v i , D = L i P D and v j , D = L j P D , which are within evolution range. The bottom-right subfigure in Figure 4 shows an evolved n-polytope f defined by the intersection points between lines L i and the plane P D . Let V be the set of intersection points within the evolution range; then, V defines the endpoints of the evolved n-polytope f . Let E be the set of edges of f . Each tuple, e E , is defined by the indices of consecutive vertices in V as they are calculated. The last tuple in E must connect the last and the first vertices in V . We call f = Evolve ( f , Θ , λ ) the described procedure that evolves f = { V , E } into f = { V , E } . We refer to f as the seed polygon when used as a parameter in an evolution step.
Algorithm 1 shows the pseudocode for the Evolve procedure. The algorithm requires three traversals through the n edges of the seed polygon: The first loop defines the planes incident to each edge. The second loop calculates the line segments, incident to each vertex, representing the intersection of the respective incident edges. The third loop calculates the vertices of the evolved polygon, f , by checking the intersection between the respective line segments per edge and its location regarding the polygon plane and the evolution plane. Each loop structure has n iterations, resulting in Evolve O ( n ) .
The cardinality of V determines the type of n-polytope of f . Polytope f is a single point if | V | = 1 , a line segment if | V | = 2 , or a polygon with n = | V | sides if | V | 3 . When | V | > 3 , we need to check whether all points in V are coplanar. If at least one point v i V is not coplanar, then f is a degenerated evolution of f (i.e., the sequence of edges E = { ( 0 , 1 ) , ( 1 , 2 ) , , ( n 2 , n 1 ) , ( n 1 , 0 ) } does not describe a planar polygon). In such a case, adjusting either f, Θ , or λ such that the resultant n-polytope f = { V , E } describes either a point, a line segment, or a planar polygon solves the issue. Figure 5. shows examples of evolved n-polytopes from regular seed polygons.
Figure 5. Evolved n-polytopes from polygons. Seed polygons are in red, and evolved n-polytopes are in blue. From left to right: point, line segment, polygon with fewer sides than the seed polygon, and polygon with the same number of sides as the seed polygon.
An evolution step generates the geometry of a prismatoid whose vertices are { V V } . Such a set of vertices, along with the set of tilting angles Θ , describes the type of the generated prismatoid. Table 1 shows the requirements for vertices and angles to describe a specific polyhedron from the prismatoids family.
Algorithm 1 Evolve algorithm.
1:
function Evolve( f : polygon with n sides , Θ : list of angles , λ : Z )
2:
  let D { V , F , H } be the DCEL representing f
3:
   h F [ 0 ] . halfedge                    ▹D has only one face
4:
  do                 ▹ Set the planes incident to the half edges
5:
        h . plane Plane ( h . midpoint ( ) , Rotate ( h . normal ( ) , h . direction ( ) ,   Θ i ) )
6:
        h h . next
7:
  while  h F [ 0 ] . halfedge
8:
  do           ▹ Calculate the intersections between half-edge planes
9:
        v h . start
10:
      v . L Intersect h . previous . plane ,   h . plane
11:
      h h . next
12:
  while  h F [ 0 ] . halfedge
13:
   N ^ F [ 0 ] . normal ( )
14:
   C F [ 0 ] . centroid ( )
15:
   D C + λ N ^
16:
   P C Plane C , N ^
17:
   P D Plane D , N ^
18:
  let V be an empty collection of unique points
19:
  do                  ▹ Calculate the intersections between line segments
20:
       v 0 h . start
21:
       v 1 h . twin . start
22:
       v Intersect v 0 . L , v 1 . L
23:
      if  v exists, then
24:
         if  N ^ · ( v D ) > 0 , then                ▹ v above P D
25:
         V . append (Intersect ( P D , v 0 . L ) )
26:
         V . append (Intersect ( P D , v 1 . L ) )
27:
         else if  N ^ · ( v D ) = 0 , then                ▹ v at P D
28:
         V . append v
29:
         else if  N ^ · ( v D ) < 0  and  N ^ · ( v C ) > 0 , then▹ v between P D  and  P C
30:
         V . append v
31:
         else                          ▹ v below P C
32:
         V . append (Intersect ( P D , v 0 . L ) )
33:
         V . append (Intersect ( P D , v 1 . L ) )
34:
   else                       ▹ Line segments are parallel
35:
     V . append (Intersect ( P D , v 0 . L ) )
36:
     V . append (Intersect ( P D , v 1 . L ) )
37:
   end if
38:
    h h . next
39:
  while  h F [ 0 ] . halfedge
40:
  return  V
41:
end function
Table 1. Prismatoid families based on the original vertices, V, evolved vertices, V , and tilting angle parameters, Θ , using a single evolution step.

3.2. Single-Direction Polygon–Polyhedron Evolution

It is possible to generate a more elaborated polyhedron by applying a sequence of multiple evolution steps. In this case, an evolved polygon serves as the seed polygon for another evolution step with its own set of parameters. Figure 6 shows an example of an evolution step with a seed polygon, f , obtained from a previous evolution step. A newly evolved polytope, f = Evolve ( f , Θ , λ ) , corresponds to the second evolution step in a single-direction sequence. In such an example, the union of the vertices from polygons f, f , and f represents a new polyhedron.
Figure 6. Example of the stages of a single-direction polygon–polyhedron evolution. From left to right: initial evolution step from f to f , evolution parameters (blue arrows represent the edge tilted normal vectors, red arrows represent the edge direction vectors), evolved point f , and the resultant polyhedron as the union of the vertices from f, f , and f (yellow arrow indicates the evolution direction).
The following paragraphs describe the single-direction polygon–polyhedron evolution process in formal terms. We consider using evolved n-polytopes as the seed polygons for subsequent evolution steps. An evolved n-polytope f = Evolve ( f , Θ , λ ) where f = { V , E } with | V |     3 becomes the seed polygon for another evolution step. Such a new step requires its own set of evolution parameters, { Θ , λ } with | Θ | = | V | (i.e., the number of tilting angles for the new evolution step is equal to the number of sides of f ). A new evolved n-polytope f = Evolve ( f , Θ , λ ) is, then, an additional step in the evolution sequence from the original seed polygon, f = { V , E } , into a n-polytope, f = { V , E } . Considering the set of vertices { V , V , V } from polygons f ,   f and n-polytope f , this set contains the vertices of a polyhedron described by the two-step evolution of f into f . Figure 7 shows an example of the elements for the evolution of a polygon into a single point through two evolution steps.
Figure 7. Detailed illustration of the elements required for a single-direction polygon0-polyhedron evolution. (Left): elements for the first evolution step from a square to a single point. (Right): elements for a second evolution step from a square to a single point.
A sequence of, at most, m 2 evolution steps generates a polyhedron, B, from a polygon, f. Let f 0 = f be the seed polygon, the sequence of evolved n-polytopes f i + 1 = Evolve ( f i , Θ i , λ i ) , where f i = { V i , E i } i = 0 , 1 , , n 1 contains the geometric information of B. The evolution process stops after m evolution steps, or a n-polytope f i is either a point or a line segment. The set V B = i = 0 m 1 V i is the set of vertices of B. The set F B is the set of vertex indices that defines the faces of B. The correspondences between the edges of f i and the respective evolved elements from f i + 1 define F B .

3.3. Double-Direction Polygon–Polyhedron Evolution

We expand the family of evolved polyhedra by considering negative evolution steps. A negative evolution step is the opposite of the normal vector from the respective seed polygon. We must flip the orientation of the seed polygon for the first negative evolution. In that way, we can consider negative evolution steps as regular evolution steps, as discussed so far. Figure 8 shows an example of the stages during a double-direction polygon–polyhedron evolution process. The polygon f is the seed polygon for two evolution sequences: a positive (along the normal vector of f) step and a negative step (opposite to the normal vector of f). We refer to f as f 0 + for the positive step, and f 0 for the negative step. A new evolved polytope f 1 = Evolve ( f 0 , Θ 0 , λ 0 ) corresponds to the negative evolution step. In such an example, the union of the vertices from polygons f, f 1 + and f 1 represents a new polyhedron.
Figure 8. Example of the stages of a double-direction polygon–polyhedron evolution. From left to right: Initial evolution step from f to f   =   f 1 + (positive evolution step), Parameters for the negative evolution step, Definition of the evolved polytope from the intersection of evolving lines resulting from the negative evolution step, Resultant polyhedron by joining the vertices from f, f 1 + , and f 1 .
The following paragraphs describe the double-direction polygon–polyhedron evolution process in formal terms. Let f be a seed polygon with a normalized normal vector, N ^ . An additional sequence of evolution steps, along with N ^ , allows for the generation of polyhedra that a single-direction polygon–polyhedron evolution cannot describe. A positive evolution step occurs above f along N ^ , and a negative evolution step occurs below f along N ^ .
Let f 0 + = f be the seed polygon for the first positive evolution step; the sequence of m + N + positive evolution steps f i + 1 + = Evolve ( f i + , Θ i + , λ i + ) , i = 0 , 1 , , m + 1 describes the upper half of the polyhedron (i.e., the section that lies above f in direction N ^ ). Similarly, let f 0 = flip ( f ) be the seed polygon for the first negative evolution step, where flip ( p ) changes the vertex indices order of the edges from a polygon, p (i.e., swaps the orientation of the front face of the polygon). Flipping the seed polygon for the first negative evolution step allows for the evolution of f along N ^ . This adjustment lets us use the evolution step method without any modification for negative evolution steps. The sequence of m N + negative evolution steps f j + 1 = Evolve ( f j , Θ j , λ j ) , j = 0 , 1 , , m 1 describes the lower half of the polyhedron (i.e., the section that lies below f in direction N ^ ).
The geometry of an evolved polyhedron, B, comes from the vertices of the seed polygon and the evolved n-polytopes, along with the positive and negative directions. The vertices from the seed polygon f = { V , E } , the positive evolved n-polytopes f i + = { V i + , E i + } , i = 0 , 1 , , m + 1 , and the negative evolved n-polytopes f j = { V j , E j } , j = 0 , 1 , , m 1 describe the vertices of the polyhedron B generated from both positive and negative evolution sequences. The set V B = V i = 0 m + 1 V i + j = 0 m 1 V j contains the vertices of B. The set F B is the set of vertex indices that defines the faces of B. Similar to the single-direction evolution, the correspondences between the edges of the seed polygons and their respective evolved n-polytopes define F B . Figure 9b shows an example of a polyhedron obtained from evolving a seed polygon, f, along N ^ and N ^ .
Figure 9. Resultant polyhedra from double-direction polygon–polyhedron evolution from a polygon, f. (a): seed polygon and n-polytopes from evolution steps, (b): polyhedron described by vertices from f ,   f 1 + ,   f 2 + ,   f 1 ,   f 2 , (c): polyhedron described by vertices from f 1 + ,   f 2 + ,   f 1 ,   f 2 .
By omitting the vertices of the seed polygon, f, we can generate a different polyhedron, B, using only the information from both evolution sequences. The set V B = i = 0 m + 1 V i + j = 0 m 1 V j is, then, the vertices from both positive and negative evolved n-polytopes exclusively. Figure 9c shows an example of a polyhedron obtained from evolving a seed polygon, f, along N ^ and N ^ without including the vertices of f.

3.4. Reciprocal Evolution Steps

So far, we can generate polyhedra with coplanar faces between positive and negative evolution steps. However, that is only possible with adequate evolution parameters. We introduce the idea of reciprocal evolution steps to guarantee coplanar faces between the first positive and negative evolution steps. We say two evolution steps are reciprocal if one is a “mirror” version of the other. One evolution step is a π rotation of the other. Such evolution steps provide a mechanism to maintain coplanar faces between the first positive and negative evolution steps, provided their respective parameters are reciprocal.
Figure 10 shows an example of a positive evolution step and its reciprocal negative evolution step. In the example, the reciprocal evolution guarantees the linearity of the faces of the resulting polyhedron between the first positive and negative steps. We require such a feature to describe well-known polyhedra such as the Platonic solids.
Figure 10. Example of the stages of a reciprocal evolution. From left to right: seed polygon (hexagon) f, positive evolution step f 1 + and reciprocal negative evolution step f 1 , and the resultant polyhedron (regular octahedron) by joining the vertices from f, f 1 + , and f 1 .
We consider rotational symmetries between evolved n-polytopes on double-direction polygon–polyhedron evolution. Let f = { V , E } be a polygon and seed polygons f 0 + = f , f 0 = flip ( f ) for both positive and negative evolution sequences, respectively. A positive evolved n-polytope, f i + 1 + = Evolve ( f i + , Θ i + , λ i + ) , i { 0 , 1 , , m + 1 } , is reciprocal to a negative evolved n-polytope, f j + 1 = Evolve ( f j , Θ j , λ j ) , j { 0 , 1 , , m 1 } , if | V i + |   =   | V j | , | V i + | and | V j | are even numbers, and the geometries of f i + 1 + and f j + 1 are rotational symmetric to one another of order O = | V i + | 2 . Otherwise, the evolved n-polytopes are non-reciprocal to each other. Finally, two sets of parameters, { Θ i + , λ i + } , { Θ j , λ j } for i { 0 , 1 , , m + 1 } and j { 0 , 1 , , m 1 } , are reciprocal if the respective evolved n-polytopes f i + 1 + , f j + 1 are reciprocal to each other. Figure 11 shows two octahedra generated using reciprocal and non-reciprocal evolution steps.
Figure 11. Evolved octahedra based on reciprocal and non-reciprocal evolution steps. (Left): reciprocal evolution steps f 1 + with f 1 , and f 2 + with f 2 , (Right): non-reciprocal evolution steps.

3.5. Uniform Evolution

The double-direction evolution through a sequence of correspondent reciprocal evolution steps between positive and negative evolution sequences generates a different set of polyhedra. Let f = { V , E } be a polygon, seed polygons f 0 + = f , f 0 = flip ( f ) for both positive and negative evolution sequences, respectively, a positive evolution sequence with m + evolution steps and a negative evolution sequence with m evolution steps. Both evolution sequences are uniform evolutions of f if m + = m (i.e., the number of evolution steps for both positive and negative evolution sequences is the same) and the evolved n-polytopes f i + 1 + = Evolve ( f i + , Θ i + , λ i + ) and f i + 1 = Evolve ( f i , Θ i , λ i ) are reciprocal to each other i = 0 , 1 , , m + 1 . Figure 12 shows two polyhedra generated with uniform and non-uniform evolution. The uniform evolution generates a truncated tetrahedron.
Figure 12. Uniform and non-uniform evolution. Seed polygons are in red. Evolution polygons are in blue. (a) uniform evolution (overview), (b) uniform evolution (lateral), (c) non-uniform evolution (overview), and (d) non-uniform evolution (lateral).

4. General Mid-Section Evolution

We propose an evolutionary approach that defines the blocks of a TI assembly based on a given surface tessellation. Each tile in the tessellation evolves into a polyhedron via a double-direction evolution. Although each tile evolves independently from the others, the parameters of at least its first positive and negative evolution steps must match with the respective first step parameters from the neighboring tiles. Such a requirement guarantees the evolved polyhedra have common interfaces that allow them to comply with the TI principle (to be discussed in Section 4.2). The evolved polyhedra are, then, the blocks of the interlocking assembly.

4.1. Generation Method

Let M = { V , F } be a surface tessellation with V being the set of vertices and F being the set of tiles. Each tile, f F , must have an even number of sides (this guarantees the edges will have alternating directional values, as indicated in Section 3.4). A tile, f F , evolves into a polyhedron, B, which becomes the respective block in the TI assembly. The geometry of B comes from the double-direction polygon–polyhedron evolution of f with f 0 + = f and f 0 = flip ( f ) being the respective seed polygons for the positive and negative evolution sequences, respectively. Each evolution sequence has a specific number of steps. The positive sequence has m + N + steps, while the negative sequence has m N + steps.
An evolution step takes a set of evolution parameters, Ψ k d = { Θ k d , λ k d } , k = 0 , 1 , , n d 1 , where d { + , } is the evolution sequence to which the step belongs. The set Θ k d contains the tilting angles for the edges of the seed polygon f k d . This set must satisfy | Θ k d | = | V k d | (i.e., the number of tilting angles for the evolution step must be the same as the number of sides of the respective seed polygon). Additionally, two consecutive angles, θ i , θ j Θ k d , must comply with sign ( θ i ) = sign ( θ j ) (i.e., tilting angles toggle their directions along the edges of the seed polygon). The toggling directions are equivalent to the edge directions required to generate interlocking blocks using the generation methods from Kanel-Belov et al. [3] and Bejarano and Hoffmann [7]. The scalar value λ k d N + is the evolution range for the respective evolution step. Each f k + 1 d = Evolve ( f k d , Θ k d , λ k d ) , d { + , } , k = 0 , 1 , , n d 1 defines the vertices and faces of the evolved polyhedron.

4.2. Fundamental TI Generation Requirement

Two neighboring polyhedra must have a common planar interface between them. Such an interface is the intersection of the respective faces from both polyhedra that are mutually coplanar. Let f i , f j F be two neighboring tiles in a surface tessellation with shared edges represented as half-edges a b , b a for the respective tile. The tilting angles θ a b + Θ 0 + and θ b a Θ 0 (only for the first step from both evolution sequences) must be θ a b + = θ b a . The tilting angles rotate the normal vector associated with the shared edge such that it defines the same tilted plane P a , b that contains the edge.
This requirement satisfies the cross-section criteria [2] for TI arrangements. For a planar tessellation composed of square tiles, each tile is the mid-section of the respective block in the assembly. A tile evolves into rectangles as it moves upward toward its normal vector. Eventually, the rectangles collapse into a line segment when the evolving tile reaches the topmost section of the block. Simultaneously, the tile also evolves into rectangles as it moves downwards in the opposite direction of its normal vector, and it will collapse into a line segment when the rectangles reach the bottom-most section of the block. The rectangles moving towards the top of the block are rotated π 2 angles concerning the rectangles moving towards the bottom of the block. Figure 13 shows an example of squares evolving into rectangles in an assembly of interlocked tetrahedra. Kanel-Belov et al. introduced the TI criterion using such an evolution principle [3].
Figure 13. Squares evolving into rectangles while generating tetrahedra. (Left): assembly overview. (Right): top view showing the rectangles as cross-sections.
The polyhedron section contained between its first evolved n-polytopes, along with both positive and negative directions, contributes to the TI behavior of the resultant block. Such a section contains the faces in contact between the block and its neighbors. Its geometry is an antiprism without both top and bottom faces. This geometry guarantees the cross-section criteria of the block in the resultant assembly. The polyhedron sections defined after the first evolution steps (along with both positive and negative directions) can contribute to the TI behavior if their respective tilting angles are the same as those from the first evolution steps.
Figure 12a,c show two different polyhedra evolved from the same seed polygon. Both positive evolution sequences are identical. The negative evolution sequences differ in the last step, where the evolving rectangle collapses into a line segment. This change alters the common interface with a neighboring block in the assembly (if any). Furthermore, it breaks the uniformity of the block without sacrificing the TI property. Moreover, the volumes of the polyhedra become different (assuming uniform density). Changes in the evolution step parameters have implications for the distribution of forces required to maintain the static equilibrium of an assembly.

5. Results

This section describes generating different TI solids using the evolution-steps approach. We focus on the Platonic solids and insights to generate their truncated versions.

5.1. Platonic Solids

Dyskin et al. showed that all five Platonic solids have TI properties when placed in a way such that the tiles of the tessellation fit as the mid-sections of the solids [2]. Specifically, a square tile produces a tetrahedron. A hexagon tile produces either a hexahedron, an octahedron, or a dodecahedron. A decagon tile produces an icosahedron. If a tile is regular, the respective polyhedron can also be regular. Still, the tilting angles and Height–Bisection generation methods can only generate the tetrahedron and the octahedron. Generating the cube requires an additional step that intersects the planes tilted towards the same direction on the hexagon. No combination of intersecting planes generates all vertices for the dodecahedron and the icosahedron.
We can use uniform evolution to generate the Platonic solids, starting with a respective regular polygon. Each solid requires the same number of positive and negative evolution steps. The tetrahedron starts with a square and requires one step. The cube starts with a regular hexagon and requires two steps. The octahedron starts with a regular hexagon and requires one step. The dodecahedron starts with a regular decagon and requires two steps. The icosahedron starts with a regular decagon and requires two steps. The last steps for the cube, dodecahedron, and icosahedron must collapse the penultimate evolution polygon into a point. Figure 14 shows the positive evolution steps along N ^ for each Platonic solid. Negative evolution steps are reciprocal. Table 2 lists the evolution parameter values required to generate each Platonic solid. The parameters are functions of the side length l from the respective tile. The ± symbol indicates the sign of the angles alternating along the edges of the respective seed polygon.
Figure 14. Positive evolution steps of the Platonic solids. Seed polygons are in red, evolved n-polytopes are in blue (from the first evolution step) and green (from the second evolution step).
Table 2. Evolution-step parameters to generate the Platonic solids. Seed polygons are regular and of side length l, and d { + , } .

5.2. Truncated Platonic Solids and Clipped Solids

We can describe the truncated Platonic solids as multi-step evolved polygons as well. For example, the first two sub-figures from left to right in Figure 12 show a truncated tetrahedron generated using uniform evolution. We start with a square of side length l to generate a regular truncated tetrahedron. The parameters for both positive and negative sections of the solid are reciprocal. The first-evolution-step parameters are Θ 0 d = ± π 2 arctan 1 2 and λ 0 d = l 3 2 . The second-evolution-step parameters are Θ 1 d = π 2 arctan 1 2 and λ 1 d = 2 l 3 2 .
To generate the remaining truncated Platonic solids, we also use uniform evolution. The truncated cube requires three evolution steps. The truncated octahedron requires two evolution steps. The truncated dodecahedron requires three evolution steps. Finally, the truncated icosahedron requires four evolution steps.
Clipped solids also result from multi-step evolved polygons. Figure 7 shows how the evolution length parameter λ limits the range of an evolution step. In such cases, we can stop an evolution step before the event of intersecting lines L i happens. Adjusting the λ parameters is equivalent to clipping a block.

5.3. Mixed Solids

Different evolution step parameters for both positive and negative directions result in mixed geometries. From left to right, the last two subfigures in Figure 12 show a solid whose positive section resembles a truncated tetrahedron, while its negative section resembles a regular tetrahedron. Such a polyhedron still satisfies the TI requirements. To generate it, we start with a square of side length l. The positive evolution step parameters Ψ 0 + are the same as the truncated tetrahedron, as mentioned in the previous subsection. The negative evolution step parameters Ψ 0 are the same as the tetrahedron, as listed in Table 2.
To illustrate the versatility and effectiveness of the proposed method, we constructed TICs using half-truncated tetrahedra (Figure 15) and truncated tetrahedra (Figure 16) based on various geometric domains. The considered domains are a planar grid, an elliptic paraboloid, a sinusoidal 3D wave, a saddle, a barrel vault, a sphere, and a torus. These examples were constructed using the Python Version 1.0 of TIGER [36] available at https://github.com/andresbejarano/tiger (accessed on 22 July 2024).
Figure 15. TICs built using half-truncated tetrahedra based on different geometric domains: (a) planar, (b) elliptic paraboloid, (c) wave, (d) saddle, (e) barrel vault, (f) sphere, and (g) torus.
Figure 16. TICs built using truncated tetrahedra based on different geometric domains: (a) planar, (b) elliptic paraboloid, (c) wave, (d) saddle, (e) barrel vault, (f) sphere, and (g) torus.

5.4. Concave Solids

We can use the double-direction polygon–polyhedron evolution to generate concave solids with TI properties. As mentioned, the first positive and negative evolution steps must comply with the Fundamental TI generation requirement. An example of such concave solids was reported by Tessmann [23] and Tessmann and Becker [24]. Figure 17 shows the design from Philipp Mecke replicated using double-direction polygon–polyhedron evolution starting from an irregular hexagon. The design of such blocks involves subtracting sections from a tetrahedron while maintaining the interlocking principle. The parametric design of Mecke’s block allows for the generation of TI assemblies with adjustable porosity (i.e., holes between adjacent blocks).
Figure 17. TI polyhedron, by Mecke, generated using double-direction polygon–polyhedron evolution. From left to right: oblique view, front view, right view, and top view.
To generate Mecke’s TI block, we start with an irregular hexagon of side lengths a (shorter side length) and b (longer side length) as the seed polygon f. To keep our approach as parametric as possible, we set the vertices of f to lie in a circumference of radius r. Side length a is a parameter, which leaves b as a function of r and a. We only required one evolution step along the positive and negative sides of f to generate the block. We defined angles θ a and θ b for their respective side lengths. All angles had to be positive, but two were respective to a pair of opposite short side lengths. The other pair of opposite short side lengths had to be negative for the negative evolution step. Infinitely many parameter values exist to generate the block using double-direction polygon–polyhedron evolution. The result shown in Figure 17 has values of r = 1 , a = 0.4 , b = 1.11 , θ a = 0.98 radians, and θ b = 1.13 radians. Evolution length λ had to be long enough to allow the lines L i to intersect within the evolution range.
Tessmann and Becker continued exploring Mecke’s TI polyhedron by considering its performance and gradually reducing its mass [24]. We replicated the equivalent geometries even when no mass could be removed. We used the same evolution parameters as the original shape for such a block shape. Still, we reduced the length of the shorter irregular hexahedron edges until the resultant polygon was a square. Figure 18 shows the mass-decreased Mecke’s block replicated using double-direction polygon–polyhedron evolution.
Figure 18. Collapsed polyhedron, by Mecke, generated using double-direction polygon–polyhedron evolution. From left to right: oblique view, front view, right view, and top view.

6. Conclusions

This article has proposed a framework to generate TI polyhedra as a multi-step evolution process. The framework generalizes over the tilting angles and Height–Bisection generation methods. An evolution step evolves (i.e., reshapes and translates) a seed polygon into a n-polytope (e.g., point, line segment, or polygon). Consecutive evolution steps are possible when the evolved n-polytope is a polygon. Possible evolution steps could follow a single or double direction to the normal vector of the seed polygon. Additionally, reciprocal and uniform evolution steps produce different shapes, which comply with the TI requirements under certain matching specifications. The TI shapes generated with the framework include the Platonic solids (and truncated versions), mixed solids, and concave TI blocks.
The parametric nature of the framework opens the door for further discussions about TI assemblies and their functionality. For example, how to increase block volumes to redistribute compression/tension forces on the assembly and expand the catalog of possible interlocking configurations that comply with the topological interlocking principle. Our proposed method adapts to various surface requirements, allowing for a high degree of customization and versatility in design. Engineers and architects can leverage this flexibility to create intricate and aesthetically pleasing structures that meet specific functional and architectural needs. This ability to generate unique, interlocking designs that are both functional and visually appealing can benefit applications in custom architecture, modular construction, and artistic installations.
The Evolution Steps method can enhance the design and manufacture of interlocking assemblies in mechanical and materials engineering. Architects, designers, and engineers can create customized, interlocking structures that exhibit enhanced mechanical properties by enabling the precise control of block shapes through polygon transformations. Such mechanical properties include an increased load-bearing capacity, improved energy absorption, and superior resistance to deformation. These characteristics are advantageous in applications requiring robust and resilient materials, such as protective gear, impact-resistant panels, and aerospace components.
One critical advantage of the proposed Evolution Steps method is its potential to minimize material waste during the manufacturing process. Traditional construction techniques often involve cutting and shaping materials, leading to significant waste. In contrast, our method allows for the precise design of interlocking blocks that fit with minimal gaps, reducing the need for excessive cutting and trimming. This efficiency conserves resources and lowers production costs and environmental impact, aligning with sustainable manufacturing practices.
Additional research is needed to expand our understanding of the TI generation process in terms of physical requirements, for example, to find the optimal evolution scheme and parameters to minimize tension forces between blocks for the assembly to reach static equilibrium.

Author Contributions

Conceptualization, A.B. and K.M.; methodology, A.B.; software, A.B. and K.M.; validation, A.B.; formal analysis, A.B.; investigation, A.B. and K.M.; resources, A.B. and K.M.; data curation, A.B.; writing—original draft preparation, A.B.; writing—review and editing, A.B.; visualization, A.B. and K.M.; supervision, A.B.; project administration, A.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Dyskin, A.V.; Estrin, Y.; Kanel-Belov, A.J.; Pasternak, E. Toughening by Fragmentation–How Topology Helps. Adv. Eng. Mater. 2001, 3, 885. [Google Scholar] [CrossRef]
  2. Dyskin, A.V.; Estrin, Y.; Kanel-Belov, A.J.; Pasternak, E. Topological interlocking of platonic solids: A way to new materials and structures. Philos. Mag. Lett. 2003, 83, 197–203. [Google Scholar] [CrossRef]
  3. Kanel-Belov, A.J.; Dyskin, A.V.; Estrin, Y.; Pasternak, E.; Ivanov-Pogodaev, I.A. Interlocking of convex polyhedra: Towards a geometric theory of fragmented solids. arXiv 2008, arXiv:0812.5089. [Google Scholar] [CrossRef]
  4. Fallacara, G. Digital Stereotomy and topological transformations: Reasoning about shape building. In Proceedings of the 2nd International Congress on Construction History, Cambridge, UK, 29 March–2 April 2006; Volume 1, pp. 1075–1092. [Google Scholar]
  5. Fallacara, G. Toward a stereotomic design: Experimental constructions and didactic experiences. In Proceedings of the Third International Congress on Construction History, Cottbus, Germany, 20–24 May 2009; pp. 553–560. [Google Scholar]
  6. Dyskin, A.V.; Estrin, Y.; Pasternak, E. Topological Interlocking Materials. In Architectured Materials in Nature and Engineering; Estrin, Y., Bréchet, Y., Dunlop, J., Fratzl, P., Eds.; Springer International Publishing: Cham, Switzerland, 2019; Volume 282, pp. 23–49. [Google Scholar] [CrossRef]
  7. Bejarano, A.; Hoffmann, C. A generalized framework for designing topological interlocking configurations. Int. J. Archit. Comput. 2019, 17, 53–73. [Google Scholar] [CrossRef]
  8. Mirkhalaf, M.; Zhou, T.; Barthelat, F. Simultaneous improvements of strength and toughness in topologically interlocked ceramics. Proc. Natl. Acad. Sci. USA 2018, 115, 9128–9133. [Google Scholar] [CrossRef] [PubMed]
  9. Mirkhalaf, M.; Zhou, T.; Hannard, F.; Barthelat, F. Strong and Tough Ceramics Using Architecture and Topological Interlocking. In Proceedings of the IUTAM Symposium Architectured Materials Mechanics, Chicago, IL, USA, 17–19 September 2018; Siegmund, T., Barthelat, F., Eds.; Gleacher Center: Chicago, IL, USA, 2018. [Google Scholar]
  10. Weizmann, M.; Oded, A.; Grobman, Y.J. Structural Performance of Semi-regular Topological Interlocking Assemblies. In Proceedings of the Symposium on Simulation for Architecture and Urban Design SimAUD 2019, Atlanta, GA, USA, 7–9 April 2019; pp. 217–223. [Google Scholar]
  11. Williams, A.; Siegmund, T. Mechanics of Topologically Interlocked Material Systems under Point Load: Archimedean and Laves Tiling. arXiv 2020, arXiv:2004.07115. [Google Scholar] [CrossRef]
  12. Glickman, M. The G-block system of vertically interlocking paving. In Proceedings of the 2nd International Conference on Concrete Block Paving, Delft, The Netherlands, 10–12 April 1984; p. 4. [Google Scholar]
  13. Dyskin, A.; Estrin, Y.; Kanel-Belov, A.; Pasternak, E. A new concept in design of materials and structures: Assemblies of interlocked tetrahedron-shaped elements. Scr. Mater. 2001, 44, 2689–2694. [Google Scholar] [CrossRef]
  14. Dyskin, A.; Estrin, Y.; Kanel-Belov, A.; Pasternak, E. Interlocking properties of buckyballs. Phys. Lett. A 2003, 319, 373–378. [Google Scholar] [CrossRef]
  15. Weizmann, M.; Amir, O.; Grobman, Y.J. Topological Interlocking in Architectural Design. In Emerging Experience in Past, Present and Future of Digital Architecture, Proceedings of the 20th International Conference of the Association for Computer-Aided Architectural Design Research in Asia (CAADRIA 2015), Daegu, Republic of Korea, 20–22 May 2015; The Association for Computer-Aided Architectural Design Research in Asia (CAADRIA): Hong Kong, China, 2015; pp. 107–116. [Google Scholar]
  16. Weizmann, M.; Amir, O.; Grobman, Y.J. Topological interlocking in buildings: A case for the design and construction of floors. Autom. Constr. 2016, 72, 18–25. [Google Scholar] [CrossRef]
  17. Weizmann, M.; Amir, O.; Grobman, Y.J. Topological interlocking in architecture: A new design method and computational tool for designing building floors. Int. J. Archit. Comput. 2017, 15, 107–118. [Google Scholar] [CrossRef]
  18. Weizmann, M.; Amir, O.; Grobman, Y.J. The effect of block geometry on structural behavior of topological interlocking assemblies. Autom. Constr. 2021, 128, 103717. [Google Scholar] [CrossRef]
  19. Goertzen, T.; Niemeyer, A.; Plesken, W. Topological interlocking via symmetry. In Concrete Innovation for Sustainability, Proceedings of the 6th fib International Congress, Oslo, Norway, 12–16 June 2022; The International Federation for Structural Concrete: Lausanne, Switzerland, 2022; pp. 12–16. [Google Scholar]
  20. Khor, H.C.; Dyskin, A.; Pasternak, E.; Estrin, Y.; Kanel-Belov, A.J. Integrity and fracture of plate-like assemblies of topologically interlocked elements. In Structural Integrity and Fracture; CRC Press: Leiden, The Netherlands, 2002; pp. 449–456. [Google Scholar]
  21. Estrin, Y.; Dyskin, A.V.; Kanel-Belov, A.J.; Pasternak, E. Materials with Novel Architectonics: Assemblies of Interlocked Elements. In IUTAM Symposium on Analytical and Computational Fracture Mechanics of Non-Homogeneous Materials, Proceedings of the IUTAM Symposium, Cardiff, UK, 18–22 June 2001; Gladwell, G.M.L., Karihaloo, B.L., Eds.; Springer: Dordrecht, The Netherlands, 2002; Volume 97, pp. 51–55. [Google Scholar] [CrossRef]
  22. Tessmann, O. Topological Interlocking Assemblies. In Physical Digitality: Proceedings of the 30th eCAADe Conference, Prague, Czech Republic, 12–14 September 2012; eCAADe (Education and research in Computer Aided Architectural Design in Europe): Brussels, Belgium; České Vysoké Učení Technické v Praze: Prague, Czech Republic, 2012; Volume 2, pp. 211–219. [Google Scholar]
  23. Tessmann, O. Interlocking Manifold Kinematically Constrained Multi-material Systems. In Advances in Architectural Geometry 2012; Hesselgren, L., Sharma, S., Wallner, J., Baldassini, N., Bompas, P., Raynaud, J., Eds.; Springer: Vienna, Austria, 2013; pp. 269–278. [Google Scholar] [CrossRef]
  24. Tessmann, O.; Becker, M. Extremely heavy and incredibly light: Performative assemblies in dynamic environments. In Proceedings of the 18th International Conference on Computer-Aided Architectural Design Research in Asia: Open Systems, CAADRIA 2013, Singapore, 15–18 May 2013; pp. 469–478. [Google Scholar]
  25. Akleman, E.; Krishnamurthy, V.R.; Fu, C.A.; Subramanian, S.G.; Ebert, M.; Eng, M.; Starrett, C.; Panchal, H. Generalized abeille tiles: Topologically interlocked space-filling shapes generated based on fabric symmetries. Comput. Graph. 2020, 89, 156–166. [Google Scholar] [CrossRef]
  26. Ebert, M.; Akleman, E.; Krishnamurthy, V.; Kulagin, R.; Estrin, Y. VoroNoodles: Topological Interlocking with Helical Layered 2-Honeycombs. Adv. Eng. Mater. 2024, 26, 2300831. [Google Scholar] [CrossRef]
  27. Vella, I.M.; Kotnik, T. Geometric Versatility of Abeille Vault—A Stereotomic Topological Interlocking Assembly. In Complexity & Simplicity, Proceedings of the 34th eCAADe Conference, Oulu, Finland, 22–26 August 2016; Aulikki, H., Österlund, T., Markkanen, P., Eds.; CAADe (Education and Research in Computer Aided Architectural Design in Europe): Brussels, Belgium; Oulu School of Architecture, University of Oulu: Oulu, Finland, 2016; Volume 2, pp. 391–397. [Google Scholar]
  28. Tessmann, O.; Rossi, A. Parametric and Combinatorial Topological Interlocking Assemblies. In Proceedings of the IUTAM Symposium Architectured Materials Mechanics, Chicago, IL, USA, 17–19 September 2018; Siegmund, T., Barthelat, F., Eds.; Gleacher Center: Chicago, IL, USA, September 2018. [Google Scholar]
  29. Tessmann, O.; Rossi, A. Geometry as Interface: Parametric and Combinatorial Topological Interlocking Assemblies. J. Appl. Mech. 2019, 86, 111002. [Google Scholar] [CrossRef]
  30. Xu, W.; Lin, X.; Xie, Y.M. A novel non-planar interlocking element for tubular structures. Tunn. Undergr. Space Technol. 2020, 103, 103503. [Google Scholar] [CrossRef]
  31. Kurucu, A.T.; İlerisoy, Z.Y. Structural Performance of Topologically Interlocked Flat Vaults According to Joint Details. Period. Polytech. Archit. 2023, 54, 1–11. [Google Scholar] [CrossRef]
  32. Wang, Z.; Song, P.; Isvoranu, F.; Pauly, M. Design and structural optimization of topological interlocking assemblies. ACM Trans. Graph. 2019, 38, 1–13. [Google Scholar] [CrossRef]
  33. Loing, V.; Baverel, O.; Caron, J.F.; Mesnil, R. Free-form structures from topologically interlocking masonries. Autom. Constr. 2020, 113, 103117. [Google Scholar] [CrossRef]
  34. Chen, R.; Qiu, P.; Song, P.; Deng, B.; Wang, Z.; He, Y. Masonry Shell Structures with Discrete Equivalence Classes. ACM Trans. Graph. 2023, 42, 1–12. [Google Scholar] [CrossRef]
  35. Laccone, F.; Menicagli, S.; Cignoni, P.; Malomo, L. Computational design of segmented concrete shells made of post-tensioned precast flat tiles. Structures 2024, 62, 106156. [Google Scholar] [CrossRef]
  36. Bejarano, A.; Hoffmann, C. TIGER: Topological Interlocking GEneratoR. In Proceedings of the 2020 IEEE Games, Multimedia, Animation and Multiple Realities Conference (GMAX), Barranquilla, Colombia, 17–18 September 2020; pp. 1–6. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.