Software for origami diagrams




















Mark Bolitho died in November. I met him at the Oxford British Origami convention in , and I sensed immediately that this talented and prolific designer was a kind, warm, unassuming person. Paul agreed that publishing the diagrams in The Fold would be a fitting tribute to Mark, who taught the model every year at London Origami meetings.

The diagrams were originally published in December in the British Origami magazine, number Any duo paper should work, but you might not want to go too large. The diagram is in the cartoon. In this regard the use of Flash has paid off handsomely. The next higher level of object is the Scene. The Scene contains the Paper model, plus diagramming symbols such as arrows and dashed lines, as well as text annotations. The Sequence contains a series of Scenes and represents the origami model as a work in progress or as the completed set of folding instructions.

It also includes global annotations such as title, author, copyright information, and special instructions for folding the model that don't fall in a particular step. A Sequence can be saved or loaded as a file. This is a Foldinator document. Currently the Sequence is encoded as a. TXT file. Rendered scenes are encoded as.

BMP or. JPG files, and are referenced by the. Support for. EPS or similar print-resolution images is planned for a future version of the Foldinator. Now it's time for a guided tour of what the Foldinatorapplication will look like. There are three principal views of the origami model.

Additionally, there is a Sequence View that provides a high level view of a series of diagram in thumbnail format. Within each view are various controls, tools, and other UI elements. The Main View is, perhaps obviously, the main view where the author works on his origami creation. It is designed to look and act as much like as an origami model as possible. It is manipulable and annotatatable. See Figure 2 for an illustration of a model in the Main View. The Map View shows flat paper with all the folds in place.

This is sometimes called the fold pattern. See Figure 3 for an illustration of a model in the Map View. The Section View displays a cross-section thru model to show the arrangement of the various layers of paper. The line of the section can be set in the Main View. See Figure 4 for an illustration of a model in the Section View. The Sequence View shows a series of thumbnails of the folding steps. The user may use this to step thru his model sequentially. See Figure 5 for an illustration of a model in the Sequence View.

Figure 6 shows the initial view of a new Foldinator document with the paper in the center of the screen and the various controls arrayed around it. This figure is taken from an early prototype version, so all of the controls are not fully fleshed out in detail. However, all of the main components are in place. At the top of the window is the Menu Bar , where the user can access various file- and application-level commands.

On the left side is the Tool Palette , where the user can access the tools to work on the origami model. These tools use the icons of traditional origami notation, so their functions should be apparent to anyone familiar with reading origami diagrams.

The use of some of the tools is detailed below. At the center bottom of the window is the Annotation Space , where the user can type in text instructions to accompany the symbolic markup of the step. Finally, at the lower right is located the Step Controls , which allow the user to execute the current step and move ahead to the next one, and also to move backward and forward thru the sequence of steps.

Usually the first thing a user will want to do when creating a model is set the Paper Properties. Access to this functionality is provided thru the Menu Bar or by right-clicking on the Paper itself.

Paper properties include the shape or aspect ratio of the paper, as well as its color or graphic pattern, and its thickness. The default values for paper shape and color are: a square sheet with one white side and one side colored gray.

As for other physical characteristics of the paper, currently "ideal" paper is the only representation supported. Ideal paper has zero thickness although it cannot pass through itself or do other "impossible" things , absolute stiffness, always produces precise and permanent creases, and cannot be stretched, curved, cut or torn, only folded.

I implemented these functions first to test the basic integrity of the code that controls the 3D model and its projection into the rendering space, and the code that links user actions to the manipulation of the 3D model. Figures 7 thru 10 illustrate the process of making a fold and executing a step in the Foldinator.

To begin, the user selects the type of fold. Support for more complex folds, such as Petal Fold, Squash, Rabbit Ear and Sink are planned, but most of these can be accomplished by sequences of simpler folds. Figure 7 shows a Valley Fold selected and the user placing the fold by dragging a line. Foldinator supports Snap To by default, although it can be turned off. Most origami folds, especially at the beginning of the model, are placed relative to existing features of the geometry of the paper.

The user can easily place a fold at the bisector of two existing lines, such as parallel or adjacent edges of the paper, or an edge and an existing crease, or two existing creases. The user can also snap to a point at the intersection of any pair of creases or the intersection of a crease and an edge, both for locating the end point of a crease or for locating the destination of a locatable point on a folded flap. In Figure 8, the fold has been located, and now the direction of the arrow must be specified, that is, the user must indicate whether the lower right corner is to be folded up to the top left, or vice versa.

When the second end point of the fold is placed, the arrow automatically appears, with the arrow head on whichever side of the line that the mouse happens to be.

To change the direction of the arrow, the user simply drags the mouse across the line and clicks. The example illustrates an arrow of the type Fold , although the user can change the arrow to other types including Unfold and Fold and Unfold. Once the fold is placed, the user may annotate the step, as shown in Figure 9. This is accomplished simply by clicking in the annotation field and typing. Clicking this will put the app into an interactive VR mode. The hand controllers will allow you to grab the origami mesh and pull on it.

This is especially interesting if you set the Mesh Material to Strain Visualization so you can see how your interactions change the internal strains in the material. The origami should load up in the center of your playspace. If things load way off in the distance, you may need to reboot your headset and controllers and refresh this app.

I do this through SteamVR. If you hand controllers are not appearing, try clicking the System Button Vive to get them to wake up. If you still have trouble connecting, try refreshing this app. WebVR is changing rapidly, if you cannot connect be sure you have the latest browser version and install any firmware updates on your headset, controllers, and sensors.

The time step size for this animation is calculated automatically based on the material stiffnesses set in the Simulation Settings section: more stiff settings require shorter time steps to solve and will slow down the simulation. Num simulation steps per frame allows you to control the number of tiny time steps forward to take on each render cycle.

If the simulation looks choppy to you, you might consider lowering this setting. Lowering the number of steps per frame will slow down the simulation, but will result in a more smooth animation.

The error at each vertex is evaluated by averaging the percent deviation of all its distance constraints with adjacent vertices. This error is reported as a percent of the total length of the distance constraint to remove scaling effects. This measurement is equivalent to Cauchy strain or engineering strain of the distance constraints on this system.

Increasing the Axial Stiffness will tighten these constraints and lower the error in the simulation. To visualize the error of each vertex graphically, select Strain Visualization under Mesh Material in the left menu. The simulation sets up several types of constraints: distance constraints prevent the sheet from stretching or compressing, face constraints prevent the sheet from shearing , and angular constraints fold or flatten the sheet.

Each of these constraints is weighted by a stiffness - the stiffer the constraint, the better it is enforced in the simulation. Axial Stiffness is the stiffness of the distance constraints. Face Stiffness is the stiffness of the face constraints, which help the axial constraints prevent deformation of the sheet's surface between the creases. Fold and facet stiffnesses correspond to two types of angular constraints. Fold Stiffness is the stiffness of the mountain and valley creases in the origami pattern.

Facet Stiffness is the stiffness of the triangulated faces between creases in the pattern. Increasing facet stiffness causes the faces between creases to stay very flat as the origami is folded.

As facet stiffness becomes very high, this simulation approaches a rigid origami simulation , and models the behavior of a rigid material such as metal when folded.

Internally, constraint stiffnesses are scaled by the length of the edge associated with that constraint to determine its geometric stiffness. For Axial constaints, stiffness is divided by length and for angular constraints, stiffness is multiplied by length. Since this is a dynamic simulation, vertices of the origami move with some notion of acceleration and velocity. In order to keep the system stable and help it converge to a static solution, damping is applied to slow the motion of the vertices.

The Damping slider allows you to control the amount of damping present in the simulation. Decreasing damping makes the simulation more "springy". It may be useful to temporarily turn down damping to help the simulation more quickly converge towards its static solution - especially for patterns that take a long time to curl.

A Numerical Integration technique is used to integrate acceleration into velocity and position for each time step of the simulation.

Different integration techniques have different associated computational cost, error, and stability. This app allows you to choose between two different integration techniques: Euler Integration is the simplest type of numerical integration first order with large associated error, and Verlet Integration is a second order integration technique with lower error and better stability than Euler. The Strain Visualization illustrates the strain across an origami sheet by mapping it to a color from blue no strain to red max strain.

When enabled, mousing over the model will display a highlighter; clicking and dragging allows you to interact with the model in real time. Very vigorous interactions with the model may cause it to pop into a strange configuration that it can't escape - use the Reset button to start the simulation again from a flat state. You can get these codes using a color picker. It is recommended to keep this number above zero. For curved folding crease pattern contains curves Check this box if the crease pattern contains curves.

Intervals of vertices for discretization px : Curves and borderlines are divided into segments by this value. Approximation tolerance of curves px : Curves are approximated by polylines. The smaller the value, the higher the quality of the approximation.

Drag to rotate the model, scroll to zoom. Import other patterns under the Examples menu. Visualize the internal strain of the origami as it folds using the Strain Visualization in the left menu of the Advanced Options. If you are working from a computer connected to a VR headset and hand controllers, follow these instructions to use this app in an interactive virtual reality mode.



0コメント

  • 1000 / 1000