Origami manipulation with control curve

Hi everybody,

I am trying to set up a script where symetrical origami geometry can be manipulated into irregular shapes using a control curve. The control curve would allow for variable folding of the hinges by using the distance between each hinge and the closest point to the control curve as a function to control the angle of these hinges. However if anybody has a better idea to create a similar control over the shape I would like to know.

The pattern used is Yoshimura, which has some freedom in movement and deployment to create irregular shapes. However how to implement this into grasshopper, does anybody know? The original geometry has to remain rigid foldable (all faces must keep their dimensions). Attached is a set up file of the base geometry (got it somewhere from this forum).

Cheers, SjoerdOrigami Manipulation With Control Curve.gh (23.4 KB)
Yoshimura%20formfinding%20with%20control%20curve

Hi Sjoerd,

I’m pretty sure it is not geometrically possible to rigidly fold this regular pattern to meet an irregular boundary.

These things are possible with paper due to slight bending and stretching, but if you strictly restrict it to rigid folding motions this pattern has only one degree of freedom.

So you have a couple of options I can see -

Allow some small deformations of the faces (measuring these to see they are within what is possible for your material). This can be done simply by reducing the strength of the Length constraints in the simulation, and pulling some points towards a curve.

Design an irregular folding pattern which can fold an initially flat sheet rigidly to your desired boundaries.
This is a little more tricky, but here’s how I’d go about it:
Make roughly the irregular folded geometry you want, probably by starting from a regular one you know is developable, and distorting it. This stage will not be developable. You then make a copy and flatten it into the plane. Finally you equalize edge lengths between the flattened one and the 3d one, while keeping the flattened one flat, and the 3d one as close as possible to its current geometry. This forces it to become developable.

Thank you Daniel,

Then I will allow for the faces to slightly deform. I’m sorry to ask but how could I pull the lower points of the mesh towards a control curve so that I could manipulate the geometry by changing its boundary? Ideally I would like to only change the location of a small number of control points of the curve in order to influence the geometry. Any idea how to do this?