Images of the Cardioid Shelter
The Shelter is based on the "Cardioid" curve. The following figure shows the parametric representation of Cardioid curve and its 2D plot.
To make the "Cardioid" shelter, the first thing is to compute the x, y, z values for defining the controlling curves (Nurbs Curves). Here, to make the 3D shelter, the 2D Cardioid curve needs to be rotated around x-axis. The z values are computed based on the degree of rotation. Then, arrange points into groups-connecting points on curves end-to-end and also connecting points on curves pairwise. Thus, we get a frame. Next is to place the structure's elements. Here, I use 'Tube - 3pt - Tapered' and 'Tube - 2pt - One Radius' as my adaptive components. And Then use curves to get the surface (Surface.ByLoft). Get UV grids on the surface (Surface.PointAtParameter) to place the adaptive panels. Here, I use 'Rect_Seamless Panel - 4pt'.
The shelter is very flexible. It can be parametrically resize or rescale by move many "sliders" in the dynamo, such as the basic 'Cardioid' curve, one can change the shape by changing the common radius.