FORMEX ALGEBRA ADAPTATION INTO PARAMETRIC DESIGN TOOLS AND ROTATIONAL GRIDS

: This paper describes the adaptation of the formex configuration processing to the computer program Grasshopper 3D and focuses on the applied mathematical solutions. Formex algebra is a mathematical system, primarily used for planning structural systems like truss-grid domes and vaults, together with the programming language Formian. The goal of the research is to allow architects to plan truss-grid structures easily with parametric design tools based on the versatile formex algebra mathematical system. To produce regular structures, coordinate system transformations are used. Owing to the abilities of the parametric design software, it is possible to apply further modifications on the structures and gain special forms. The paper covers the basic dome types, and it introduces additional dome-based structures using special coordinate-system solutions based on a spherical coordinate system, vault structures and their modifications based on a cylindrical coordinate system and circular structures and their modifications based on polar coordinates. Moreover two rotational grid tools are introduced, which uses coordinate system transformations on a unique way to create surfaces of revolutions based on the given generating curve and create grid structures on these surfaces. It also describes the solution technique to implement the triangular grid version of every one of these tools based on diamatic domes. The adaptation of formex algebra and the parametric workflow of Grasshopper together give the possibility of quick and easy design and optimization of special truss-grid domes.


Introduction
This paper describes the adaptation of the formex configuration processing to the computer program Grasshopper 3D [1]. It covers the shapes of dome and vault structures of Formex Configuration Processing I [2], and Formex Configuration Processing II [3]. For example it includes the 'simple' dome structures like Ribbed domes, Schwedler domes and Lamella domes, which are based on spherical coordinates. The vault and planar structures based on cylindrical coordinates, and the triangular version of these structures based on the Diamatic domes are also introduced. These structures are visible in Fig. 1.

Fig. 1. All type of dome and vault tools
The paper also introduces the generation of two additional shapes based on a newly derived formulation. These shapes are not part of the formex configuration processing but they use the possibilities of parametric modeling and fit into this system.
Using computer-based technologies to plan truss grid structures provides the possibility for architects and engineers to use more advanced or user-friendlier methods in the design process [4], [5]. The aim of this adaptation is to develop a tool for architects to design grid structures easily. In this paper the generation methods of formex algebra are reinterpreted and different calculation methods are used.
Formex algebra is a mathematical system created by Hoshyar Nooshin and Peter Disney in 1975 [1]. It is developed since then by Professor Nooshin and his colleagues [6]. It is primarily used for planning various truss-grid structures, mainly domes and vaults, but other geometrical forms are also covered by it [7]. Formex algebra can be used with the computer program Formian (Formian 2 and Formian K. [8]), and the programming language Formian.
Formex algebra uses coordinate system transformations to modify grid structures. This solution makes very easy to construct a vault or a dome from a planar or multilayered grid, which is designed in the Cartesian coordinate-system. At the same time it is necessary to learn the programming language Formian to be able to use formex algebra, which makes its application difficult. Grasshopper is a graphical algorithm editor which works together with the 3D modeling program Rhino 3D [9]. It uses the syntax of Rhino. With Grasshopper it is possible to give algorithm controlled commands to Rhino. Because of its graphical interface no programing language is necessary, although users have to understand and use the workflow of programming. Grasshopper contains a lot of components with which users can create special forms and fluid geometries as seen in [10]- [15]. Grasshopper can also communicate with a lot of other design software, and a lot of other plug-ins was already created [16]. Because of this Grasshopper is an ideal environment for the coordinate system transformations known from Formex algebra. Designers, who usually do not have programming skills, can use this environment easier, and with the various geometrical components of Grasshopper the efficiency of this tool becomes apparent.
This paper focuses on the mathematical solutions and does not cover the introduction of the plug-in, and how it operates. It will be the topic of a separate paper.

Mathematical calculations
The calculation of dome structures is based on spherical coordinates. In formex algebra the user has to define three variables, b1 (factor for scaling in the first direction (linear scale factor)), b2 (factor for scaling in the second direction (angular scale factor)), and b3 (factor for scaling in the third direction (angular scale factor)) [2]. To change any other attribute of the dome structure the user has to change the properties of the initial grid. The thickness of the double layer grids is the same as the thickness of the initial grid and the gap in the middle is defined by the position of the initial grid. This solution requires only a few variables, but the user has to calculate the necessary measurements.
By the reformulation of the dome tool a versatile and user-friendly solution could be created. The original calculation method is modified and extended by using an ellipsoidal coordinate system. In this way wider range of dome shapes can be created, for example ellipsoidal domes with different height and radius, compared to a simple spherical solution, it can be seen in Fig. 2. Pollack Periodica 15, 2020, 2 , • , where U 1 , U 2 , U 3 are the coordinates of the spherical coordinate system; x, y, z are the Cartesian coordinates of the initial grid; R is the radius of the spherical dome, and α, β are the factors of angular scaling in the second and third directions. The calculation of the ellipsoidal coordinates is similar to the spherical coordinates, only the first coordinate (U 1 ) of the points vary according to the spherical coordinates of a point, as it can be seen in Fig. 2., the calculation of U 2 and U 3 are the same,

,
( where r is the radius of the base of the ellipsoidal dome; and h is the height of the ellipsoidal dome. In the new formulation of the dome tool no scaling factor is used. The first coordinate (U 1 ) is calculated from the radius and height variables. Because of this the thickness of the double layer grid is also a required variable, which also changes the calculation of U 1 .
To ensure the uniformity of the ellipsoidal structure, the inner shell of the grid is calculated by an ellipsoid, where the height and the radius are reduced by the value of the thickness, as it can be seen in Fig. 3, where U 1i is the first coordinate of the inner shell; and t is the thickness of the structure.

Fig. 3. Variables of ellipsoidal coordinates with thickness and with a gap
According to this, the calculation of the first coordinate of a point is described as: where U 1P , U 2P , U 3P are the ellipsoidal coordinates of a point in the grid; t P is the distance of a point from the inner shell; z P is the z coordinate of a point in the initial grid; and z max , z min are the largest and smallest z coordinates in the initial grid. In formex algebra the gap in the center of the structure is specified by the position of the initial grid according to the origin. In the new calculation method a variable is used to define the angle of the gap. If the dome structure has a gap, the calculation of the U 3 varies as it is plotted in Fig. 4, where λ is the angle of the gap; and y P is the y coordinate of a point in the initial grid.

Modified dome structures
With the modification of the reformulated dome tool some additional shapes can be created with which users can construct various ellipsoidal coordinate system based shapes. This modification adds a lot of new opportunity for shape definition to this tool.
In these modified structures one or two of the angular coordinates of the dome structure are modified and replaced with linear coordinates. The outer vertices of the transformed grid remain in place, but one, two or three edges of the structure are transformed from circular to linear. During this transformation the ratio of the points along the edges remain the same, so the division of the grid will remain equal, if it was equal in the initial grid. In Fig. 4 the three modification types can be seen. The modified structure is called cupola if the second coordinates are transformed from angular to linear (Fig. 4a), cone, if the third coordinates are transformed (Fig. 4b), and pyramid if both the second and the third coordinates are transformed from angular to linear (Fig. 4c). 4. Edges of the modified domes a) type 1 -cupola, b) type 2 -cone, c) type 3 -pyramid These tools were created to fit into the ellipsoidal coordinate system. The thickness of the structures by the minimal and maximal 2 nd and 3 rd coordinates is the given value in the radial direction. It means that the different modified structures can be connected easily if their input parameters are organized, but it also has a side effect, that the thickness of the structure is not constant in the modified structures, as seen in Fig. 5, where t t is the top thickness of the structure; and t b is the bottom thickness of the structure.
The modification method works correctly if both of the second and third coordinates of the vertices are less than 180°.

Type 1 -cupola
For the cupola type domes (Fig. 5a and Fig. 6a) the second coordinates (U 2 ) of the domes are changed from angular to linear coordinates. In this case the first -which were linear originally -and second coordinates (U 1 , U 2 ) of this structure are linear, the third (U 3 ) is angular as it is shown in Fig. 6.

Type 2 -cone
For the cone type domes (Fig. 5b and Fig. 6b) the third coordinates (U 3 ) of the domes are changed from angular to linear coordinates. In this case the first and third coordinates (U 1 ,U 3 ) of this structure are linear, the second (U 2 ) is angular as it is shown in Fig. 6.

Type 3 -pyramid
For the pyramid type domes (Fig. 5c and Fig. 6c) the second and third coordinates (U 2 , U 3 ) of the domes are changed from angular to linear coordinates. In this case both three coordinates (U 1 , U 2 , U 3 ) of this structure are linear as shown in Fig. 6.

Mathematical calculations
The calculation of vault and polar grid structures is based on cylindrical coordinates. In formex algebra the vault and the polar grid tools are different functions, the first of them uses polar coordinates, and the second uses cylindrical coordinates. In this adaptation they also appear as different components, although their mathematical basis is exactly the same, only the transformation of the directions are different. In formex algebra the user have to define two variables while creating polar grids, and three variables while creating vaults. In the first case the first variable is the linear scaling factor in the first (radial) direction of the polar coordinate system, the second variable is the angular scaling in the second (circumferential) direction. By the vault tool the variables are b1 (factor for scaling in the first direction (linear scale factor)), b2 (factor for scaling in the second direction (angular scale factor), and b3 (factor for scaling in the third direction (linear scale factor)) [1]. Every other attribute of the vaults and polar grids are given by the attributes of the initial grid, for example the thickness of the double layer grids. The advantage of this solution is that it uses just a few variables, but it requires a lot calculation from the user.
To make a versatile and user-friendly tool in the calculation method some modifications can be applied and the input parameters are selected differently.
The coordinates of the cylindrical coordinate system are calculated from the original coordinates of the initial grid (see Fig. 7). The radius of the vault, and the angular and linear scaling factors, are calculated differently by the vault structures (7), and by the polar grids (8), but both of them is based on a cylindrical coordinate system. The polar grid structure is created with cylindrical coordinates too, because in that way the user has easier control over the thickness of the structure,

• 5 ,
• , 6 • , where U 1 , U 2 , U 3 are the coordinates of the cylindrical coordinate system; x, y, z are the Cartesian coordinates of the initial grid; R is the radius of the structure; a and c are linear scaling factors in the first and third direction; and β is the factor of angular scaling in the second direction. Instead of using a scaling factor to define coordinates (U 1 , U 2 , U 3 ), the actual radius, height, and full angular size of the structure are the variables, so the user does not have to calculate the scaling factors. Because of this calculation method the thickness of the double layer grid is also a required variable.
In formex algebra it is possible to produce a gap in the center of the polar grid structures, which is given by the position of the initial grid according to the origin. In this adaptation a more user-friendly solution is used, there is a variable to define the size of the gap. In the case of polar grids the size of the gap is a linear value unlike the gap of the dome structures, where it is an angular one. If a gap is used in a polar grid structure the calculation of the U 1 variable is: where U 1P is the first cylindrical coordinate of a point in the grid; g is the size of the gap; and y P is the y coordinate of a point in the initial grid.

Modified vault structures
In order to create a diverse design tool some modifications of the cylindrical coordinate system can also be considered. By using these modifications, it is possible to create some additional and new structures.
This modification is based on the transformation of the angular coordinate (U 2 ) to linear coordinate. The corners of the initial cylindrical structure stay unchanged during the modification, and the second direction is modified from angular to linear direction by connecting the matching corners with a straight line instead of a circular curve.
The value of the linear second (U 2 ) coordinate of the modified structure is based on the ratio of the initial angular coordinates of the direction. The linear coordinate divides the linear edge of the initial grid in the same ratio as the initial angular coordinate of the vertex divided the interval of the angular coordinates of the initial grid, as it can be seen in Fig. 8.

Fig. 8. Modified vault structures
This modification method has a consequence that that the resulting structures can be combined and joined in an easier way. If the value of the radius, thickness and gap size are synchronized, the structures can be joined precisely.
At the same time this modification has a result that the thickness of the modified structures differs from the variable 'thickness'.

Combined structures
With these tools it is very easy to create combined structures. Some examples are shown in Fig. 9.

Mathematical calculations
Based on the vault tool two types of rotational grid tools are also created. These components transform a grid given in Cartesian coordinate system to cover a surface of revolution. The generating curve [17] of the surface has to be a planar curve. The user can draw it in the x-y plane, and the axis y represents the axis of the surface of revolution.
where e is the value of the ratio along the generating curve; y is the original y coordinate of the point; and y min and y max are the smallest and biggest y coordinates in the initial grid. This ratio is a number between 0 and 1, and if it is 0, the point is on the start of the curve, if it is 1, then it is at the end of the curve. The ratio changes between the two extreme values and it divides the curve in that ratio, based on the length of the curve. The distance of this point from the axis y is measured (x cp ).
The gap in this shape is not a variable; it is calculated based on the distance of the generating curve from axis y as it is plotted in Fig. 10, where x c1 and x c2 are the smallest and the biggest x coordinates of the generating curve; r is the biggest radius of the final structure given by a variable; and g is the gap of the final structure.

Pollack Periodica 15, 2020, 2
The largest radius and the height of the structure are input parameters, and the U 1 coordinates of the points are calculated as: where U 1P is the first cylindrical coordinate of a point; and x cp is the x coordinate of the point projected to the generating curve. The U 2 coordinates are calculated in the same way as introduced by the vault tool introduced in (6). The two components differ in the calculation of the third coordinate (U 3 ) and the thickness of the structure.
Both of these tools also contain a modified version, where the top view of the structure is polygonal.

First tool
In the first rotational grid tool the thickness is horizontal and the horizontal distance between the sections is equal, if the distance of these sections was equal in the initial grid.
The ratio of the third coordinate (U 3 ) of a point in the z direction is the same as it was to the y direction of the initial grid. It is calculated as: Following this logic the thickness of the structure is the thickness in the first direction (U 1 ). This tool works like a cylinder where the radius varies based on the generating curve.
This tool can be useful for many architectural purposes, because in this way the grid can follow the division of the storey's as it is shown in Fig. 11.

Second tool
The second rotational grid tool differs more from the vault tool as the previous one. The final grid reflects much more the generating curve like it did in the previous tool. The U 3 value is calculated based on the y coordinate of the point projected to the generating curve as: where y cp is the y coordinate of the point projected to the generating curve; and y c is the highest value of y coordinate of the generating curve. This calculation method has a consequence that the length of the edges, which have the same length in the initial grid, will be close to each other. It is not exactly the same, because the x/y ratio of the generating curve and the height/radius ratio of the final grid can be different. At the same time if these ratios are the same, the length of these segments will be the same. It is easy to reach this state if the user draws the generating curve in the same size (or same ratio) as the required size of the final grid.
The direction of the thickness in this tool is always perpendicular to the generating curve in the given point. It means that it is not calculated based on cylindrical coordinates. It is created with the moving of the point into this perpendicular direction.
This solution is most useful if the equal vertical distance is not required but the uniform thickness is.

Rotational grid 1 vs. grid 2
The difference between the two rotational grid tool is clearly visible, if the end of the generating curve 'bends back'. The first tool does not follow this bend, because the vertical position of the points always rises as the ratio of the position of a point projected to the generating curve changes. The second tool on the other hand can follow this bend as it is shown in Fig. 12.

Triangular grids
Based on the concept of Diamatic domes a triangular version of every component can also be created. Instead of changing of the calculation of the coordinate system transformations themselves an additional coordinate system transformation was added which transforms the skew coordinates of a triangular grid to Cartesian coordinates. After this transformation the same calculation method can be used to create dome, vault, polar grid or rotational grid structures. To create a Cartesian grid from a skew grid the triangular grid had to be a part of an isosceles triangle. The base of the triangle is chosen to be parallel with axis x, as it can be seen in Fig. 13. dome, vault and polar grid tools are visible. This version of the rotational grid tools was also created as it can be seen in Fig. 12. The plug-in can be found at [18].

Conclusions
The mathematical reformulation, adaptation and development of the introduced coordinate system transformation tools based on formex algebra resulted in an easy-touse grid design tool in Grasshopper for architects, which are called Kitsune. Because of the visual algorithm editor of Grasshopper, architects do not have to learn a programming language to be able to create special forms and fluid geometries.
It is possible to create a wide range of grid structures easily with these tools. Designers do not have to create the structures on a spherical or cylindrical surface, they can easily draw it with Cartesian coordinates and transform to the wanted form with Kitsune. It is especially useful if the initial grid is not a regular grid, maybe contains a special pattern. In Grasshopper there is a possibility to transform the created grids on various ways after using Kitsune too, which results in a very powerful design tool.