<?xml version="1.0" encoding="iso-8859-1"?>
<!-- tenseg/book/chap4_3.xml  A Practical Guide to Tensegrity Design
     Copyright 2004-2008 Robert William Burkhardt, Jr. -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" 
          "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
          [<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">]>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1"/>
<meta name="keywords"
      content="tensegrity, treatise, how-to, primer, thesis, mathematics,
               tetrahedron, zig-zag"/>
<meta name="description"
      content="Mathematics of designing zig-zag tensegrities based on higher-frequency geodesic breakdowns."/>
<title>A Practical Guide to Tensegrity Design:
4.3&nbsp;Zig-Zag Structures</title>
<link rel="stylesheet" type="text/css" href="tenseg.css"/>
</head>

<body>
<p class="link">
A Practical Guide to Tensegrity Design<br/>
<a href="index.html#chap4_3">Table of Contents</a><br/>
4.2&nbsp;<a href="chap4_2.xml">Diamond Structures</a>
</p>

<p class="section-header-level1" id="zigzag">
4.3&nbsp;Zig-Zag Structures
</p>

<!-- Ref:  Notes 4/15/86, v4tetra/bkzztt.rc -->

<p class="section-header-level2" id="zigzag_geom">
4.3.1&nbsp;Zig-Zag Structures:
Descriptive Geometry
</p>

<p>
A zig-zag structure retains the struts and tendon triangles of
the corresponding diamond structure; however, now adjacent tendon
triangles are interconnected with only one tendon instead of two.
This single tendon connects the "noses" of the two tendon triangles. 
Examination of the structure from the struts' point of view shows
each strut is traversed by a "zig-zag" of three tendons.  The
simplest zig-zag tensegrity is the t-tetrahedron examined
in <a href="chap2_4.xml">Section&nbsp;2.4</a>
(<a href="chap2_4.xml#fig_ttet_nocoord">Figure&nbsp;2.8</a>).
Again, since more complex zig-zag structures
are not amenable to the treatment used in that simple
structure, the general procedure is illustrated using the zig-zag
version of the 4&nu; t-tetrahedron examined in
<a href="chap4_2.xml">Section&nbsp;4.2</a>.
</p>

<table id="fig_zztt_struts" class="center"><tr align="center"><td>
<img src="zztt_struts.png" width="288" height="448"
 alt="three triangles connected by two solid struts with point labels"/><br/>
Figure 4.9:  4&nu; Zig-Zag T-Tetrahedron:  Representative Struts
</td></tr></table>

<div class="spacer"><br/><br/></div>

<table id="fig_zztt_tendons" class="center"><tr align="center"><td>
<img src="zztt_tendons.png" width="292" height="448"
 alt="three triangles connected by two dashed tendons with point labels"/><br/>
Figure 4.10:  4&nu; Zig-Zag T-Tetrahedron:  Representative Tendons
</td></tr></table>

<p>
Figures <a href="#fig_zztt_struts">4.9</a>
and <a href="#fig_zztt_tendons">4.10</a>
respectively show representative examples
of the interconnecting struts and tendons.  In these figures, the
model has been expanded so that the struts are longer than in the
initial geodesic calculation, while the tendon triangles remain
the same size.  This is done since, in the initial configuration,
the noses of the tendon triangles touch each other and so the
interconnecting zig-zag tendons have zero length.
Expanding the structure without increasing the sizes of the tendon triangles
gives the interconnecting tendons a non-zero
length.  The lengths of these tendons can be minimized to get a
valid tensegrity.  In the initial configuration, these tendons
are certainly of minimum length,
and the structure is theoretically a tensegrity in that
configuration, but practically it isn't an interesting solution since the
<math xmlns="&mathml;">
<msub><mi>s</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub></math>
strut and its transformations intersect each other.
<!-- Ref:  v4tetra/bkzztt2.rc2 and v4tetra/bkzztt3.rc2 -->
</p>

<p class="section-header-level2" id="zigzag_math">
4.3.2&nbsp;Zig-Zag Structures:
Mathematical Model
</p>

<p>
The list of points is the same as that in
<a href="chap4_2.xml#diamond_math">Section&nbsp;4.2.2</a>,
as is the list of constrained members.
To avoid the problem
of ending up with a solution in which the minimum of the
objective is zero, the struts
<math xmlns="&mathml;">
<msub><mi>s</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub></math>
and <math xmlns="&mathml;">
<msub><mi>s</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub></math>
are lengthened from <math xmlns="&mathml;"><msqrt><mn>2</mn></msqrt></math>
and 0.919401 to 2 and <math xmlns="&mathml;"><msqrt><mn>3</mn></msqrt></math>
respectively.  In the objective
function the diamond tendons of
<a href="chap4_2.xml#diamond_math">Section&nbsp;4.2.2</a>,
<math xmlns="&mathml;">
<msub><msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub><mn>1</mn></msub>
</math>,
<math xmlns="&mathml;">
<msub><msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub><mn>2</mn></msub>
</math>,
<math xmlns="&mathml;">
<msub><msub><mi>t</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub><mn>1</mn></msub>
</math> and
<math xmlns="&mathml;">
<msub><msub><mi>t</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub><mn>2</mn></msub>
</math>,
are replaced by the zig-zag tendons
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub>
</math> and
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub>
</math>.
As mentioned, their initial lengths are zero.
<a href="#tab_zzttzztep">Table&nbsp;4.10</a>
enumerates the end points of these additional members.
</p>

<table id="tab_zzttzztep" class="center"><tr><td align="center">
<table rules="groups" border="1">
<colgroup></colgroup>
<colgroup></colgroup>
<thead>
<tr valign="bottom"><td align="center">&nbsp;Member&nbsp;<br/>
<table cellpadding="0" cellspacing="0" border="0" rules="none" width="100%">
<tr><td class="w50" align="center">#</td>
<td class="w50" align="center">ID</td></tr></table></td>
<td><table cellpadding="0" cellspacing="0" rules="none" width="100%"><tr>
<td>&nbsp;End&nbsp;Points&nbsp;</td></tr></table></td>
<td><table cellpadding="0" cellspacing="0" rules="none" width="100%"><tr>
<td>&nbsp;Comments&nbsp;</td></tr></table></td></tr>
</thead>
<tbody>
<tr><td>
<table cellpadding="0" cellspacing="0"  rules="none" width="100%">
<tr><td class="w50" align="center">7</td>
<td class="w50" align="center">
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub>
</math></td></tr>
<tr><td class="w50" align="center">8</td>
<td class="w50" align="center">
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub>
</math></td></tr>
</table></td>
<td>
<table cellpadding="0" cellspacing="0"  rules="none" width="100%">
<tr><td class="w50" align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>3</mn></msub></math></td>
<td class="w50" align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>4</mn></msub></math></td></tr>
<tr><td class="w50" align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>1</mn></msub></math></td>
<td class="w50" align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>5</mn></msub></math></td></tr>
</table></td>
<td><table cellpadding="0" cellspacing="0" rules="none" class="fill">
<tr><td>&nbsp;To be minimized&nbsp;</td></tr>
<tr><td>&nbsp;To be minimized&nbsp;</td></tr>
</table></td></tr>
</tbody>
</table>
</td></tr><tr><td align="center">
&nbsp;<br/>Table&nbsp;4.10:  4&nu; Zig-Zag T-Tetrahedron:
Zig-Zag Tendon End Points
</td></tr></table>

<p>
The relevant mathematical programming problem becomes:
</p>

<p class="center">
<math xmlns="&mathml;"><mtable>
<mtr><mtd><mtext>minimize</mtext></mtd>
<mtd>
 <mrow><mi>o</mi><mo>&equiv;</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>3</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>4</mn></msub></mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>5</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow>
 </mtd></mtr>

 <mtr><mtd><mrow>
 <msub><mi>P</mi><mn>1</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>2</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>3</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>4</mn></msub>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd></mtr>
 <mtr><mtd><mtext>subject to</mtext></mtd>
 <mtd><mtext>Tendon constraints:</mtext></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac>
 <mo>&ge;</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>2</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mo>tan</mo>
 <mfenced><mfrac><mn>&pi;</mn><mn>12</mn></mfrac></mfenced>
 <mo>&ge;</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>3</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mo>tan</mo>
 <mfenced><mfrac><mn>&pi;</mn><mn>12</mn></mfrac></mfenced>
 <mo>&ge;</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>2</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>3</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mn>1</mn>
 <mo>&ge;</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>4</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>7</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd><mtd><mtext>Strut constraints:</mtext></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mo>-</mo><mn>4</mn>
 <mo>&ge;</mo>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>7</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
 <mtr><mtd></mtd><mtd><mrow><mo>-</mo><mn>3</mn>
 <mo>&ge;</mo>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>2</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>6</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mtd></mtr>
</mtable>
</math>
</p>

<p>
As before, only the coordinates of
<math xmlns="&mathml;"><msub><mi>P</mi><mn>1</mn></msub></math>,
<math xmlns="&mathml;"><msub><mi>P</mi><mn>2</mn></msub></math>,
<math xmlns="&mathml;"><msub><mi>P</mi><mn>3</mn></msub></math> and
<math xmlns="&mathml;"><msub><mi>P</mi><mn>4</mn></msub></math>
are variables in the minimization process since the coordinates of
<math xmlns="&mathml;"><msub><mi>P</mi><mn>5</mn></msub></math>,
<math xmlns="&mathml;"><msub><mi>P</mi><mn>6</mn></msub></math> and
<math xmlns="&mathml;"><msub><mi>P</mi><mn>7</mn></msub></math>
are specified to be symmetry transforms of the coordinates of these points.
Also, all inequality constraints are assumed to be met with equality.
</p>

<p class="section-header-level2" id="zigzag_solution">
4.3.3&nbsp;Zig-Zag Structures:  Solution
</p>

<p>
With the increased lengths of the struts, the initial values
used for the problem no longer satisfy the constraints.
With the best partitioning of the system (that used in
<a href="chap4_2.xml#diamond_solution">Section&nbsp;4.2.3</a>),
Newton's method diverges
when it is applied to the system to solve the constraint
equations.  So, in this case, the penalty formulation is
used with a penalty value of
<math xmlns="&mathml;"><mrow>
<mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>=</mo>
<msup><mn>10</mn><mn>5</mn></msup></mrow></math>.
The problem thus becomes:
</p>

<p class="center">
<math xmlns="&mathml;"><mtable>
<mtr><mtd><mtext>minimize</mtext></mtd>
<mtd>
 <mrow>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>3</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>4</mn></msub></mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>5</mn></msub></mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo><msup>
 <mfenced open="[" close="]"><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>2</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo></mrow></mtd></mtr>

 <mtr><mtd><mrow>
 <msub><mi>P</mi><mn>1</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>2</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>3</mn></msub><mo>,</mo>
 <msub><mi>P</mi><mn>4</mn></msub>
 </mrow></mtd><mtd>
 <mrow><mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo>
 <msup>
 <mfenced open="[" close="]"><mrow><mo>tan</mo>
 <mfenced><mfrac><mn>&pi;</mn><mn>12</mn></mfrac></mfenced>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>3</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo><msup>
 <mfenced open="[" close="]"><mrow><mo>tan</mo>
 <mfenced><mfrac><mn>&pi;</mn><mn>12</mn></mfrac></mfenced>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>2</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>3</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 </mrow>
 </mtd></mtr>
 <mtr><mtd></mtd><mtd>
 <mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo><msup>
 <mfenced open="[" close="]"><mrow><mn>1</mn>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>4</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>7</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo><msup>
 <mfenced open="[" close="]"><mrow><mn>4</mn>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>1</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>7</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 <mo>+</mo>
 <mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>&InvisibleTimes;</mo><msup>
 <mfenced open="[" close="]"><mrow><mn>3</mn>
 <mo>-</mo>
 <msup><mfenced open="|" close="|"><mrow><msub><mi>P</mi><mn>2</mn></msub>
 <mo>-</mo><msub><mi>P</mi><mn>6</mn></msub></mrow></mfenced><mn>2</mn></msup>
 </mrow></mfenced><mn>2</mn></msup>
 </mtd></mtr>
</mtable>
</math>
</p>

<p>
Ten iterations
of the method of Fletcher-Reeves
are applied to this reformulated objective function.  These iterations
bring the constraints close enough to a solution that
the penalty formulation can be discarded for the exact
formulation.  Another ten iterations of Fletcher-Reeves bring
the system to a solution.
</p>

<p>
The final values for the lengths of members in the objective
function are summarized in <a href="#tab_zzttflen">Table&nbsp;4.11</a>.
The corresponding point values are summarized in
<a href="#tab_zzttfpc">Table&nbsp;4.12</a>.
</p>

<table id="tab_zzttflen" class="center"><tr><td align="center">
<table rules="groups" border="1">
<colgroup></colgroup>
<thead>
<tr valign="bottom"><td align="center">&nbsp;Member&nbsp;<br/>ID</td>
<td align="center">&nbsp;Length&nbsp;</td>
</tr>
</thead>
<tbody>
<tr><td align="center">
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>a</mi><mi>b</mi></mrow></msub>
</math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>0.579238</mn></math>&nbsp;</td></tr>
<tr><td align="center">
<math xmlns="&mathml;">
<msub><mi>t</mi><mrow><mi>b</mi><mi>b</mi></mrow></msub>
</math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>0.838431</mn></math>&nbsp;</td></tr>
</tbody>
</table>
</td></tr><tr><td align="center">
&nbsp;<br/>Table&nbsp;4.11:  4&nu; Zig-Zag T-Tetrahedron:
Final Objective Member Lengths
</td></tr></table>

<div class="spacer"><br/><br/></div>

<table id="tab_zzttfpc" class="center"><tr><td align="center">
<table rules="groups" border="1">
<colgroup></colgroup>
<thead>
<tr><td></td><td colspan="3" align="center">Coordinates</td></tr>
<tr><td align="center">&nbsp;Point&nbsp;</td>
<td align="center">
&nbsp;&nbsp;<math xmlns="&mathml;"><mi>x</mi></math>&nbsp;&nbsp;</td>
<td align="center">
&nbsp;&nbsp;<math xmlns="&mathml;"><mi>y</mi></math>&nbsp;&nbsp;</td>
<td align="center">
&nbsp;&nbsp;<math xmlns="&mathml;"><mi>z</mi></math>&nbsp;&nbsp;</td>
</tr>
</thead>
<tbody>
<tr><td align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>1</mn></msub></math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.374465</mn></math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mrow><mo>-</mo><mn>0.537613</mn></mrow>
</math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.081334</mn></math>&nbsp;</td></tr>

<tr><td align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>2</mn></msub></math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.008191</mn></math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mrow><mo>-</mo><mn>0.399971</mn></mrow>
</math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.505871</mn></math>&nbsp;</td></tr>

<tr><td align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>3</mn></msub></math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.314861</mn></math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mrow><mo>-</mo><mn>0.058122</mn></mrow>
</math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.267036</mn></math>&nbsp;</td></tr>

<tr><td align="center">
<math xmlns="&mathml;"><msub><mi>P</mi><mn>4</mn></msub></math></td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.067078</mn></math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>0.464915</mn></math>&nbsp;</td>
<td align="right">
&nbsp;<math xmlns="&mathml;"><mn>1.243542</mn></math>&nbsp;</td></tr>
</tbody>
</table>
</td></tr><tr><td align="center">
&nbsp;<br/>Table&nbsp;4.12:  4&nu; Zig-Zag T-Tetrahedron:
Final Coordinate Values
</td></tr></table>

<p>
The value of the objective function is 1.03848.  In this
structure, there is no problem with non-effective constraints as
there is in the previous structure.
<a href="#fig_v4zztt">Figure 4.11</a> shows the final design.
</p>

<table id="fig_v4zztt" class="center"><tr align="center"><td>
<!-- Ref:  bkzztt.pov -->
<img src="v4zztt.png" width="476" height="446"
 alt="view of final design for 4v zig-zag t-tetrahedron"/><br/>
Figure 4.11:  4&nu; Zig-Zag T-Tetrahedron:  Final Design
</td></tr></table>

<p class="link">
<a href="index.html#chap4_3">Table of Contents</a><br/>
5&nbsp;<a href="chap5_1.html">Double-Layer Tensegrities</a>
</p>

</body>
</html>

