In this tutorial, you will learn how to use some more of the settings in TreeMaker and how to incorporate bilateral symmetry into your design.
Open the TreeMaker application if it is not already open and create a new square. Make a five-limbed stick figure as shown in Figure Tu-2-1.
Figure Tu-2-1. Create a new, 5-limbed stick figure.
Now, we're going to change one of the edge lengths. Click once on the "body" segment (edge 4 in the example above) to select it. You will see its properties in the Inspector window, which should look like this:
Figure Tu-2-2. Inspector window for an edge.
Enter "0.8" for the length and hit Enter (or click the Apply button). This will change the length of this edge, and you will see the value updated in the Design window.
Figure Tu-2-3.
Now select Action->Scale Everything to optimize the distribution of nodes. You should see the nodes move around as before, and then suddenly the two bottom nodes will shift over toward one side or the other. When the optimization stops, the pattern of nodes will be asymmetric, as shown in Figure Tu-2-4.
Figure Tu-2-4.
This is rather surprising; the node pattern is less symmetric than the tree from which it is derived. The tree has bilateral symmetry --- that is, the left side is the mirror image of the right side. However, the node pattern does not have bilateral symmetry. We'll see this in the crease pattern as well. Select Action->Build Crease Pattern. Then convert to Creases Only view (View->Creases View). You will see that the resulting crease pattern has no line of symmetry at all (Figure Tu-2-5).
Figure Tu-2-5.
This is an example of a phenomenon called "spontaneous symmetry-breaking," in which a system that is fundamentally symmetric at high energy settles into an asymmetric state at lower energy. (In the analogy, a larger scaling factor corresponds to a lower energy.) In this case, a slightly larger base is obtained for an asymmetric distribution of nodes than is obtained for a symmetric distribution of nodes. While symmetry-breaking is a wonderful phenomenon for generating Ph.D. theses, it can be very undesirable in origami design. This crease pattern can indeed be folded into the tree we started with and left and right flaps will have the same lengths, but they will have different widths and different distributions of layers, so the base will not have mirror symmetry.
An asymmetric base is not necessarily a bad thing. It depends on the position of the subject. If you were making a running human, for example, in which the left and right arms and legs were in different positions, it might not matter if paired flaps had different numbers of layers. But in a lot of models, it does matter, and in this case at least, we would like the folded base and therefore the underlying crease pattern to have the same bilateral mirror-symmetry as the subject.
Fortunately, TreeMaker offers us this option. The first thing to do is to define a line of the symmetry for the square. Clear the selection, which you can do be choosing Edit->Select->None, or by hitting the Tab key. When nothing is selected, the Inspector shows information about the entire tree, as shown in Figure Tu-2-6.
Figure Tu-2-6.
The Inspector shows several settings that affect the entire design. First comes the paper dimensions: width and length. (The default values are for a square. Change one or the other to define a rectangle. But with TreeMaker's capabilities for design, why would you ever want to use anything but a square?) The third number is the scale, which is the ratio between one unit on the tree and the size of the paper. (This is the same number that appears at the bottom of the design window.) In this example, we see that the scale is 0.2851, which means that a 1-unit edge on the tree will turn into a flap whose length is 0.2851 times the side of the square from which it is folded.
The next set of controls is the set that interests us. The "Symmetry" check box lets us define a line of symmetry on the square. A line of symmetry is defined by the x and y coordinates of any point on the symmetry line and by the angle of the symmetry line with respect to the paper. A square has two natural lines of symmetry, that is, two different ways of dividing it into mirror-symmetric halves. If you crease the square along the diagonal, you get two mirror-symmetric triangles and the diagonal is the line of symmetry. If you book-fold the square, you get two mirror-symmetric rectangles and the book fold is the line of symmetry. The two buttons named "diag" and "book" are presets for these two symmetries. Click on the "book" button. You'll see that the "Symmetry" check box is turned on, and we now have values entered for x, y, and the angle of the symmetry line as shown in Figure Tu-2-7; these define a symmetry line running through the point (0.5,0.5) at an angle of 90 degrees (vertically).
Figure Tu-2-7.
Go back to Design View (View->Design View). You'll see that the paper now contains a vertical gray line, which indicates the line of symmetry. The line is almost hidden by the clutter of the creases, so we'll get rid of the crease pattern by selecting Action->Kill Crease Pattern. The result is shown in Figure Tu-2-8.
Figure Tu-2-8.
Now we need to establish a relationship between individual nodes and the line of symmetry. A node can have one of two possible relationships with the line of symmetry. It can actually lie on the line of symmetry (for example, the head or tail of an animal) or it can be one of a pair of nodes arranged symmetrically about the line. In our model, the "head" lies on the symmetry line of the tree. Thus, we need to force the node that corresponds to the head (node 1) to lie on the symmetry line of the square.
When we want to impose additional requirements on a tree, we are imposing conditions on the various parts of the tree. We can impose conditions in several ways. The easiest is to simply select node 1, and from the Condition menu, select the command Condition->Node(s) Fixed to Symmetry Line.
Two things happened: First, a new Condition object has appeared in the design window, which shows up as a small purple tag attached to node 1.
Figure Tu-2-9.
Second, the previously-empty Conditions box in the Inspector now contains an entry, which is the condition that we just created.
Figure Tu-2-10.
A "Node constrained" (or "node combination" condition) is a general condition that can constrain the position of a single node in one or more ways. Initially, the condition sets a single constraint, but it is possible to combine several constraints on a node within this single condition, by editing the attributes of the condition.
Once we have created a condition, we can edit its properties. As with all TreeMaker objects, we edit its properties in the Inspector, by selecting the condition --- which we can do in one of two ways: we can double-click its listing in the Node Inspector, or we can select it by clicking on the dot at the end of the leader connecting it to the node in the Design window. Whichever way we select the condition for editing, once we have selected it, the Inspector will change to display the properties of this condition, as shown in Figure Tu-2-11.
Figure Tu-2-11.
The Condition panel of the Inspector shows several properties of the condition. At the top of the panel is the condition type, which in this case, is a "Node Fixed" condition. (There are other types, which we will encounter later.) Next comes its index (which doesn't have any significant effect other than the order that conditions are listed --- but you might want to renumber them in order to group similar conditions together). The third entry is the index of the node to which it applies; you can move the condition to another node by editing this value.
Then comes a column of checkboxes that define the possible position constraints that can be placed on a single node. The one we want, the first one ("Fixed to symmetry line"), is already on. This condition will force node 1 to lie on the line of symmetry. Note, however, that node 1 doesn't move when you turn on the checkbox; conditions don't take effect until you perform another optimization. That is, a condition specifies what should be, but it requires an optimization to make it happen.
Condition Inspector panels, like many others, contain an "Apply" button. If you change a value in an edit field, the value does not take effect until you click the apply button or a control like a checkbox or radio button. In this way, you can make several edits and apply them (or at least validate them) all at once.
The last entry in the box describes whether the condition is feasible or not. A feasible condition is one that is satisfied. Usually, when you first create a condition, it will not be feasible until you have optimized. This is the situation with this condition.
We're done with this condition, so we'll go on to the next. The next thing we need to do is to tell TreeMaker that pairs of flaps should be mirror-symmetric. For example, nodes 4 and 3 correspond to the left and right arms of the figure. Thus, each of nodes 4 and 3 should be the mirror image of the other. To set up this condition, click on node 4 and shift-click on node 3 to select them both. Then go to the Condition menu and select Condition->2 Nodes Paired About Symmetry Line. A new object appears in the Design window.
Figure Tu-2-12.
A "nodes paired" condition is displayed by a dot connected to both of the affected nodes. If you select the condition (click on the dot between the two nodes, or double-click on the condition in the Node Inspector panel), the Inspector switches over to display the condition's panel, as shown in Figure Tu-2-13.
Figure Tu-2-13.
We also need to pair nodes 6 and 7. Do this the same way --- select nodes 6 and 7 and then select the Condition->2 Nodes Paired About Symmetry Line command.
Figure Tu-2-14.
You have now defined all the conditions on the nodes. Clear the selection (hit Tab, or choose Edit->Select->None). The Inspector again shows the tree panel. Note that the Conditions list now lists the three conditions we have created. The Tree Inspector panel always shows all conditions in the tree. Individual Node, Edge, or Path Inspector panels only show the conditions that apply to the selected part.
Figure Tu-2-15.
You can delete any condition at any time by selecting it in the Inspector's condition list and hitting the Delete key. You can also delete it by selecting it in the Design window and hitting Delete. You can examine the attributes of any condition by double-clicking on it in the condition list within the Inspector, or selecting it within the Design window.
At this point, all the conditions we need are now defined.
Now we have set up the conditions that enforce symmetry. As mentioned above, the conditions don't take effect until we re-optimize the pattern. Select Action->Scale Everything to re-optimize the tree taking the new conditions into account. Figure Tu-2-16 shows the result.
Figure Tu-2-16.
When you ran the optimization, you saw that the figure almost instantly became symmetric and the final pattern of leaf nodes is now symmetric. (Observe, though, that the branch nodes are right where we left them.) A subtler change is that the conditions have changed color: they are now purple. Infeasible conditions are displayed in red. When a condition is satisfied, it is said to be feasible, and feasible conditions are shown in purple.
Now that the conditions are feasible, select Action->Build Crease Pattern and View->Creases View. You will see the full crease pattern, which is now mirror-symmetric, as shown in Figure Tu-2-17.
Figure Tu-2-17.
Note the scale of the model (shown at the bottom of the window) is now 0.2794 (it was 0.2851 with the asymmetric structure). The scale has dropped, meaning that the base folded from this pattern is slightly smaller than the asymmetric base. In general, when you add constraints to a pattern, you will reduce the scale and thus the size of the finished model.
We can also try the other line of symmetry. Deselect everything, which puts the tree panel back into the Inspector. Click on the "diag" button, which sets up a line of symmetry along one of the diagonals of the square and click OK. Also, put the square back into Design View if it wasn't there already.
Figure Tu-2-18.
Now the node pattern is still symmetric about the book fold and the conditions on the nodes relating to symmetry haven't changed, but we have moved the line of symmetry; observe that the gray line of symmetry now runs along the diagonal. Therefore, the conditions we imposed are no longer satisfied (and they have changed from purple back to red). Nothing has moved because conditions aren't enforced until we re-optimize. Again select the command Action->Scale Everything.
Observe that, as shown in Figure Tu-2-19, the nodes have moved to new positions consistent with the new symmetry conditions. Also, the polygons and creases have disappeared. Whenever you change the node configuration by moving a node, the polygons that used to include that node are destroyed, as are any creases that may have been associated with the polygons.
Figure Tu-2-19.
You'll have to rebuild the crease pattern, which you can do by Action->Build Crease Pattern. Then put the model back into Creases view (View->Creases View). The new crease pattern, shown in Figure Tu-2-20, is mirror-symmetric about the new symmetry line and is completely different from the crease pattern that had book symmetry.
Figure Tu-2-20.
Also, if you check the scale (at the top of the window), you'll see that the scale has fallen once again to 0.2728. So the diagonal symmetry in this example is less efficient than book symmetry. In general, you can orient a model along either symmetry line and will have very different crease patterns for both configurations. Sometimes book symmetry will be more efficient, sometimes diagonal symmetry will be more efficient. With TreeMaker, you can easily try them both.
Previous: Tutorial 1: Designing a Base Next: Tutorial 3: Working with Strain