In the image above, the regions are shaded blue to display the amount of shrinkage between the 3D shape and the flat version.īoth the flattened and 3D representations of the shape are put into an openFrameworks program, where we compute the amount of shrinkage each triangle in the model experiences. This is done by shrinking some areas and expanding others, to effectively unstretch and unroll the model. obj file (top left), and uses the Boundary-First Flattening algorithm (Rohan Sawhney and Keenan Crane) to get a flattened, two-dimensional version of the shape (middle image).
The system that we created takes in a 3D model that’s open on one side and generates a pattern to print on fabric. Here, however, the surface is contracting rather than growing, and the forming of the shape happens in the real world, rather than a simulation. This process is reminiscent of the Floraform project, which uses differential growth in different regions of a surface to generate beautiful 3D geometry. It’s essentially a tug of war between the elasticity of the fabric and the rigidity of the printed plastic. The fact that some regions can shrink more than others causes the fabric to curve in three dimensions to find the most stable shape. Once the fabric is released from tension, any areas covered by 3D printed material are unable to contract, but the rest of the fabric wants to shrink. So how did we make what you saw at the top? We start by stretching a piece of fabric over the build plate of our 3D printer, and then print a 0.3 millimeter-thick pattern on top of the fabric.