What is a catenary curve?
From Wolfram MathWorld: The curve a hanging flexible wire or chain assumes when supported at its ends and acted upon by a uniform gravitational force.
* It is not a parabolic curve, bezier curve, spline, or arc.
Why do I care?
Long ago, in an architecture school far far away…I did some research on the experimental long span structures of Frei Otto and Antoni Gaudí. I eventually did some catenary studies of my own.
Catenary Study for Casa Mila by Antoni Gaudi
Casa Mila structure based on catenaries
My catenary project involved a laser cut plexiglass jig (basically a Cartesian coordinate system for fixing end points), a frame to suspend the model and jig, and experiments with varying lengths and layouts of beaded chain lattices. When the mesh/lattice was suspended form the frame and plexi grid gravity did all of the physics calculations and the mesh settled into the ideal form.
All of the lengths of chain in the mesh were in tension, but the cool thing is that the same form can be inverted and the forces will also work well in compression.
inverted saggy mesh = bad ass dome
So once the mesh was hanging in the frame, i would cast the chains in boat hull resin, let it harden, and then flip it to create dome structures.
My initial catenary research. As you can see, the diagrams are a huge downgrade from the richness of the model.
Check out that project from start to “finish” - huge HD pdf so be patient as it loads.
These physical studies were extremely informative, but it was always an issue getting them from the physical world, into the computer.
There are simple computer programs that if you enter the distance between each end, and the total length, it will draw the catenary curve based on equations like:
The output is always something like a raster graphic, and isn’t easy to convert/trace into CAD programs.
Catenaries for different values of a
Three different catenaries through the same two points, depending horizontal force being and λ mass per unit length.
So where am I going with all of this?
As you can see from Gaudí’s models, each length of weighted rope or chain creates a catenary curve, but its more complicated than the formulas shown above. Each chain is effected by gravity, but its supported ends are effected by chains/curves it is connected to.
Create a 3D catenary lattice work visualizer, based off of the way I built my catenary studies with the plexi jig and chain.
- number of connection points per endpoint (3 point up to 8 point connections)
- length of chains segments in horizontal, vertical, and 2 diagonal directions
- initial 2D lattice preview before applying gravity
- 3D visualization of the 2D lattice/mesh use just created.
- ability to move the fixed end locations (ie the endpoints connected to the jig can be moved around the Cartesian grid)
- ability to click and delete individual chains in hanging lattice to view the effect
- DXF export as well as PDF and JPEG.
Because so many chains are interdependent, the more manageable statics equations wont work.
I think I can recreate the each chain length with a ton of spheres and springs. Since spheres are pretty memory intensive to render, I may need another option to give the visualization some substance.
I will start with a simple lattice with 4 way connection points and 4 fixed corners and take it from there?
The hard part will be storing all lengths, locations, and connections in a multidimensional array, so that the use can manipulate the end points and delete individual chains with mouseClicked and mouseDragged.
Array Lists? Hash Maps? P3D? Time to learn them all. Wish me luck?
Create an interface for the user to enter number of chains/connectors in x and y direction, as well as optional diagonal chain lengths and locations.
Create a plan view diagram of the mesh to preview (just lines and ellipses) so the user has an idea of the schematic before applying gravity to the 3d model.