Form-finding 2
Vaults, minimal surfaces and mesh relaxation
Last updated
Vaults, minimal surfaces and mesh relaxation
Last updated
Having developed perhaps the most complex graph in the term, we can proceed with some applications. The first example emulates the vaults and arches [] designed by Antoni Gaudi []. The idea is derived from the observation that a hanging network of ropes and weights, when inverted, it represents an idealized geometry for structures that primarily work in compression [], such as masonry vaults and arches [].
The setup cluster defines a rectangular sheet with a number of tiles per column and row. The important aspect here is that beyond particle system initialization data, the cluster also outputs face and edge connectivity data we need for force analysis and visualization purposes subsequently.
We construct the grid of tiles using the “mesh plane” component. We may or not use the “triangulate” mesh component to convert the default quadrilateral mesh faces to triangles. The mesh is passed to the “topology” cluster which computes the nodes i.e. particle position data, faces i.e. visualization data and edges i.e. spring linkage data.
Velocities are constructed by multiplying all points by zero and reinterpreting the result as vectors. The complexity for computing the masses is because we wish to fix the four corners of the net without manually inputting each point index value. The sub-graph computes those using indexing logic but we will develop a more intuitive approach in the later section.
The force analysis cluster component needs to be updated such that we can use the edge table to apply the spring forces selectively. The springs cluster needs also to input the edge table as seen below. Notice also that gravity has been inverted such that the vault it popped upwards.
The spring force computation is seen below. We use “list item” to select all neighbours of each particle. We then produce all the force vectors via a Cartesian product and compute the spring force partials. Finally, we compute the sum of forces for each particle using the summation component.
This definition is not only much simpler compared to the hanging chain model but also much faster because we did the heavy lifting of generating the edge list upfront once instead of inferring particle relationships for every time step of the simulation.
Updating the display cluster is also straightforward. We input apart from particle states and sum of forces, the mesh faces list. Exactly because we did not alter the point order in the list of vertices, we can just reconstruct the mesh by supplying the updated particle positions and face data.
The difference between a rectangular versus a triangulated mesh sheet seen below is quite dramatic. This is purely the result of edge connectivity. Similar to a single rope curve, the restrained particles need to support the weight of all internal nodes and as such their edges are excessively elongated. Internal nodes, having sufficient freedom to move, eventually balance out the effects of gravity as well as inter-particle spring forces resulting in a rather smooth triangulation.
Practice
Experiment with other types of mesh creation primitives beyond the “mesh plane” component. For instance use the “mesh sphere” to create a tear drop vault.
Use the sum of forces information to produce color-coding data for each mesh vertex such as the force magnitude or even better the normal force per unit area.