## Abstract

This paper examines the mathematical modelling of rigid origami, a type of origami where all the panels are rigid and can only rotate about crease lines. The rotating vector model is proposed, which establishes the loop-closure conditions among a group of characteristic vectors. By building up an explicit relationship between the single-vertex origami and the spherical linkage mechanism, the rotating vector model can conveniently and directly describe arbitrary three-dimensional configurations and can detect some self-intersection. Quaternion and dual quaternion are then employed to represent the origami model, based on which two numerical methods have been developed. Through examples, it has been shown that the first method can effectively track the entire rigid-folding procedure of an initially flat or a non-flat pattern with a single vertex or multiple vertices, and thereby provide judgment for its rigid foldability and flat foldability. Furthermore, its ability to rule out some self-intersecting configurations during folding is illustrated in detail, leading to its ability of checking rigid foldability in a more or less sufficient way. The second method is especially for analysing the multi-vertex origami. It can also effectively track the trajectories of multiple vertices during folding.

## 1. Introduction

Origami is the art of paper folding. In the past three decades not only has it aroused considerable research interest in mathematics but it has also found a wide range of engineering applications, such as DNA folding, design of medical stents, design of crumple zones in automobiles, etc. The most recent research on origami science mainly address the foldability issue, which is still regarded as intractable in many cases (Demaine & O’Rourke 2005). Among current research, a great majority focuses on the problem of flat foldability, that is, whether a crease pattern can fold flat when it is fully folded. So far, flat foldability of those patterns involving a single vertex has been well understood, such as the necessary and sufficient conditions of flat folding (Justin 1989; Kasahara & Takahama 1987; Kawasaki 1989) and the valid mountain–valley assignments to achieve it (Hull 2003). However, for multi-vertex patterns, judging their flat foldablity is NP-hard (Bern & Hayes 1996). Even if the necessary and sufficient conditions for flat foldability exist, they cannot be easily found (Hull 1994, 2001; Justin 1997).

In this paper, the issue of rigid foldability is to be addressed. Such a problem is connected to a restricted type of origami, called *rigid origami*, which stipulates that all panels bounded by creases in an origami pattern are not allowed to stretch or bend during folding, and thus all creases act as rotational hinges. Different from the more generally discussed flat foldability where the main concern is the final folded state, rigid foldability pays attention to the entire folding procedure and requires geometrical compatibility to be maintained.

Only a handful researches on rigid origami have been conducted so far. Huffman (1976) and Miura (1989) employed the Gaussian curvature theory of polygonal surfaces to study rigid origami, based on the properties that the Gaussian curvature of a flat plane was zero and invariant by inextensional deformation. Demaine & Demaine (1997) proposed a class of rigid origami bases out of a piece of arbitrary polygonal paper, and the rigid-folding process was for the first time explicitly constructed for convex polygonal crease patterns. Lang (Hull 2006) used spherical trigonometry to judge if a flat foldable single-vertex pattern was also rigidly foldable. Streinu & Whiteley (2005) linked single-vertex rigid origami to spherical polygonal linkages, and proved that via spherical motions, some single-vertex origami could be rigidly folded into other configurations continuously. Belcastro & Hull (2002) proposed a matrix method for modelling origami configurations initially folded from flat. They considered the affine mapping from two dimensions to three dimensions to obtain the loop-closure equations, which represent sequential rotations around creases. Moreover, two pieces of further work have been built on this model. One was a rigid origami simulator by Tachi (2006), where a constraint equation system for a general pattern was established based on the matrix model, and then solved after linearization and introduction of a residual vector for error-correction. The other was the work of Watanabe & Kawaguchi (2006), who proposed two methods to determine the rigid foldability of a crease pattern according to its mountain–valley assignment under the infinitesimal folding assumption. Despite these efforts, many open problems still exist on rigid foldability. For example, no general approaches to judging rigid foldability have been developed, and the folding procedures of various rigid origami patterns are not yet conveniently established.

The study of rigid origami is not only a mathematical challenge, but also behind many real engineering applications. The rigidly foldable Miura-Ori pattern (Miura 1980) has been used to fold and unfold maps far more easily, and to collapse and deploy large membrane space structures such as the power array. A ceiling in the Persimmon Hall in Tokyo also adopts the Miura-Ori shape for its remarkable sound diffusion effect. The giant space telescope Eyeglass with a diameter up to 100 m is currently under development by NASA, which can only be launched into space after being compactly folded following a pattern designed by Robert J. Lang. Lang also designed a pattern to rigidly flatten airbags to allow its computer simulation for safety testing (R. J. Lang, see http://www.langorigami.com/science/science/airbag/airbag.php4). By folding various types of sheet materials along some rigidly foldable patterns, a type of folded core for sandwiched composite materials has been manufactured (Khaliulin & Dvoyeglazov 2001; Drechsler & Kehrle 2004; Elsayed & Basily 2004) and used in the latest Airbus aircraft (Kehrle & Kolax 2006). Balkcom & Mason (2008) have designed the first origami folding robot that can fold some simple rigid origami patterns. Schmitt *et al.* (2004) used rigid origami as a design guide for reconfigurable micro-robots consisting of a number of modules, including sensors and processors. These examples have demonstrated the great potentials of rigid origami in a wide range of fields. To facilitate more applications, more properties of rigid origami need to be further investigated.

This paper further investigates the rigid foldability of origami by looking into its folding procedure. At first, we established the rotating vector model consisting of a group of characteristic vectors based on an origami-spherical linkage analogy: two fundamental elements of a crease pattern, i.e. panels and creases, found their counterparts in two fundamental elements of a spherical linkage, i.e. links and hinges, respectively. So the loop-closure relation established for the spherical linkage mechanism (Denavit & Hartenberg 1955; Beggs 1966) can be directly transplanted to the single-vertex rigid origami, and then further extended to the multi-vertex rigid origami. Then, to mathematically represent the loop-closure relation or the rotating vector model, we adopt the tools of quaternions and dual quaternions, instead of the widely used rotation matrices. In fact, large amounts of literature have shown the advantages of quaternions over rotation matrices to represent three-dimensional rotations, for example, quaternions are simpler to compose given an arbitrary rotation axis, more compact in size with four elements involved in contrast to nine in the matrices, numerically more stable and less influenced by accumulated rounding errors from sequential rotations, as well as able to avoid the problem of gimbal lock. By far, quaternions have found their applications in computer graphics, robotics, navigation and orbital mechanics of satellites (Kuipers 2002) as well as linkage mechanisms (Yang 1963; Yang & Freudenstein 1964). Despite that, to our knowledge, quaternions have never been applied to model origami before.

The layout of this paper is as below. At first the rotating vector model is proposed. Then the quaternion rotation sequence (QRS) method is presented, followed by a method to determine the relative position of adjacent panels in a folded pattern. These numerical tools are applied to various types of origami patterns. Finally, the dual quaternion transformation sequence (DQTS) method is introduced and demonstrated.

## 2. The rotating vector model

Consider a fourfold single-vertex flat pattern SV1 shown in figure 1*a*, where the creases are enumerated from E_{1} to E_{4} anticlockwise, and the panels from P_{1} to P_{4}. Denote by *α*_{i,j} the layout angles from edge E_{i} to E_{j} (*i*=1,2,3,4, *j*=2,3,4,1). Figure 1*b* shows a three-dimensional configuration that is obtained after a certain extent of rigid folding, where a group of characteristic vectors are established. They include edge vector **e**_{i} along edge E_{i} (*i*=1,2,3,4), and normal vector **n**_{i} perpendicular to panel P_{i} (*i*=1,2,3,4). As shown in figure 2, these vectors can be related in a rotation sequence, which is decomposed into eight sequential steps. Start with **n**_{1} and **e**_{1}. Then at each step, **n**_{i} or **e**_{i} derived from the previous step acts as the rotation axis, around which **e**_{i} rotates to **e**_{i+1} by the angle *α*_{i,j}, or **n**_{i−1} to **n**_{i} by the angle *γ*_{i}. Here, *γ*_{i} represents the folding angle between normal vectors of adjacent panels that intersect at edge E_{i}, following the right-hand screw rule. Note that the last two steps return the initial vectors **e**_{1} and **n**_{1}, respectively, indicating that a *closed-loop* rotation sequence is complete among those vectors. To obtain a clearer description of the three-dimensional configuration, we use dihedral angles *θ*_{i}=*π*−*γ*_{i} to replace *γ*_{i}. For convenience, stipulate that *θ*_{i} is a scalar angle, i.e. independent of the rotational direction, and that all *θ*_{i} in a pattern are measured from the same side throughout folding. The maximum attainable range of each *θ*_{i} depends on the mountain–valley assignment of crease E_{i}, given that the pattern is always observed from the same side, as well as on the starting and ending states of the pattern. Therefore, should a pattern be initially flat and finally folded flat, we get their maximum ranges below.
2.1

In the rotating vector model, layout angles *α*_{i,j} and dihedral angles *θ*_{i} are used to provide pattern and configuration information. The rotation scheme employed is inspired by that for the spherical linkage, as mentioned in §1. Similar analogy has been used before, which normally takes creases as rotational axes; however, since creases intersect at the single vertex, the dimensions of the links between axes in the mapped linkage become zero, causing obscurity. By representing panels by their normal vectors, more direct transplantation of the rotation scheme from the spherical linkage mechanism to rigid origami is achieved.

Following the analogy to the spherical linkage, the degree of freedom (d.f.) of a single-vertex origami can also be determined by (Waldron & Kinzel 1998)
2.2
where *m* is the number of edge vectors (or edges) excluding those on the boundary, *j* the number of normal vectors (or panels), and *f*_{i} the d.f. of edge E_{i}(*i*=1,2,…,*m*) as a rotation axis. For example, for pattern SV1, with *m*=*j*=4 and *f*_{i}=1 (*i*=1,2,3,4), its freedom is 1.

It is worth pointing out that Belcastro & Hull (2002) have employed a different rotation scheme to represent the loop-closure relation among creases based on an affine map from two to three dimensions. Their method makes a breakthrough in modelling rigid origami; however, it requires that all rotation angles should refer to the unfolded flat state, thus incapable of representing those three-dimensional shapes that do not have a flat state at any folding stage. In contrast, the rotating vector model is able to represent any arbitrary three-dimensional folded configuration.

## 3. The QRS method

This section discusses the QRS method, proposed to represent the rotating vector model. Via describing sequential rotations around axes in arbitrary three-dimensional locations, it leads to a loop-closure equation system, from which unknown configuration angles can be solved to fully describe three-dimensional rigid configurations.

A quaternion is defined as the sum of a scalar part *q*_{0} and a vector part **q**,
3.1
where *q*_{0},*q*_{1},*q*_{2} and *q*_{3} are real numbers, **i**, **j** and **k** are imaginary units. can also be expressed by four components
3.2
The basic quaternion algebra can be found in Kuipers (2002) and Lam (2003). The most unique feature is that quaternion multiplication does not obey the law of commutativity; nevertheless, this feature actually facilitates its function of representing arbitrary three-dimensional rotations by the quaternion rotation operator. This operation can be illustrated as follows. If vector **m**={*x*,*y*,*z*} is to be rotated about vector **v**, we first convert **m** to quaternion . Then an anticlockwise rotation of the vector **m** about another vector **v** through angle *θ* can be represented by a unit quaternion operator
3.3
where **v**^{0} is the normalized vector of **v**. Note that the quaternion rotation operator is a unit quaternion, which ensures the length of the rotated vector to remain the same after rotation. Then the resultant vector **n** is the vector part of the quaternion ,
3.4
where
3.5
is the complex conjugate of .

Now we apply the quaternion rotation operator to edge and normal vectors in origami patterns. Consider pattern SV1 at a configuration in figure 1*b*. In a three-dimensional Cartesian coordinate frame shown in figure 2*a*, we can write **e**_{1}={1, 0, 0} and **n**_{1}={0, 0, 1}. The rotation around **n**_{1} in figure 2*a* can be represented by a quaternion rotation operator
3.6
The resultant vector **e**_{2} is the vector part of the quaternion ,
3.7
When **e**_{2} is known, the rotation around **e**_{2} in figure 2*b* can be expressed as
3.8
The resultant vector **n**_{2} is the vector part of the quaternion ,
3.9
The following rotations and resultant vectors can be represented likewise until **e**_{f} and **n**_{f} in figure 2*g*,*h* are obtained. They are the same as two initial vectors **e**_{1} and **n**_{1} based on the rotating vector model, so the loop-closure equation system can be derived as
3.10
The system consists of a total of *six* simultaneous equations in terms of *α*_{i,j} and *θ*_{i}. For a given pattern, all *α*_{i,j} are known, so by specifying the same number of *θ*_{i} as the d.f. of the pattern according to equation (2.2), the remaining unknowns *θ*_{i} can be solved, and thus a particular folded configuration can be fully described. To solve highly nonlinear equations in (3.10), we employ a constrained nonlinear optimization procedure: the sequential quadratic programming method. The optimization goal is to minimize the least-square error between two sides of the equations; the range constraint imposed on each unknown *θ*_{i} is given in equation (2.1), whereas the proper initial estimates for the unknowns can be effectively picked up from a preliminary optimization that uses arbitrary initial estimates, and simply take the piece-wise form in some difficult cases. Moreover, if the input *θ*_{i} is given a particular value, the corresponding outputs describe a configuration; if it is given a sequence of values, the outputs describe a consecutive set of configurations attained during folding, provided that the optimization error is sufficiently small.

## 4. Relative positions of panels

Despite that, equation (2.1) can rule out some unattainable configurations in rigid folding, it alone is not enough, especially when some of the panels become coplanar. In such cases, information about relative positions between a panel and its neighbouring panels is required. This can be obtained by
4.1
where **e**_{j} is the crease on the neighbouring panel next to panel P_{i}. Given the fixed mountain–valley attributes in a single-vertex pattern, the panel adjacent to P_{i} that contains **e**_{j} will remain on the same side of P_{i} during folding, otherwise panel penetration would occur. For example, for pattern SV1 shown in figure 1, from one of its attainable states, signs of **n**_{i}·**e**_{j} (*i*=1, *j*=3,4; *i*=2, *j*=4,1; *i*=3, *j*=1,2; and *i*=4, *j*=2,3) will remain the same throughout folding. A switch of signs from positive to negative, or vice versa, indicates one of the panels is penetrating.

Special care should be taken when **n**_{i}·**e**_{j}=0, i.e. **e**_{j} lies on P_{i}. This is associated with two possibilities. The first is when *θ*_{Valley}=180° or *θ*_{Mountain}=180°. It is not necessary to use the relative positions of panels to determine the rigid foldability in these cases. Instead, it can be dealt with by the QRS method. The second situation is when overlapping occurs, i.e. *θ*_{Valley} becomes 0 or *θ*_{Mountain} is 360°. In real folding scenarios, *θ*_{Valley} approaches the overlapping configuration from a non-zero angle, whereas *θ*_{Mountain} from an angle less than 360°. Therefore, one can use a non-zero value that is sufficiently small for the case when *θ*_{Valley} is close to 0. The same treatment applies to *θ*_{Mountain}, too. Therefore, inequalities (4.1) can still be used to determine the relative locations of the panel.

## 5. Examples

To confirm validity and versatility of the QRS method, foldability analyses of several types of crease patterns are carried out next.

### (a) Example 1: initially flat two-dimensional pattern SV1

Figure 1*a* shows pattern SV1 that has four creases meeting at a vertex. The dash lines are for valley creases, dash-dot lines for mountain creases and solid lines are for pattern boundaries. The same convention is used in subsequent figures in this paper. The pattern has a single d.f. based on equation (2.2) if it is rigidly foldable. Assume *θ*_{1} as the input angle, which decreases monotonically from 180° to 0 at the step of 1°. Via the QRS method, the corresponding outputs *θ*_{2}, *θ*_{3} and *θ*_{4} can be calculated, as shown in figure 3. Those smooth plots indicate the rigid-folding procedure as continuous. Besides, the set of outputs *θ*_{2}=*θ*_{3}=0 and *θ*_{4}=360° from the input *θ*_{1}=0 represents the completely folded flat configuration. Therefore, it can be concluded that pattern SV1 is rigidly foldable and flat foldable.

### (b) Example 2: initially flat two-dimensional pattern SV2

Pattern SV2 in figure 4 is also a fourfold single-vertex system with the single d.f. If given *θ*_{1} (0≤*θ*_{1}≤180°) as the input, the outputs *θ*_{2}, *θ*_{3} and *θ*_{4} from the QRS method are shown in figure 5*a*, where there is always *θ*_{3}=*θ*_{1} and *θ*_{2}=*θ*_{4}=180°, except a fluctuation at *θ*_{1}=0. Differently, if given *θ*_{2} (0≤*θ*_{2}≤180°) as the input, results from the QRS method are *θ*_{2}+*θ*_{4}=360° and *θ*_{1}=*θ*_{3}=0, except a fluctuation at *θ*_{2}=180°, shown in figure 5*b*. We can see that these results exactly match the physical folding procedure. In trying to fold pattern SV2 from its flat state, there must be two separate stages. At first, the pattern can only be folded along the collinear E_{1} and E_{3} until its two halves overlap; then it can fold around the merging creases E_{2} and E_{4} until fully folded flat again. Figure 5*a*,*b* indeed reflect these two stages, respectively. Specially, the random fluctuation of outputs at *θ*_{1}=0 indicates an infinite number of the second-stage states attainable at the end of the first stage; and likewise the fluctuation at *θ*_{2}=180°.

### (c) Example 3: initially flat pattern SV3

Figure 6*a* shows pattern SV3 where *α*_{12}+*α*_{34}≠*α*_{23}+*α*_{41}, indicating that the pattern is not flat-foldable according to Kawasaki’s theorem (Kawasaki 1989). Yet can the QRS method give the same judgment? To find out, take *θ*_{2} (0≤*θ*_{2}≤180°) as the input at the increment of 1°. The results from the QRS method are shown in figure 7*a*. When 77°≤*θ*_{2}≤180°, curves of output angles are smooth, with the negligible optimization errors in the order of below 10^{−10} in contrast to at least 10^{−3} for other *θ*_{2}, as shown in figure 7*b*. This indicates that the rigid-folding process can be continuously carried out from the initial flat configuration with *θ*_{2}=180° till the final configuration with *θ*_{2}=77°. As previously seen, the final state features *θ*_{1} just decreasing to 0, thus the boundary constraint on *θ*_{1} from equation (2.1) is reached at this moment. The identified final state is shown in figure 6*b*, with the other two dihedral angles as *θ*_{3}=81.49° and *θ*_{4}=310.75°. This example demonstrates that the QRS method is able to judge self-intersection based on the range constraints in equation (2.1). In this example, the information of relative positions among panels given in equation (4.1) is redundant.

### (d) Example 4: initially non-flat three-dimensional pattern SV4

The three-dimensional pattern SV4 in figure 8*a* has layout angles *α*_{1,2}=90°, *α*_{2,3}=45°, *α*_{3,4}=45° and *α*_{4,1}=90°, and dihedral angles *θ*_{1}=*θ*_{2}=*θ*_{4}=90° and *θ*_{3}=180°, which are all measured from the inward side of the pattern. Take the given three-dimensional configuration as the initial, and select the input for this single d.f. system as *θ*_{1} varying from 0 to 90° at the increment of 1°. Accordingly, the maximum attainable ranges of the other three dihedral angles are 0≤*θ*_{2}≤90°, 180°≤*θ*_{3}≤360° and 0≤*θ*_{4}≤90°. Assume one of its further folded three-dimensional configurations in figure 8*b*, upon which the loop-closure equations can be established. The final outputs are shown in figure 9, which confirm the rigid foldability of the pattern. In addition, attempts were made to assign values larger than 90° to input *θ*_{1}, yet no solution was found because the optimization error was no longer negligible. So, it can be concluded that pattern SV4 is both flat and rigid foldable only in the range of 0≤*θ*_{1}≤90°.

### (e) Example 5: a multi-vertex pattern

Though the rotating vector model is for the single-vertex origami, the QRS method can apply to the multi-vertex origami via a decomposition strategy. At first, select a closed path encircling multiple vertices, so the multi-vertex system can be seen as a combination of multiple single-vertex subsystems around each vertex. Then analyse those subsystems sequentially along the path in one direction, each as an independent single-vertex system with the input transferred from its previous subsystem, i.e. as their common dihedral angle. Finally, check whether the dihedral angle common in the first and the last subsystems has the same values. If so, global compatibility of the entire pattern can be confirmed. With this strategy, the real complexity of the multi-vertex system is actually averted. For example, if each subsystem has a single d.f., the whole system needs only one input as well.

Consider two multi-vertex crease patterns MV1 and MV2 in figure 10, where all edges and vertices are enumerated and two paths are encircled. Each pattern has the same layout around all vertices, as 90°, 45°, 90° and 135° in MV1 and 90°, 20°, 90° and 160° in MV2. Assume that the input for both patterns is *θ*_{1}, which changes within the range between 0 and 180° at a step of 1°. For each input, the single-vertex subsystems at V_{1}, V_{2}, V_{3} and V_{4} along the closed path are analysed sequentially, and the results from all subsystems in each pattern are summarized. Only results from a few intermediate folded configurations are listed in table 1 for pattern MV1 and table 2 for pattern MV2. As shown in table 1, the common dihedral angle *θ*_{2} in the first subsystem around vertex V_{1} and the last one around V_{4} stays consistent throughout folding; while in table 2, two *θ*_{4}’s shared by the first and the last subsystems have quite different values in them. Since the path must be closed, it can be concluded that pattern MV1 is globally compatible, rigidly foldable for 0≤*θ*_{1}≤180° and flat foldable, while pattern MV2 cannot be folded rigidly at all.

The judgment of relative positions of panels turns out to be unnecessary for all of the examples presented above, and thus inequalities (4.1) have not been used.

## 6. Checking rigid foldability

Belcastro & Hull (2002) have proved that the loop-closure condition only provided a necessary condition for rigid foldability, i.e. configurations that satisfy the condition may never be reachable owing to self-intersection. A pattern they used to demonstrate that is shown in figure 11*a*, in which five layout angles *α*_{12}, *α*_{23}, *α*_{34}, *α*_{45} and *α*_{51} are 90°, 90°, 45°, 90° and 45°, respectively. Figure 11*b* displays an imaginary three-dimensional configuration of the pattern, with dihedral angles *θ*_{1}, *θ*_{2}, *θ*_{3}, *θ*_{4} and *θ*_{5} being 90°, 0, 90°, 360° and 0, respectively. Such a three-dimensional shape does satisfy the loop-closure condition but clearly cannot exist physically because of self-intersection.

To detect self-intersection, Justin (1997) has proposed a non-crossing condition, and conjectured it to be the necessary and sufficient condition for general flat foldability. A strategy of assigning the superposition order to multiple layers of overlapping panels was suggested. However, it is generally not regarded to be very computationally feasible (Hull 2001). However, it is found that the QRS method based on the rotation vector model can actually give sound judgment of self-intersection of some three-dimensional configurations, thus promisingly provides the sufficient condition of rigid foldability.

### (a) Example 6: Belcastro and Hull’s pattern

Apply the QRS method to the pattern shown in figure 11*a*. The pattern has five creases and a single vertex, and thus it has two d.f. according to equation (2.2). Take *θ*_{1} and *θ*_{2} as the two required inputs, both varying between 0 and 180° owing to around-valley creases. The range constraints imposed on the other three unknown dihedral angles are 0≤*θ*_{3}≤180°, 180°≤*θ*_{4}≤360° and 0≤*θ*_{5}≤180° based on equation (2.1). Applying the QRS method, it shows that the negligible optimization errors (in the order of below 10^{−10}) only appear in the region above the curved boundary, namely , and along line *θ*_{2}=0, namely , see figure 12*a*, whereas errors from the rest become significant (at least above 10^{−2}). From an initially flat sheet, i.e. *θ*_{1}=*θ*_{2}=180°, the given pattern can be continuously and rigidly folded to any state in . Figure 12*b* displays values of *θ*_{3} for area . *θ*_{3}=0 along the curved boundary, while *θ*_{4} and *θ*_{5} have yet to reach the limits of their respective constrains.

The QRS method shows that also corresponds to the configurations that satisfy loop-closure equation (3.10). These configurations have 0≤*θ*_{1}≤180°, *θ*_{3}=180°−*θ*_{1}, *θ*_{4}=360° and *θ*_{5}=0. As a matter of fact, the configuration shown in figure 11*b* is one of them. is connected to at *θ*_{1}=180°, as shown in figure 12*a*.

To determine whether the configurations in are actually attainable rigid-foldable configurations requires the use of relative panel positions. For a rigid-foldable configuration C1 within , all of its characteristic vectors **e**_{i} and **n**_{i} (*i*=1,2,3,4,5) can be derived via the rotation scheme in figure 2, and then based on inequalities (4.1), the relative positions of each panel and those edges adjacent to it can be marked by positive or negative signs in table 3. For another configuration along the *θ*_{2}=0 line, such as the configuration in figure 11*b*, referred to as C2, the relative panel positions can also be worked out. It turns out that one of the signs in C2 is different from their counterparts in C1. In fact, all of the configurations in have the same signs as those of C2 except at *θ*_{1}=180° and *θ*_{2}=0, which is the border between and . At the border, the signs are the same as those of C1.

Hence, it can be concluded that the configurations in cannot be rigidly folded to form an attainable configuration, and the attainable rigidly foldable limit is at where and meets.

Examples 2, 3, 4 and 6 show that the QRS method, together with the information on relative positions of panels, can detect self-intersection, as well as identify the full range of the folded states of given patterns. Most unattainable states with self-intersection can be ruled out by the range constraints employed by the QRS method without using the panel positions, whereas for a small group of patterns, e.g. Belcastro and Hull’s pattern, determination of relative positions of panels based on the rotating vector model is necessary.

## 7. The DQTS method

Similar to the analogy between the single-vertex origami and the spherical linkage, multi-vertex origami is parallel to the spatial linkage, consisting of the rotating vector model at individual vertices. The dual quaternion, as amalgamation of the dual number and quaternion, had been applied to the kinematic analysis of spatial linkages in the past, among which a comprehensive and pioneering work was conducted by Yang (1963) and Yang & Freudenstein (1964). The DQTS method presented below employs dual quaternions to construct a loop-closure relation for the multi-vertex crease pattern, where characteristic vectors projected from multiple vertices are involved in one closed-loop transformation sequence.

A dual quaternion is defined as
7.1
where *a*_{1}−*a*_{8} are eight real number components; **i**, **j** and **k** are imaginary units and *ε* is the dual unit satisfying *ε*^{2}=0. For simplicity, in this paper, we use its vector expression of eight components as below:
7.2
For the basic dual-quaternion algebra, see Yang (1963) and McCarthy (1990). Its special features include non-commutative multiplication and multiple definitions of the complex conjugate depending on different application situations.

To present the DQTS method, we still use pattern MV1 in figure 10*a* with loop-enclosing vertices from V_{1} to V_{4}. Establish characteristic vectors at each vertex, such as **e**_{2_V1} for the edge vector along edge E_{2} and projected from vertex V_{1}. Instead of setting up multiple local coordinate frames as in example 4 above, here only introduce one global coordinate frame, i.e. the one with its origin at vertex V_{1}, *x*-axis along **e**_{2_V1} and *z*-axis along **n**_{1_V1}. So, to start the transformation sequence, two initial vectors are **e**_{2_V1}={1, 0, 0} and **n**_{1_V1}={0, 0, 1}. Convert both into the dual-quaternion expression as
7.3
and
7.4
Also convert the position vector **P**_{V1}={0, 0, 0} of the origin V_{1} into a dual quaternion
7.5
Along the given closed path anticlockwise, the first step is to rotate **e**_{2_V1} around **n**_{1_V1} through *α*_{2,3}, which leads to **e**_{3_V1}. This pure rotation operation can be represented by
7.6
where , *i*=6,7,8, represents the *i*th component of . Vector **e**_{3_V1} resulting from this rotation consists of the sixth, seventh and eighth components of the following dual quaternion:
7.7

Subsequent characteristic vectors projected from the same vertex V_{1} can be reached by pure rotations, like in a single-vertex system. Yet, after vectors **n**_{3_V1} and **e**_{1_V1} are derived, we need to move on to the vertex V_{2}. This needs different representations. Two initial vectors among those projected from V_{2} can be readily attained via
7.8
Denote the crease length between V_{1} and V_{2} by *d*_{1}. The translation from V_{1} to V_{2} in the direction of **e**_{1_V1} can be represented by
7.9
The position vector **P**_{V2} of vertex V_{2} corresponds to a dual quaternion , which is
7.10
Other transformation operations along the path, as well as the position vectors of the subsequent vertices, can be represented similarly.

Finally, when the path returns to its staring point, two initial vectors can be reconstructed, as well as the position of the origin. Denote them by **e**_{2_V1_f}, **n**_{1_V1 _f} and **P**_{V1 _f}, respectively. The loop-closure equations in terms of dual quaternions can therefore be established as
7.11
Equation system (7.11) incorporates all layout angles, dihedral angles and crease lengths involved in the closed path, so that characteristic vectors projected from a number of vertices are directly related. Compared with the QRS method when dealing with the multi-vertex pattern, the DQTS method operates in a more global sense. As to the configuration calculation, since the dual quaternion rotation sequence (DQRS) method simultaneously incorporates more angles and even crease lengths, it requires more inputs to solve the loop-closure equation system. Yet, on the other hand, with the involvement of crease lengths, it is able to track the changing positions of those vertices enclosed by the big loop during folding.

### (a) Example 7: a multi-vertex pattern

Applying the DQRS method to pattern MV1 shown in figure 10*a* requires to assign crease lengths. Let the lengths of the crease between adjacent vertices be four. We are able to show that the dihedral angles given in table 1 do meet the loop-closure condition (7.11). Moreover, the trajectories of its four vertices during folding can be derived, as shown in figure 13.

## 8. Summary

In this paper, we established a rotating vector model for the single-vertex crease system, which incorporates pattern and configuration information into a closed-loop rotation sequence of its characteristic vectors. Compared with the other existing rigid origami models, the model is able to represent arbitrary three-dimensional rigid configurations. The rotation scheme employed in the model is actually borrowed from that of the spherical linkage, owing to direct correspondence between the single-vertex rigid origami and the spherical linkage.

We then employed the mathematical tools of quaternions and dual quaternions to study rigid origami, leading to the numerical QRS method and the DQTS method. Moreover, we developed a way to track panel positions during folding. Through a number of examples, we demonstrated that the QRS method with panel position information can track the entire rigid-folding procedure of an initially flat or a non-flat pattern with single or multiple vertices, and thereby provide judgment for its rigid foldability and flat foldability.

The panel position information can be extended to non-adjacent panels. However, this may lead to other difficulties in the cases where non-adjacent panels rest at the same level. Further investigation is required to detect self-intersection of non-adjacent panels.

The DQTS method using dual quaternions is developed as a tool to specially analyse the multi-vertex patterns, to judge its rigid and flat foldability in a global sense concerning all panels crossed by a selected closed path and to derive trajectories of vertices encircled by it during folding. More complicated multi-vertex patterns can be analysed by picking up more than one path, so as to ensure that every panel is covered by at least one path. Its efficiency for very complicated patterns could be improved further by better schemes for path selection.

## Acknowledgements

W.W. wishes to acknowledge the financial support from the University of Oxford in the form of a Clarendon Scholarship. Z.Y. is grateful to Erik D. Demaine, Martin L. Demaine and John Ochsendorf of MIT who first exposed him to the exciting problem of the rigid origami. The authors also thank Mrs A. May for proof reading the manuscript.

## Footnotes

- Received November 24, 2009.
- Accepted January 25, 2010.

- © 2010 The Royal Society