Pythagorean stretch


Post is a part of a larger series (Advanced concepts):

Pythagorean stretch Introduction

Origami models based on a box pleating method are on average smaller compared to the similar models based on a circle packing method. In extreme cases, the difference could be almost 40%. Therefore, we can say that models based on a box pleating technique are less optimal.

Nevertheless, problems can be, to some extent, solved by using a Pythagorean stretch technique. So, in this blog post, we will deal with this useful and very innovative technique.

What is a Pythagorean stretch?

A Pythagorean stretch is a technique that allows us to pack polygons on a square piece of paper in the much denser configuration. That will enable better utilisation of available space (paper), making the final model bigger and therefore more optimal. Of course, the downside of this technique is the fact that new models are way more complex if compared to the ones that do not implement a Pythagorean stretch technique. But do not worry, once you gain a full understanding of this technique nothing will seem complicated anymore.

Fish base

Let’s start with something simple. Let’s start with a fish base, one of the better-known origami bases. It is quite simple, so even an utmost beginner can fold one with ease. But, from the basic box pleating method standpoint, this base is almost impossible to design.

Fish base

Figure 1

In figure 1, you can see a basic version of a fish base as well as its crease pattern. Let me remind you that this base and its crease pattern are developed using a circle packing method.

On the crease pattern, you can see four circles that define flaps. All of them are in the paper’s corners.. Nothing too complicated, I would say.

But, if we try to define a crease pattern of a similar base using a box pleating method, we will soon be in trouble. Let me show you why. 

Let’s first draw three polygons and their corresponding circles in the paper’s corners (Look at figure 2).

Figure 2

That was easy. But a problem becomes apparent if we try to add another, forth large polygon and its corresponding circle. It is not hard to see that there is no available space. If we still decide to add that forth polygon, we will end up with a configuration in which the polygons overlap.  That is of course, not allowed.

So what can we do about it? Is there any useful solution?

Of course, there is. But, before we continue, it would be smart to check if this kind of configuration is legal in the first place. You see, even though a box pleating method deals exclusively with polygons, the legality of a design is defined only by circles. Namely, circles are not allowed to overlap under any circumstances. Polygons are not allowed to overlap either, but the polygons can be reconfigured in a way to avoid overlapping. The only necessary condition that must be satisfied during polygon reconfiguration is that circles must still fit inside each polygon.

Polygon overlapping
Figure 3

If we look at figure 3, we will see that the circles do not overlap. Therefore our design is potentially legal. Only what we have to do is to modify polygons to avoid their overlapping. That is where the Pythagorean stretch technique comes in.

Pythagorean stretch
Figure 4

Two bases comparison?

If you compare a traditional fish base and the similar one developed using a Box pleating method, you will realise that they are quite similar. Only worth mentioning is that the traditional fish base has wider flaps and that its circles are slightly bigger. The difference is not huge but still exists. 

If we narrow down the flaps on a traditional fish base using several successive open sinks, two bases would be almost identical (look at figure 4).

Box pleating vs. Circle packing
Figure 5

Nevertheless, from this example, it is obvious that using a Pythagorean stretch technique it is possible to achieve almost exact circles configuration as in case of a Circle packing method. In other words, a Pythagorean stretch technique enables a Box pleating method to achieve almost the same optimality level as a Circle packing method.

The Pythagorean stretch or Kamiya’s pattern, as it is also known, was developed by Satoshi Kamiya. Even though Kymiya is better known in the origami community as an author of very complex and ultra-realistic origami models, his greatest achievement, by far, is a development of this unique and innovative technique. For this, he will be remembered, for sure

Flexibility  of a Pythagorean stretch technique

An important feature of the Pythagorean stretch technique is the ability to use different implementations with virtually the same result. Look at figure 6. There are two different implementations of the Pythagorean stretch.

Two types of Pythagorean stretch
Figure 6

And this is the beauty of this technique. The number of possible implementations is, in most cases, endless. Of course, if we insist that all nodes that make a Pythagorean stretch element are in line with a grid, the number of possible implementations will be limited.

Pythagorean stretch definition

A Pythagorean stretch is an element that appears between two adjacent polygons that overlap. In its essence, a Pythagorean stretch element is a group of ridge creases shared between these two polygons. Therefore, and this is something I would like you to remember, a Pythagorean stretch element is not a polygon itself. It is just a group of ridge creases that must be “stretched”, or modified to allow two initially overlapping polygons to adapt to each other. That is all. All of these ridge creases that form a Pythagorean stretch element are still bisectors of polygons’ corners. The only difference is that polygons’ shapes have been changed so they can adapt to each other. Consequently, due to reshaping, ridge creases as their corners’ bisectors must change too, and this is what we call a Pythagorean stretch (look at figure 7).

Pythagorean stretch
Figure 7

The shape of a Pythagorean stretch element is defined by the size and the position of overlapping polygons. From this, one might assume that a Pythagorean stretch element is fully defined by the overlapping polygons, but this is not completely true. 

A Pythagorean stretch element is, of course, defined by these polygons, there is no doubt about it, but still, there is more than one way to do a stretch itself. After all, I have told you that a Pythagorean stretch technique is very flexible. Only, a non-flexible feature that appears as part of a Pythagorean stretch is a 135-degree angle. Where this angle appears and why is a topic of the next chapter.

Angles

Now, let’s talk about odd angles that are part of a Pythagorean stretch technique. In figure 7A, you can see an example that includes four flaps represented here with two small and two large circles. It is immediately obvious that polygons, in which two larger circles are inscribed, overlap. Fortunately, circles itself do not overlap. Therefore, this is potentially a legal arrangement if we manage to rearrange polygons in a way to avoid their overlapping. To do so, we have to implement a Pythagorean stretch technique.

One possible solution that involves a Pythagorean stretch technique is shown in figure 7B. The same example is shown in figure 8, but this time ridge and axial creases that are part of a Pythagorean stretch are highlighted.

Pythagorean stretch - Angles
Figure 8

If you look at figure 8, it is easy to see that two ridge creases intersect at a 135-degree angle. Does this angle sound familiar? It should. As you most likely remember from high school, there is a triangle known as the right triangle. But there is more to it. A right triangle has three angles’ bisectors that meet in a single point, a point that represents a centre of the largest circle that can be inscribed. 

What is even more interesting, the angle between two bisectors next to the hypotenuse is always 135 degrees. That is so for all right-angle triangles, without exception. Look at figure 9. Again, an angle between two corners’ bisectors is 135-degree even though the right triangle is quite different (5-12-13).

Pythagorean stretch - Angles
Figure 9

Now, I can almost hear you wondering why this 135-degree angle is so important that I have kept mentioning it over and over. Well, let me explain.

If we look at figure 10, it is obvious that there is always a point on the edge of a Pythagorean stretch element that is an intersection of four different creases. At that point, one angle is always a 45-degree angle. That is not unexpected since outside the Pythagorean stretch element all ridge creases run at a 45-degree angle. I hope you understand that.

Pythagorean stretch - Angles
Figure 10

Ok, we have established that one angle is a 45-degree angle. What about the rest?

Well, nothing special. But, before defining all other angles, maybe it would be smart to remind ourselves about the famous Kawasaki-Justin theorem.

Kawasaki-Justin theorem states that a crease pattern is flat-foldable only if the alternating sum of incident angles at any given node is always zero. 

In plain English, this means if there are only four angles in a node, the sum of opposing angles must be exactly 180-degree. In other words, the opposite angle to a 45-degree angle must be none other but 135-degree angle. Other two angles are not important. They can assume any value as long as its sum is exactly 180-degree. That means that the position of two ridge creases spaced apart by a 135-degree angle is arbitrary. They can rotate around point A in any direction as long as the angle between them stays 135-degrees.

Before I finish this chapter, I would like to add something important. From figures 8 and 9, it is obvious that these two ridge creases that are spaced apart by a 135-degree angle are, in fact, two bisectors of right triangle corners. Now, this is not a must, but it would be extremely convenient if this right triangle would have sides that are integers (as one in figure 8 and 9). You see, in that case, all triangle’s corners would coincide with a grid which is a real asset while implementing a box pleating method.

How to construct a right triangle and a 135-degree angle

Triangles on a grid

Before we move on, it would be smart to arm ourselves with simple tools needed for constructing right-angle triangles and 135-degree angles. When I say simple tools, I mean procedures that do not involve any measurements or more advanced geometry.  

Let’s start with right-angle triangle construction. You see, it is in our best interest to use right-angle triangles that coincide with a grid, so it is a legitimate question: How many so-called Pythagorean triples (PT) exist that include only integers? For those of you who do not know what the Pythagorean triples are, let me remind you that the Pythagorean triple is a combination of three numbers that represent the length of all three right-angle triangle sides.

So, if we think about it, we will realize that there are a lot of such combinations. But if we decide to limit the analysis up to the 25, meaning the largest, allowable hypotenuse length is 25 the actual number of possible combinations would fall to only four (look at figure 11).  

As you can see, there are only four such Pythagorean triples.  The triples that are formed out of integers smaller or equal to 25. Therefore, since these four right-angle triangles coincide with a grid, it is easy to construct them. I believe this is self-explanatory.

3,4,55,12,138,15,177,24,25
Table 1
Pythagorean stretch - 135-degree angle
Figure 11

Pythagorean theorem and a 135-degree angle construction

The simplest design method which will allow us to construct a 135-degree angle is known as “1:2 – 1:3 method” and its very name contains the solution. So, according to this method,  to define a 135-degree angle we have to move one unit up and two units to the left along the grid and then one unit to the left and three units up along the grid (look at figure 11). If we connect these three points we will get a 135-degree angle. 

Of course, this is not the only possible method/combination. There are many more. In figure 11, a few other equally useful combinations are shown. So, it is obvious that the construction of a 135-degree angle is simple. Only what you need is a grid and one of a combination shown in table 2.

1:21:31:65:71:94:5
1:43:51:73:42:75:9
1:52:31:87:92:53:7
Table 2: a 135-degree angle defining combinations

Universal approach

Now that we know how to construct a right-angle triangle as well as a 135-degree angle, we are ready, for the first time, to implement a Pythagorean stretch technique. The procedure itself is simple, straightforward and universally applicable.

But, before we move on, let’s establish some rules:

  • A Pythagorean stretch is a technique that will allow us to solve the problem of overlapping polygons as long as their circles do not overlap. Remember that. If circles overlap then this is a completely illegal design and no approach can set it right (not even a Pythagorean stretch).
  • A Pythagorean stretch element can be constructed only in the area between circles’ centers. It cannot overstep the circles’ centers.
Universal Pythagorean stretch
Figure 12

As you can see, in figure 12, two polygons (squares) overlap, so we have to implement a Pythagorean stretch technique.

To do so, first what we have to do is to find two points in which ridge creases will intersect forming a 135-degree angle. These points are always positioned at the intersection points of two overlapping polygons if the overlapping area is a square. If, it is not, as, in our example, only one point is positioned at the intersection (point A). Second point one must be repositioned. Process of repositioning is simple and straightforward. What we have to do is to perform a 90-degree rotation of an overlapping rectangle around point A. Tip of a repositioned rectangle will mark the position of a second point, a point B (figure 13).

Universal Pythagorean stretch
Figure 13

Now that we established the positions of these two points, we can proceed further. Here we have to connect one of these points (in most cases Point A) with diagonals or ridge creases of overlapping polygons. Of course, we have to ensure that between these two connecting lines, there is a 135-degree angle. In other words, we have to construct a 135-degree angle in point A. Luckily we know how to do it. We have to use one of the combinations from table 2 that best suits our needs. In this particular case, I would suggest using 1:2 – 1:3 combination (look at figure 14).

Universal Pythagorean stretch
Figure 14

This way we have constructed one side of a Pythagorean stretch element. To construct another side, we have to connect point B with points C and D as it was shown in figure 15.

Universal Pythagorean stretch
Figure 15

Next step is to connect points C and D, thus forming a ridge crease that divides the Pythagorean stretch element in half. 

If you look at the Pythagorean stretch element a little bit closer, you will most definitely notice that at point A, it is somehow disconnected from the rest of the model. It seems that something is missing. Since point A is relocated, it has to be reconnected to its previous position with a ridge crease. This assumption is more than reasonable because, a ridge crease cannot be discontinued, and in point A, it most certainly is. Just mentioned rule would apply to point B too if it was relocated. Finally, we have to add all axial creases. That shouldn’t be a problem, since we know that all axial creases must reflect across the ridge creases.

Universal Pythagorean stretch
Figure 16

If we look at figure 16, you will see how one typical axial crease reflects across all three ridge creases. The axial crease has quite an odd route but still reconnects with an axial crease on the other end. The same applies to the other axial creases (look at figure 17 and 18).

Universal Pythagorean stretch
Figure 17
Universal Pythagorean stretch
Figure 18

As you can see, a procedure is simple, straightforward, and universally applicable. But, to be sure that you fully understand the procedure, I will show you another example. This time the overlapping area will be a bit smaller (1×3).

Universal Pythagorean stretch
Figure 19

Again, first, we have to define the positions that represent the intersection of two ridge creases at a 135-degree angle. Since the overlapping area is not a square, we have to rotate a rectangle around one of the points (A or B). Let’s rotate a rectangle around point A and let’s rotate it down just to show that point selection and direction of rotation is completely arbitrary. They have no impact whatsoever on the validity of the final result.

Universal Pythagorean stretch
Figure 20

In the next step, I hope you still remember, we have to construct 135-degree angles at points A or B.  Again, we are going to do that using one of the combinations from table 2.

Universal Pythagorean stretch
Figure 21

Now, please take a good look at the result of our action. You see, unlike in the previous example, only one ray of 135-degree angle intersects with a polygon ridge crease at a point that coincides with a grid (look at figure 21). As you can see, point C does not coincide with a grid at all.

What’s more, you can even rotate rays of a 135-degree angle around point  B as much as you want, completely avoiding the grid. This method is that flexible. Of course, such manoeuvres even though fully legit is not desirable since the folding of such a model would be much harder.

But be careful, this 135-degree angle rotation has its limits. More specifically, you are not allowed to position a 135-degree angle in such a way that one of the intersection points between its ray and polygon ridge crease (or a diagonal) ends up behind the polygon’s centre. I hope this is clear.
But, let’s go back to our example. In figure 22, you can see a fully developed Pythagorean stretch element. Only what is missing are axial creases. Again, adding axial lines should not present a real problem (look at figure 23 and 24). I hope you agree with me.

Universal Pythagorean stretch
Figure 23
Figure 24

Finally, upon defining the orientation of all newly defined creases, our crease pattern that includes a Pythagorean stretch element is complete (look at figure 25).

Universal Pythagorean stretch
Figure 25

Pythagorean stretch in the form of a parallelogram

As you can see in figure 25, a Pythagorean stretch itself has a rather complicated form, so it is quite hard to transfer all the necessary lines on a paper. With this in mind, a legitimate question arises: is there a simpler Pythagorean stretch design? The answer is of course: yes there is, but this one is not universally applicable.

To explain what I mean, let’s analyse two previous examples. The difference between these two examples is that in the first one (3×2), points C and D coincide with a grid, while in the second one (3×1) they do not. This fact makes all the difference. You see, if a classical/universal Pythagorean stretch element could be constructed in the way that all its points coincide with the grid (first example), then it is also possible to construct a Pythagorean stretch element in the form of a parallelogram.

Construction of a Pythagorean stretch in the form of a parallelogram

Construction procedure of a Pythagorean stretch element in the form of a parallelogram is almost identical to the construction procedure of a universal Pythagorean stretch element. Namely, the first three steps are the same. So, let’s start from the step shown in figure 26. I hope you know the procedure up to this point.

Pythagorean stretch - Parallelogram
Figure 26

At this point, our new procedure diverges. But, before we move on, I would like to point out, once again, that points C and D must coincide with the grid. That is very important. Otherwise, this procedure is not applicable. .

OK, now that we have established that, we can proceed. In this step, we have to construct a parallelogram as one in figure 27. That shouldn’t be hard since we have the grid to guide us. But please, be aware that during the parallelogram construction, a point B is also relocated. That means that we have to connect its new position with its previous one by adding a ridge crease.

Pythagorean stretch - Parallelogram
Figure 27

Now, only what is left is to add axial lines and to define the proper orientation of all newly formed creases. While doing that it is crucial to realise that the just constructed Pythagorean stretch element does not have a central ridge crease. That is why it is much easier to add the axial creases.

Pythagorean stretch - Parallelogram
Figure 28

A fully developed crease pattern is shown in figure 29. As you can see, it is more orderly structured. What is more, all axial creases’ reflection points coincide with the grid, which is a useful property.

Pythagorean stretch - Parallelogram
Figure 29

Precondition for Pythagorean stretch in the form of a parallelogram

I believe that you are aware of the fact that it is pointless to construct a universal Pythagorean stretch element only to establish if a Pythagorean stretch in the form of a parallelogram is feasible. There must be a simpler, more straightforward method to determine that fact. And of course, there is one. You see, to establish the feasibility of a Pythagorean stretch in the form of a parallelogram, it is enough to look at a so-called overlapping rectangular. It is enough to see if at least one of its side’s lengths is equal to the even number. In that case, this new form of a Pythagorean stretch is possible.

To make this understandable, let’s analyze once again our two previous examples.

Pythagorean stretch - Moving
Figure 30

In the first example, the overlapping square has sides 3 and 2. Therefore, one of its side’s lengths is equal to the even number. So, in this case, a Pythagorean stretch in the form of a parallelogram is possible. In the second example, the overlapping square is smaller, having sides 3 and 1. In this case, none of its sides’ lengths is equal to the even number. Therefore, in this case, a Pythagorean stretch in the form of a parallelogram isn’t possible.

I believe this rule is simple, understandable and easy to use. 

Moving a Pythagorean stretch element

When we manage to construct a Pythagorean stretch element, it will always be somewhere in between centres of two adjacent circles.  But there is one very intriguing feature of a Pythagorean stretch element. Namely, a Pythagorean stretch element could be moved. Of course, it can do that as long as it stays in-between two circle’s centres. If you look at figure 31, you will see four possible implementations of a Pythagorean stretch technique. All four examples are made using two 12×12 polygons with an overlapping area of only 2×3. You can see that, as we move a Pythagorean stretch element, a border between two adjacent polygons changes too. But be careful. Whatever we do, newly formed polygons must be big enough to accommodate a circle. If they are not big enough, then we made a mistake somewhere.

But, let’s analyse these four examples in more detail. In the first one, a Pythagorean stretch element is moved fully toward the centre of a polygon A. That means that most of the overlapping area is appended to the polygon B. Please notice that in this case, a polygon edge touches a circle, meaning we cannot move a Pythagorean stretch element further inside the polygon A. After all, this is logical since one point of a Pythagorean stretch element already touches the circle’s centre.

In the second example, a Pythagorean stretch element is moved one unit toward polygon B. This way an area partition between polygons becomes fairer. As a consequence, a polygon edge doesn’t touch its circle any more. But even so, the largest part of an overlapping area still belongs to the polygon B.  

If we move a Pythagorean stretch element again one unit toward the polygon B the ratio will change. Now, most of the overlapping area will be added to the polygon A. 

In the last example, we moved a Pythagorean stretch element even further, this time, reaching its furthermost point. Namely, in this example, a Pythagorean stretch element touches a polygon B circle’s centre. So, it cannot move further anymore. This time a polygon edge touches a polygon B circle in the same way it used to touch a polygon A circle.

Figure 31

All of these four examples show that Pythagorean stretch element movement freedom depends on the distance between circles. If polygons’ overlapping is small, meaning the distance between circles is large, a Pythagorean stretch element will be able to move more. Of course, if the polygons’ overlapping is large, and circles are closer to one another, a Pythagorean stretch element will be able to move less. But, be aware of the fact that the possibility to move a Pythagorean stretch element is not necessarily a good thing. It only means that our design is not that optimal and that we have a lot of unused paper in between two circles.

Ideal Pythagorean stretch element

Overlapping polygons can be brought closer and closer, making their overlapping area bigger as long as we can insert a Pythagorean stretch element in-between. In other words, we can bring polygons closer and closer as long as their inscribed circles do not overlap. So, if circles are spaced apart at least a bit, then a Pythagorean stretch element can fit in-between their centers for sure.

Let me show you this in an example. Look at figure 32. Again we are using two 12×12 polygons but this time with a slightly larger overlapping area.

As you can see an overlapping area has one side length equal to the four. Meaning, it is possible to implement a Pythagorean stretch in the form of a parallelogram. That is why two versions of a Pythagorean stretch element are shown. The first one is the so-called universal Pythagorean stretch element, while the second one is a Pythagorean stretch element in the form of a parallelogram.

Ideal Pythagorean stretch
Figure 32

What is the same in both examples is the fact that both Pythagorean stretch elements touch circles’ centers, meaning they could not be moved in any direction. This kind of a Pythagorean stretch element is known as an “Ideal” Pythagorean stretch element since circles cannot be brought closer. 

Term “Ideal” is used here to emphasize the optimal paper utilization.

If you look at circles in figure 32, you will see that circles do not touch each other. There is a small gap in-between them. That is because circles cannot be placed arbitrarily. Their centers must coincide with the grid. And this is what makes this small yet visible gap unavoidable. If circles were to be placed without grid restriction, as in the case of a Circle packing method, they would, in an ideal case, touch each other. That is why we said that the Box Pleating method is less optimal compared to the Circle Packing method. It simply uses more paper. Using Ideal Pythagorean stretch technique is a way to come as close as possible to the Circle Packing method and its way of packing circles.

River and Pythagorean stretch

Now that we know how to deal with a problem of overlapping polygons let’s consider an even more complex case. Let’s see what to do if we have to squeeze a river in-between two overlapping polygons. 

At first, an obvious reaction would be to think that something like that is not possible. But, it is. You see, by now you should realise that polygons are not important. What is important are the circles. In other words, if there is a room between circles to squeeze a river in, then something like this is by all means possible. We just have to fund a convenient way to squeeze a river through a tight space in-between two adjacent circles. Again, a solution to the problem is nothing else but Pythagorean stretch.

River configurations

Regarding the overlapping polygons, there are four possible river configurations. All four are shown in figure 33. Still, and this is very important to remember, river configuration has no impact on a Pythagorean stretch element, whatsoever. 

Let me show you why.

River and Pythagorean stretch
Figure 33

If we compare all four Pythagorean stretch elements in all four examples, it is easy to see that they are precisely the same. Therefore, regardless of a river configuration, Pythagorean stretch elements should be the same. Remember that.

Now, if it is so, it would be opportune to deal with every problem that involves overlapping polygons and a river in-between, as if it is a configuration A or C. 

Reason for this is that in these two configurations, a river surrounds only one polygon and as such could be added to it. This way, the whole process becomes much easier since the process of constructing a Pythagorean stretch element becomes the same as one shown in all previous cases when we didn’t have a river.

Construction of a Pythagorean stretch element

Let’s start from the beginning. We will begin with configurations A and C. I have already told you, and believe it is worth mentioning again that these configurations are favourable since a river surrounds one polygon only and therefore could be appended to it. This way, a newly formed polygon will be larger, but that is all. Everything else is the same as if there is no river at all. 

But, let me show you the whole idea in a simple example. 

If you look at figure 34, you will see that we have two overlapping polygons. Their sizes are 14×14 and 8×8. Their overlapping area is quite small, only 1×2. Also, there is 2-units wide river that is supposed to be squeezed in-between overlapping polygons or to be completely correct, in-between their circles.

River and Pythagorean stretch
Figure 34

So, first what we have to do is to broaden an 8×8 polygon by adding the river, effectively creating a larger 10×10 polygon. With this, the whole discussion could end. From here on,  you should know how to proceed, how to apply a Pythagorean stretch technique on your own. Nevertheless, let me show you the whole process.

Again we have to start by defining an overlapping area (green rectangle in figure 35). The overlapping area is not a square, so to get another Pythagorean stretch element defining point (point B) we have to rotate a rectangular. I hope you still remember the procedure.

River and Pythagorean stretch
Figure 35

Now, since we know the positions of points A and B, we can define a parallelogram. We can do that since one side if an overlapping rectangular has a length equal to the even number.

River and Pythagorean stretch
Figure 36

Now that we have a Pythagorean stretch element, only what we have to do is to add axial lines and separate these two overlapping polygons and a river.

Adding axial lines is easy. I hope you can agree on that. 

Separating the river and the polygons from each other shouldn’t be that hard either but, I can agree that to the newbies, this might look strange and intimidating.

Separating the polygons and the river means defining their edges or their hinge creases. That is not hard because we know that all ridge creases are in fact bisectors of polygon’s corners. Since we have all ridge creases, we only have to add hinge creases in such a way that their positions make all ridge creases effectively polygons corners’ bisectors.

Look at figure 37. All polygon’s and river’s edges (hinge creases) are added. I hope you see that all hinge creases are added in such a way that whenever they interact with a ridge crease, they change direction, making a corner there. A corner is needed since a ridge crease is supposed to be a corner bisector.

River and Pythagorean stretch
Figure 37

As you can see, a river fits in just fine. 

Let’s for a moment analyse an example that belongs to the river configuration type B. This time we have polygons whose sizes are 14×14 and 10×10. Their overlapping area is again, quite small, only 1×3. There is also a 2-units wide river that is supposed to be squeezed in between polygons. As you can see in figure 38, a river does not surround a single polygon. That is potentially a problem, so before we move on, we have to reconfigure the whole example. A goal is to get a configuration in which the river surrounds a single polygon. In other words, we want to get a configuration A or C (look at figure 39)

River and Pythagorean stretch
Figure 38

This temporary reconfiguration is allowed since the final result: a Pythagorean stretch element is the same in all four configurations. This way, we will get a problem we know how to solve. Finally, when we manage to construct a Pythagorean stretch element, we will go back to our original river configuration.

River and Pythagorean stretch
Figure 39

In figure 39, you can see a newly formed yellow river that now surrounds only one polygon. From here onward everything is the same as in our previous example. Again, we add a river to a polygon, thus forming a larger polygon. Then, as always, we have to define a rectangle that represents an overlapping area (green rectangle in figure 40). We have to rotate it to establish the second Pythagorean stretch element defining point (point A). Be aware that the overlapping rectangle does not have sides whose lengths are equal to the even number. Therefore, we cannot construct a parallelogram. Instead, we have to resort to the classical/universal Pythagorean stretch element.

River and Pythagorean stretch
Figure 40

What is interesting here, is the fact that,  up to now, always used 1:2 – 1:3 combination for defining 135-degree angle is not applicable. Look at figure 41. A 135-degree angle ray would intersect with the upper polygon diagonal at a point that is way behind the circle center. And that is not allowed. Even if we turn a 1:2 – 1:3 combination around, the result will be the same. Only this time, a 135-degree angle ray would intersect with the lower polygon diagonal at a point that is way behind the circle center.

River and Pythagorean stretch
Figure 41

Therefore, we have to use some other combination for 135-degree angle construction (look in table 2). For example, combination 2:5 – 3:7. This combination is almost perfect since one 135-degree angle ray will intersect with an upper polygon diagonal exactly at its circle centre.

River and Pythagorean stretch
Figure 42

Now that we have all points needed for a Pythagorean stretch element construction, we can proceed further. But, before we move on, I would like to point out a fact that one point (point C) does not coincide with a grid. That is normal. Do not worry about it.

River and Pythagorean stretch
Figure 43

Now, we have to add a central ridge crease and all axial creases. With this, the Pythagorean stretch element is fully developed.

At this point, only what is left is to define polygon’s and river’s edges. Here, I would like to remind you that our newly defined Pythagorean stretch element will stay the same even when we reconfigure the whole example by bringing a river into its initial configuration (look at figure 44).

River and Pythagorean stretch
Figure 44

Special case

At the end of this long blog post, I would like to show you one special example. Imagine a situation in which we have two non-overlapping polygons whose sizes are 14×14 and 8×8. But, the problem in this particular case is that we want to squeeze in between polygons a really wide river. A 5 squares wide river.

River and Pythagorean stretch
Figure 45

This river is too wide to be pushed through between these two polygons. So, the obvious solution is to implement a Pythagorean stretch technique to widen the gap between polygons so the river could be squeezed in between. This example is showing you that polygons don’t need to overlap to implement a Pythagorean stretch technique. Sometimes it is enough for a river to be too wide.

So, let’s solve this problem. 

In this particular case, implementation of a Pythagorean stretch technique is literally the same as the one in a previous example.

River and Pythagorean stretch
Figure 46

Again, a river configuration B must be temporarily changed into configuration C. That has to be done so the river could be appended to a smaller polygon. Doing that, a smaller polygon becomes much larger (13×13). Such a move results with a situation in which two polygons, previously separated, start to overlap. Newly formed overlapping area (here marked in green)  is quite large (4×5). But what is most important, unlike in the previous example, this time an overlapping rectangle has one side whose length is equal to the even number, meaning we could implement a Pythagorean stretch in the form of a parallelogram.

So, let’s do it.

As always, we have to rotate the overlapping rectangle to establish the first Pythagorean stretch element defining point (point A). In that point, we have to construct a 135-degree angle using the most often used combination 1:2 – 1:3.

River and Pythagorean stretch
Figure 47

Pay attention to the fact that both 135-degree angle rays intersect with polygons’ diagonals exactly at circles’ centers. That means that there was only just enough space to push a river through. 

Now that we have a fully constructed parallelogram, we have to add axial creases (look at figure 46). After that only what is left is to define polygon’s and river’s edges.

As you can see, new polygons’ shapes are not too complex as one could expect.

River and Pythagorean stretch
Figure 48

Conclusion

I hope I have managed to explain a procedure of a Pythagorean stretch element construction and that I have managed to demystify the whole idea. 

You see, a Pythagorean stretch technique is a major step forward in the development of a Box pleating technique. It allows us to design very complex models in almost the same way as if we are using a Circle packing technique. And that is, if you ask me, a real asset since Box pleating technique is a technique that is much easier to learn, especially if you are an origami newbie.

On the other hand, a crease pattern developed using a Pythagorean stretch technique will be much more complex, if compared with a crease pattern that does not have elements that use this innovative technique. There is no doubt about it. But again, the complexity of a model is not a vice itself. 

So, I urge you to use a Pythagorean stretch technique. You won’t regret it.

Further reading: Pythagorean stretch – advanced topic (no.1)