Penrose folding origami pattern

Hello, I am hoping to simulate an origami folding of the penrose pattern (if this is possible…).

I have been using Daniel Piker’s kangaroo origami file, attempting to input the penrose pattern as the mesh. However, I am confused as to which lines should become the mountain fold lines and which the valley fold lines.

I have the penrose pattern:

And I added some additional lines to create the other fold lines (red):

I am not sure which lines should be inputted for mountain and which for valley…

I was hoping to simulate something similar to this wooden carpet by Eliza Stroyzk

If anyone could help I would greatly appreciate it!
Origami Penrose.3dm (74.8 KB)
Origami Penrose.gh (19.3 KB)

I don’t know much about origami, although I know a lot about Penrose, but my initial reaction was to question whether a folding is possible if you have an odd number of creases meeting at an intersection, as you do. I see Kawasaki’s theorem mentioned ([Kawasaki's theorem - Wikipedia]), which appears to support this.

I do know that a weave pattern is possible, using the lines across the middle of the rhombs, and if you could arrange to fold one rhomb to give this weave, perhaps you could get something. Hm!

When you have exactly 3 creases meeting at a vertex, there’s no way for them to fold unless the panels themselves bend. In the image you show, notice that the 3 way junctions are all flat, so as a whole it’s effectively acting like a panelling of equilateral triangles, but with decorative lines to the centre of each triangle.
Not that this is a problem, but something to consider when designing patterns - the parts connected around 3 way vertices will act like one rigid panel.

If you’re looking to create the sort of crumpled effect of these wood textiles, you don’t need to decide which edges are mountains/valleys - you can just fix all the edge lengths and see how it deforms as you pull it with grab, or drape it over something.
If you want to include the quads as flat panels, you’d need to include something to keep them planar (either Planarize or just Length goals for both their diagonals).
For a more flexible result though, you could triangulate everything, then all you need is EdgeLengths.

penrose_crumple.gh (10.1 KB)

I don’t know how this would behave on a larger patch. There might still be regions that would lock up and move together, but the easiest way to find out is probably just to try it and see what happens. There might be some interesting effects from the lack of continuous straight lines or translational symmetry.

Hi Daniel, thank you so much for your response and help.

I had a quick question regarding how you got the clean mesh in your script of the penrose with the extra fold lines I added? Within my mesh it appears with lots of triangulated lines. Apologies I am quite a novice when it comes to grasshopper. I would like to continue to test larger versions of the pattern, using the grab tool to see if I can for some sort of greenhouse structure that arises from the penrose.

Many thanks!

Hi @user2200
You can use the `MeshFromLines` command in Rhino.
To include the diagonals, add them as lines first before making the mesh (or make the mesh with quads, triangulate, then use `SwapMeshEdge` if you want the long diagonals)