Introduction

A reciprocal frame (RF) (Popovic Larsen 2008) is a self-supported 3D structure made up of three or more sloping rods. In general, rods are put together to form a closed circuit called RF-units, while multiple RF-units can be further put together to form large RF-structures. Even though the structures are made up of just simple rods, no central supports are required to physically maintain the structure.

Designing RF-structures with a small number of RF-units is not easy but manageable, while designing RF-structures that span over large domains is intricate and complex. Currently, approaches taken by architects are either manual and tedious (Gelez and Saby 2011), or too restrictive with limited user controls (Brocato and Mondardini 2010; Thönnissen and Werenfels 2011). Though computational methods for RF-structures have been employed recently by the architectural community (Pugnale et al. 2011), existing research still focuses more on engineering issues such as stability, and not on the design.

Our interactive tool (Song et al. 2013) for designing RF-structures has the following three key contributions: (1) it develops coherent 2D RF-tessellations by connecting RF-structures and plane tiling; (2) it lifts the 2D RF-tessellation to 3D over a guiding surface and forms an approximated RF-structure by conformal mapping for interactive preview; and (3) since conformal mapping cannot ensure collinear contact joints along each rod, we devise further a novel optimization model to ensure collinear contacts while preserving the geometric properties of RF-structures. Please refer to (Song et al. 2013) for details.

Our design tool can free us from various engineering considerations, and allow us to focus on the aesthetic aspect of designs. In particular, we can quickly sketch and formulate RF designs with extended number of RF-units, and easily manipulate and preview a wide variety of RF patterns with feasible geometric parameters. Once a design is done, we can also export it for physical construction.

This paper supplements our previous work (Song et al. 2003) with the following new contents: First, we present implementation details of our tool in “Implementation of Our Design Tool”. Then, we describe the user interface and its operations in “User Interface Procedure”, e.g., visual aids to assist RF construction. Lastly, we also present new results from our tool in “Results”.

Related Work

RF-structures are efficient for practical eco-friendly constructions as they are simple to prefabricate and reuse. However, at present there is little support to guide users to discover feasible arrangement of RF-structures. Hence, architects often manually try out different ways of assembling RF-structures by testing with physical mock-ups directly with rods (Chilton 2009; Gelez and Saby 2011). Although such an approach allows full control over the making of a design, form finding remains very challenging while ensuring a valid RF arrangement. As a result even relatively simple designs can be tedious and time-consuming to mock-up (Gelez and Saby 2011). Pugnale et al. (2011) stressed the need for computational tools for RF designs. Existing attention, however, is focused on handling engineering issues, such as force analysis on the structural stability (Douthe and Baverel 2009; Kohlhammer and Kotnik 2010) and the fitting of rods to form a connected RF (Baverel et al. 2004; Parigi et al. 2012).

Although there have been recent attempts to support RF designs, they are preliminary and offer only limited user controls. Brocato and Mondardini (2010) proposed a geometric method to design stone domes with extended number of RF-units, but their method supports only one class of RF patterns and offers a few user-control parameters. Thönnissen and Werenfels (2011) employed a Rhino-script to aid students to design RF-structures and arranged the RF-units over the cells by Delaunay triangulation. Since the employed points are arbitrarily distributed, the resulting RF-structures can be rather irregular. Further, users have little controls on the RF patterns, and have no support of interactive preview for refining their designs.

Our tool presents a novel computational solution that offers interactive design for realizing large RF-structures, which are difficult to conceive by physical mock-up-based experimentation. With our approach, one can quickly sketch an RF-structure, flexibly modify its appearance and pattern, and interactively experiment with different design parameters while the underlying optimization can ensure connectivity and structural coherence.

Implementation of Our Design Tool

The main objective of our interactive tool is to allow users to easily design and visualize large RF-structures over a given guiding surface in 3D. A large RF-structure is formed by a grillage of rods and can be constructed with a two-level hierarchy. In the first level, the fundamental elements are rods with certain thickness and length. The second-level elements are RF-units, which are made up of three or more rods as described earlier. The appearance of an RF-structure is geometrically determined by the shape of the 3D guiding surface and the geometric parameters of the RF-units. In our tool, users can import a desired 3D model in the standard OBJ file format to define the guiding surface. In addition, users can also interactively edit the appearance of an RF-structure with the following parameters of RF-units: (1) number of rods; (2) clockwise and counter-clockwise spiraling; (3) radius of inner circle; (4) rod length; (5) rod thickness; and (6) angle between neighboring rods, as well as (7) how RF-units are connected and composed together to form an RF-tessellation.

Our tool is implemented using C++ and OpenGL. It consists of the following three interface components for step-by-step design of large RF-structures, starting from 2D RF-tessellation to 3D RF-structure, and then its physical construction (see Fig. 1):

  • RF Pattern Editor for users to compose and edit RF-units in 2D, and to design and generate coherent RF-tessellation on the 2D plane;

  • RF Creator for lifting the generated 2D RF-tessellation pattern onto a 3D guiding surface, so that users can preview the 3D appearance of the RF-structure while modifying its various parameters we described earlier; once a design is done, users can further optimize the rod positions for generating an RF-structure with collinear rods contacts;

  • RF Fabricator provides various visual aids to assist the prototyping or physical construction of an RF-structure, for example, showing physical measurement and angles between rods.

Fig. 1
figure 1

The workflow of our software tool: a RF Pattern Editor, b RF Creator, and c RF Fabricator

In the followings, we detail each interface component:

(1) RF Pattern Editor. In this interface component, a basic set of building blocks (see the top left subpanel in Fig. 1a), i.e., regular RF-units of different numbers of rods and spiraling, are offered for users to select and create their RF-tessellations. These units are symmetric; in most cases, they have a rotational symmetry. Other than these standard RF-units, users can also design their own RF-units in RF Pattern Editor.

After the user selects two RF-units, he/she specifies how these two RF-units are connected. This is called as a grammar rule [see the boxed sub-image (with dashed lines) near the bottom of Fig. 1a). Our interface can then validate whether a coherent RF-tessellation can be generated from the user-defined grammar rule. Since our method connects RF-structures with the plane tiling theory, this issue can be easily resolved by using a simple search algorithm that involves a manageable number of uniform plane tiling patterns. Moreover, by associating grammar rules with plane tiling, our method can also automatically position the RF-unit(s) within each tile in the associated plane tiling pattern. Hence, we can effortlessly generate a coherent RF-tessellation and take this RF-tessellation pattern as an input to the next interface component, i.e., RF Creator.

(2) RF Creator. In this interface component, the user can import a 3D guiding surface from a standard OBJ file model, which will be scaled to fit in the range of [–1, 1] in 3D and will be properly oriented on the ground (see Fig. 2b). After that, the surface model will be automatically parametrized with conformal mapping using the ABF++ method (Sheffer et al. 2005), which is provably valid conformal parameterization with low length distortion. Then, the 2D RF-tessellation generated from RF Pattern Editor can be lifted onto this surface model by using standard texture mapping in computer graphics with the conformal parameterization. Since the rods are straight in 3D, we approximate an RF-structure from the textured surface model and keep contacting rods close to each other (see Fig. 2).

Fig. 2
figure 2

Initial placement of rods in 3D by conformal mapping. a 2D RF-tessellation; b 3D guiding surface; and c map the 2D RF-tessellation onto the guiding surface and compute an approximated RF-structure

There are two windows in RF Creator: 2D RF-tessellation window for users to interactively modify the 2D RF-tessellation and 3D RF viewer window for users to visualize and preview the 3D RF-structure being manipulated with instantaneous visual feedback. In the 3D viewer, it also shows the ground-supporting rods among the rods of the RF-structure; these rods are automatically adjusted to meet and contact the ground surface (but can be adjusted further by users via the GUI to decide which are the ground-supporting rods) and give support to the structure [see the tiny grey boxes in the visualization in Fig. 1b (left)]. The approximated RF-structure is good for interactive preview but still imperfect since some rods might penetrate, or slightly float above one another, rather than contacting (see Fig. 3a, b). So after a design is done, we can apply the optimization toolbox in RF Creator, which is the two-stage optimization method described in (Song et al. 2013), to solve for the rods positions in 3D so that we can ensure collinear rods contacts (see Fig. 3c), as well as preserve the RF pattern against distortion.

Fig. 3
figure 3

The rods in (a) the approximated RF-structure might (b) slightly float over or penetrate one another so we further optimize the rod positions to (c) ensure their collinear contact

(3) RF Fabricator. After an RF design is made, we can employ the RF Fabricator as an interactive visualization tool to aid the physical construction of the RF-structure exported from RF Creator. First, RF Fabricator facilitates accurate measurement and visualization of RF-structures by using orthographic projection to present the geometry. Once an RF-structure is loaded, RF Fabricator will present a top-down 2D map view of the geometry and show the 2D locations (with coordinates) where the rods contact the ground (see Fig. 4b).

Fig. 4
figure 4

Our tool can assist the physical construction of RF-structures: a clicking a rod to see its contact information; and b a top–down 2D map view of the RF-structure

Moreover, the user can also click on a rod to obtain its contact information. This includes its intersection angles with the neighboring rods, its length, and its contact joint positions (on the rod) with the neighboring rods (see Fig. 4a). Furthermore, the interface also projects the selected rod onto the ground for users to estimate its relative location on the map (see Fig. 4b). To further improve the visualization, after selecting a rod, we can also rotate the whole RF-structure in 3D with the rod center as the center of the rotation.

User Interface Procedure

This section details the procedure of how to use our tool to design a large RF-structure (see Fig. 5):

  1. 1.

    First, the user selects two RF-units in RF Pattern editor (Fig. 5a). These two RF-units need not be the same, as it depends on the design of the user. Then, he/she can connect the two RF-units in the working canvas to define a grammar rule, i.e., how the two RF-units are connected.

  2. 2.

    After that, RF Pattern editor will repeatedly apply the grammar rule procedurally and attempt to generate a coherent 2D RF-tessellation (Fig. 5b). Note that one may also define more than one rule and/or employ more than one RF-unit to achieve a coherent RF-tessellation.

  3. 3.

    After achieving a coherent RF-tessellation, the user can open RF Creator, and import a desired OBJ model as the 3D guiding surface. Then, RF Creator can automatically generate an approximated RF-structure with the 2D RF-tessellation on the guiding surface (Fig. 5c).

  4. 4.

    Now, the user can apply the tessellation window in RF Creator to modify how to map the tessellation pattern onto the 3D RF-structure with interactive feedback. For example, users can perform rigid transformation on the 2D tessellation such as translation, rotation, and scaling. Figure 5d shows an example of scaling, as compared with Fig. 5c.

  5. 5.

    Moreover, the user can modify the geometrical parameters of the RF-units, for example, the size of the RF-units as relative to the distance between them in a grammar rule. In Fig. 5e, the distance between RF-units decreases as compared with that in Fig. 5d.

  6. 6.

    The user can also change the orientations of RF-units (Fig. 5f). Note that at this stage, the user’s focus is on the aesthetic aspects of the designs.

  7. 7.

    Once the user is satisfied with the RF design (Fig. 5g), he/she can further apply the optimization toolbox in RF Creator to make the approximated RF-structure into a coherent structure in 3D.

  8. 8.

    The rods in the approximated RF-structure may float above or penetrate one another rather than contacting as described earlier (Fig. 5h).

  9. 9.

    By applying the optimization toolbox, we can resolve the form finding problem (compare Fig. 5h, i for the locations of rods before and after the optimization).

Fig. 5
figure 5

Procedure of using our tool to design a large 3D RF-structure. ac create an RF-tessellation and then an approximated 3D RF-structure by mapping the tessellation onto the 3D guiding surface; df interactively refine (design) its appearance by modifying various RF parameters; and gi apply the optimization toolbox to arrange the rods in the 3D RF-structure so that we can obtain collinear rods contacts in 3D

Results

RF designs. Our tool supports a wide variety of RF patterns and their variations, and it allows users to design RF-structures over guiding surfaces of many different shapes. Figure 6 shows some new RF-structures that we have not presented in (Song et al. 2013): (a) CYLINDER with a 4-rod RF pattern, (b) HEMISPHERE with the bug-shaped RF pattern, (c) HYPERBOLOID with a 6-rod RF pattern, (d) TORUS with a 3-rod + 6-rod pattern, (e) SPINDLE with a 3-rod + 6-rod RF pattern, and (f) TRAINSTATION with a 3-rod RF pattern.

Fig. 6
figure 6

Various RF-structures designed by our tool using guiding surfaces of different shapes. From a to f: CYLINDER, SPHERE, HYPERBOLOID, TORUS, SPINDLE, and TRAINSTATION

Preliminary study. We performed a preliminary study with a 12-year-old girl who employed RF Fabricator to build a physical model of the PEANUT RF-structure (see Fig. 7). The structure involves 184 rods (3 mm-thick wooden sticks). Note that the girl was unable to complete the construction of this structure by herself because she needed a helper to hold the rods while she tied up the connections. It took her about 12 h to complete the construction, and she commented that constructing RF-structure with our tool is interesting and fun.

Fig. 7
figure 7

Preliminary study result: physical construction of the PEANUT model (184 rods)

Conclusion

This paper supplements (Song et al. 2013) and details our interactive computational tool for RF designs with the followings: the implementation detail of our software tool; the procedure of using its user interface; new results of RF-structures derived from our tool; and a preliminary study of using our tool to create an RF-structure.