<?xml version="1.0" encoding="iso-8859-1"?>
<!-- tenseg/book/chap2_4.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, basic, simple,
               mathematics, tetrahedron, zig-zag"/>
<meta name="description"
      content="A mathematical description of the tensegrity tetrahedron,
               a basic tensegrity structure."/>
<title>A Practical Guide to Tensegrity Design:
2.4&nbsp;T-Tetrahedron:  A Zig-Zag Tensegrity</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#chap2_4">Table of Contents</a><br/>
2.3&nbsp;<a href="chap2_3.xml">T-Icosahedron:  A Diamond Tensegrity</a>
</p>

<p class="section-header-level1" id="ttet">
2.4&nbsp;T-Tetrahedron:  A Zig-Zag Tensegrity
</p>

<!-- Ref: Notes 7/12/81, 12/29/81 -->

<table id="fig_ttet_nocoord" class="center"><tr align="center"><td>
<img src="ttet_nocoord.png" width="419" height="353"
 alt="idealized tensegrity tetrahedron"/><br/>
Figure 2.8:  Tensegrity Tetrahedron
</td></tr></table>

<p>
The t-tetrahedron is illustrated in
<a href="#fig_ttet_nocoord">Figure&nbsp;2.8</a>.
It was first exhibited by Francesco della Sala at the University of Michigan
in 1952.<sup><a href="#tx17" id="rf17">17</a></sup>
It is called a
"zig-zag" tensegrity because each strut is supported by two other
struts tied into a zig-zag of three tendons spanning the strut. 
The t-tetrahedron is the zig-zag counterpart of the diamond
t-icosahedron examined in <a href="chap2_3.xml">Section&nbsp;2.3</a>.  Both
structures have six struts.  The t-tetrahedron has four tendon
triangles, whereas the t-icosahedron has eight.
</p>

<p>
Closer examination of these two structures yields another way
the diamond and zig-zag forms can be contrasted.
Four non-adjacent triangles of the t-icosahedron can be chosen to
correspond to those of the t-tetrahedron.  Each of these four triangles
is connected
to its three partners by two tendons
(see <a href="#fig_toct_nocoord">Figure&nbsp;2.4</a>).
For each pair of triangles, the "nose" of one
is connected to the "ear" of the other (assuming
the two triangles are looking at each other).  This contrasts with
the t-tetrahedron where each triangle is connected to each of its
neighbors with a single tendon connecting the "noses" of the two
triangles.  With fewer tendons, the t-tetrahedron
is simpler and less rigid than its diamond counterpart.
In general, due to the use of fewer tendons, zig-zag structures
are simpler and less rigid than their diamond counterparts.
</p>

<p>
The mathematical model for this structure is based on the
structure itself and doesn't refer to any 3D coordinate systems.
The mathematical analysis relies heavily on results from
spherical trigonometry.<sup><a href="#tx18" id="rf18">18</a></sup>
</p>

<table id="fig_ttet_coord" class="center"><tr align="center"><td>
<img src="ttet_coord.png" width="399" height="420"
 alt="four triangles skewered on four tetrahedrally-oriented axes"/><br/>
Figure 2.9:  T-Tetrahedron:  Mathematical Model
</td></tr></table>

<p>
<a href="#fig_ttet_coord">Figure&nbsp;2.9</a>
illustrates the model for analyzing the
t-tetrahedron.  The t-tetrahedron can be conceived of as four
triangles mounted on four rays extending from the center of the
tetrahedron.  The angle between any two of these rays is denoted by
<math xmlns="&mathml;">
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover>
</math>.
The main interest here is in
<math xmlns="&mathml;"><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></math>
which is approximately
<math xmlns="&mathml;"><mn>54.736&deg;</mn></math>
(<math xmlns="&mathml;"><mrow><mo>cos</mo>
<mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced><mo>=</mo>
<msqrt><mfrac><mn>1</mn><mn>3</mn></mfrac></msqrt></mrow></math>;
<math xmlns="&mathml;"><mrow><mo>sin</mo>
<mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced><mo>=</mo>
<msqrt><mfrac><mn>2</mn><mn>3</mn></mfrac></msqrt></mrow></math>).
Two of these rays and the corresponding triangles have been
included in <a href="#fig_ttet_detail">Figure&nbsp;2.10</a>.
</p>

<p>
All four triangles are symmetrical with
respect to each other and have fixed radius
<math xmlns="&mathml;"><mover><mi>r</mi><mo>&OverBar;</mo></mover></math>.
This symmetry allows only two methods of transforming a triangle:
moving it in and out along its ray and
rotating it about that ray.
This symmetry also dictates that if one triangle rotates
counter-clockwise,<sup><a href="#tx19" id="rf19">19</a></sup>
the other triangles rotate
correspondingly.  It is assumed that initially the triangles are
oriented so they are all pointing at each other.  The
rotation angle is denoted by <math xmlns="&mathml;"><mi>&theta;</mi></math>.
</p>

<p>
As mentioned, each pair of triangles
is connected by a tendon (whose length is minimized) and a
strut as well (whose length represents a constraint).  It is assumed
that the tendon runs between the two triangle vertices which are
initially pointing at each other and that the strut runs between
the two vertices <math xmlns="&mathml;"><mn>120&deg;</mn></math>
(<math xmlns="&mathml;"><mrow><mo>=</mo><mfrac>
<mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow><mn>3</mn>
</mfrac></mrow></math>)
counter-clockwise from the vertices attached to the tendon.
</p>

<table id="fig_ttet_detail" class="center"><tr align="center"><td>
<img src="ttet_detail.png" width="195" height="408"
 alt="two triangles skewered on two tetrahedrally-oriented axes with math annotation"/><br/>
Figure 2.10:  T-Tetrahedron:  Mathematical Model (Detail)
</td></tr></table>

<p>
Since both triangles are orthogonal to their corresponding
rays, all their vertices are the same distance from the center of
the tetrahedron.  This distance is denoted
<math xmlns="&mathml;"><mrow><mi>r</mi><mo>'</mo></mrow></math>.  Thus all the
vertices can be conceived of as being located on a circumscribing sphere
of radius <math xmlns="&mathml;"><mrow><mi>r</mi><mo>'</mo></mrow></math>.
Two symmetrical instances of these vertices are
labeled <math xmlns="&mathml;"><mi>V</mi></math> and
<math xmlns="&mathml;"><mrow><mi>V</mi><mo>'</mo></mrow></math>.
Other important points on this sphere are where
the rays intersect it.  These are labeled
<math xmlns="&mathml;"><mi>U</mi></math> and
<math xmlns="&mathml;"><mrow><mi>U</mi><mo>'</mo></mrow></math>.
</p>

<p>
The arc corresponding to the tendon
(<math xmlns="&mathml;"><mover accent="false"><mrow><mi>V</mi>
 <mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
 </mover></math>),
the arc connecting the center points of the two triangles
(<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>&InvisibleTimes;</mo><mi>U</mi><mo>'</mo></mrow><mo>&circ;</mo>
 </mover></math>),
and the arcs corresponding to the
radii of the two triangles
(<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>&InvisibleTimes;</mo><mi>V</mi></mrow><mo>&circ;</mo>
 </mover></math> and
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
<mo>'</mo><mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
</mover></math>)
define two spherical triangles.
These two triangles touch each other at the point where
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>&InvisibleTimes;</mo><mi>U</mi><mo>'</mo></mrow><mo>&circ;</mo>
 </mover></math>
and
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>V</mi>
 <mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
 </mover></math>
intersect.  This point is labeled <math xmlns="&mathml;"><mi>W</mi></math>.
The symmetry of the structure dictates that the
corresponding parts of these two triangles must be
equal.<sup><a href="#tx20" id="rf20">20</a></sup>
This means that the arcs
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>&InvisibleTimes;</mo><mi>W</mi></mrow><mo>&circ;</mo>
 </mover></math> and
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>'</mo><mo>&InvisibleTimes;</mo><mi>W</mi></mrow><mo>&circ;</mo>
 </mover></math>
are equal and their common measure is
<math xmlns="&mathml;"><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></math>.
Also
<math xmlns="&mathml;"><mrow><mover accent="false"><mrow><mi>V</mi>
 <mo>&InvisibleTimes;</mo><mi>W</mi></mrow><mo>&circ;</mo>
 </mover><mo>=</mo>
 <mover accent="false"><mrow><mi>V</mi>
 <mo>'</mo><mo>&InvisibleTimes;</mo><mi>W</mi></mrow><mo>&circ;</mo>
 </mover><mo>=</mo>
 <mfrac><mover accent="false"><mrow><mi>V</mi>
 <mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
 </mover><mn>2</mn></mfrac>
 </mrow></math>
</p>

<p>
The angular measure of
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>V</mi>
<mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
</mover></math> is denoted <math xmlns="&mathml;"><mi>&gamma;</mi></math>.
It is useful to know how <math xmlns="&mathml;"><mi>&gamma;</mi></math>
changes as a
function of the twist angle <math xmlns="&mathml;"><mi>&theta;</mi></math>
and the
sphere radius <math xmlns="&mathml;"><mrow><mi>r</mi><mo>'</mo></mrow></math>.
This length can be computed using the Law of
Cosines of Spherical Trigonometry.  That law yields:
</p>

<p class="center">
<math xmlns="&mathml;"><mrow>
<mo>cos</mo><mfenced><mfrac><mi>&gamma;</mi><mn>2</mn></mfrac></mfenced>
<mo>=</mo>
<mo>cos</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&sdot;</mo><mo>cos</mo><mi>&alpha;</mi><mo>+</mo>
<mo>sin</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&sdot;</mo><mo>sin</mo><mi>&alpha;</mi>
<mo>&sdot;</mo><mo>cos</mo><mi>&theta;</mi>
</mrow></math>
</p>

<p>
where <math xmlns="&mathml;"><mi>&alpha;</mi></math>
denotes the arc length of
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
 <mo>&InvisibleTimes;</mo><mi>V</mi></mrow><mo>&circ;</mo>
 </mover></math>
which equals the arc length of
<math xmlns="&mathml;"><mover accent="false"><mrow><mi>U</mi>
<mo>'</mo><mo>&InvisibleTimes;</mo><mi>V</mi><mo>'</mo></mrow><mo>&circ;</mo>
</mover></math>.
By inspection, it can be seen that
<math xmlns="&mathml;"><mrow><mo>sin</mo><mi>&alpha;</mi><mo>=</mo>
<mfrac><mover><mi>r</mi><mo>&OverBar;</mo></mover>
<mrow><mi>r</mi><mo>'</mo></mrow></mfrac></mrow></math>
and therefore
<math xmlns="&mathml;"><mrow><mo>cos</mo><mi>&alpha;</mi><mo>=</mo>
<msqrt><mrow><mn>1</mn><mo>-</mo>
<mfrac><msup><mover><mi>r</mi><mo>&OverBar;</mo></mover><mn>2</mn></msup>
<msup><mi>r'</mi><mn>2</mn></msup></mfrac></mrow></msqrt>
</mrow></math>
so:
</p>

<table class="center">
<tr><td>
<math xmlns="&mathml;"><mrow>
<mo>cos</mo><mfenced><mfrac><mi>&gamma;</mi><mn>2</mn></mfrac></mfenced>
<mo>=</mo>
<mfrac><mrow>
<mo>cos</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&InvisibleTimes;</mo><msqrt><mrow>
<msup><mi>r'</mi><mn>2</mn></msup><mo>-</mo>
<msup><mover><mi>r</mi><mo>&OverBar;</mo></mover><mn>2</mn></msup>
</mrow></msqrt><mo>+</mo>
<mo>sin</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&sdot;</mo><mover><mi>r</mi><mo>&OverBar;</mo></mover>
<mo>&sdot;</mo><mo>cos</mo><mi>&theta;</mi>
</mrow><mi>r'</mi></mfrac>
</mrow></math><br/>
<math xmlns="&mathml;"><mrow>
<mphantom>
<mo>cos</mo><mfenced><mfrac><mi>&gamma;</mi><mn>2</mn></mfrac></mfenced>
</mphantom>
<mo>=</mo>
<mfrac><mrow><mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced></mrow>
<mi>r'</mi></mfrac>
</mrow></math>
</td></tr>
</table>

<p>
For convenience, the functional notation
</p>

<p class="center">
<math xmlns="&mathml;"><mrow>
<mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&equiv;</mo>
<mo>cos</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&InvisibleTimes;</mo><msqrt><mrow>
<msup><mi>r'</mi><mn>2</mn></msup><mo>-</mo>
<msup><mover><mi>r</mi><mo>&OverBar;</mo></mover><mn>2</mn></msup>
</mrow></msqrt><mo>+</mo>
<mo>sin</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&sdot;</mo><mover><mi>r</mi><mo>&OverBar;</mo></mover>
<mo>&sdot;</mo><mo>cos</mo><mi>&theta;</mi>
</mrow></math>
</p>

<p>
denotes part of this expression. 
Note that only values which are variables in the analysis
appear explicitly as arguments in this function.
</p>

<p>
From this cosine value, the
length of the tendon connecting the two triangles
(denoted <math xmlns="&mathml;"><mi>t</mi></math>)
and its second power can be derived as follows:
</p>

<table class="center">
<tr><td>
<math xmlns="&mathml;"><mrow>
<mfrac><mi>t</mi><mn>2</mn></mfrac><mo>=</mo><mi>r'</mi><mo>&sdot;</mo>
<mo>sin</mo><mfenced><mfrac><mi>&gamma;</mi><mn>2</mn></mfrac></mfenced>
</mrow></math><br/>

<math xmlns="&mathml;"><mrow>
<msup><mi>t</mi><mn>2</mn></msup><mo>=</mo><mn>4</mn>
<mo>&InvisibleTimes;</mo>
<msup><mi>r'</mi><mn>2</mn></msup>
<mo>&InvisibleTimes;</mo>
<mfenced><mrow><mn>1</mn><mo>-</mo>
<msup><mo>cos</mo><mn>2</mn></msup>
<mfenced><mfrac><mi>&gamma;</mi><mn>2</mn></mfrac></mfenced>
</mrow></mfenced>
</mrow></math><br/>

<math xmlns="&mathml;"><mrow>
<msup><mi>t</mi><mn>2</mn></msup><mo>=</mo>
<mn>4</mn>
<mo>&InvisibleTimes;</mo>
<mfenced><mrow>
<msup><mi>r'</mi><mn>2</mn></msup>
<mo>-</mo>
<msup><mo>g</mo><mn>2</mn></msup>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></mfenced>
</mrow></math><br/>

<math xmlns="&mathml;"><mrow>
<msup><mi>t</mi><mn>2</mn></msup><mo>=</mo>
<mo>f</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></math><br/>
</td></tr>
</table>

<p>
Again, for convenience the functional notation
</p>

<p class="center">
<math xmlns="&mathml;"><mrow>
<mo>f</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&equiv;</mo>
<mn>4</mn>
<mo>&InvisibleTimes;</mo>
<mfenced><mrow>
<msup><mi>r'</mi><mn>2</mn></msup>
<mo>-</mo>
<msup><mo>g</mo><mn>2</mn></msup>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></mfenced>
</mrow></math><br/>
</p>

<p>
is used.
<math xmlns="&mathml;"><mrow>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></math> and
<math xmlns="&mathml;"><mrow>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></math>
refer to the partial derivatives of this function
with respect to its first and second arguments.
</p>

<table class="center"><tr><td>
<math xmlns="&mathml;"><mrow>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>=</mo>
<mn>-8</mn><mo>&InvisibleTimes;</mo>
<mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo>
<msub><mo>g</mo><mn>1</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>=</mo>
<mn>8</mn><mo>&InvisibleTimes;</mo>
<mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>sin</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
<mo>&sdot;</mo><mover><mi>r</mi><mo>&OverBar;</mo></mover>
<mo>&sdot;</mo><mo>sin</mo><mi>&theta;</mi>
</mrow></math><br/>

<math xmlns="&mathml;"><mrow>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>=</mo>
<mn>8</mn><mo>&InvisibleTimes;</mo>
<mfenced><mrow><mi>r'</mi><mo>-</mo>
<mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo>
<msub><mo>g</mo><mn>2</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
</mrow></mfenced>
<mo>=</mo>
<mn>8</mn><mo>&InvisibleTimes;</mo>
<mfenced><mrow><mi>r'</mi><mo>-</mo>
<mo>g</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo><mi>r'</mi><mo>&InvisibleTimes;</mo>
<mfrac><mrow>
<mo>cos</mo><mfenced><mfrac>
<mover><mi>&beta;</mi><mo>&OverBar;</mo></mover><mn>2</mn>
</mfrac></mfenced>
</mrow><msqrt><mrow>
<msup><mi>r'</mi><mn>2</mn></msup><mo>-</mo>
<msup><mover><mi>r</mi><mo>&OverBar;</mo></mover><mn>2</mn></msup>
</mrow></msqrt>
</mfrac></mrow></mfenced>
</mrow></math><br/>
</td></tr></table>

<p>
Now only a formula for the strut length need be derived before the
analysis moves on to the specification of the minimization problem.
Strut length, denoted by <math xmlns="&mathml;"><mi>s</mi></math>,
is specified by the formula:
</p>

<p class="center">
<math xmlns="&mathml;"><mrow>
<msup><mi>s</mi><mn>2</mn></msup><mo>=</mo>
<mo>f</mo><mfenced><mrow><mi>&theta;</mi><mo>+</mo>
<mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
<mn>3</mn></mfrac></mrow><mi>r'</mi></mfenced>
</mrow></math>
</p>

<p>
This follows since, as noted above, the strut vertices are
located <math xmlns="&mathml;"><mfrac><mrow><mn>2</mn>
<mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
<mn>3</mn></mfrac></math> radians counter-clockwise from the tendon vertices
on the same two triangles.
</p>

<p>
So the minimization problem is simply:
</p>

<p class="center">
<math xmlns="&mathml;"><mtable>
<mtr><mtd><mtext>minimize</mtext></mtd>
<mtd>
 <mrow><msup><mi>t</mi><mn>2</mn></msup><mo>=</mo>
 <mo>f</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
 </mrow>
 </mtd></mtr>

 <mtr><mtd><mrow><mi>&theta;</mi><mo>,</mo><mi>r'</mi></mrow>
 </mtd></mtr>
 <mtr><mtd></mtd></mtr>
 <mtr><mtd><mtext>subject to</mtext></mtd>
 <mtd><mrow><msup><mover><mi>s</mi><mo>&OverBar;</mo></mover>
 <mn>2</mn></msup><mo>=</mo>
 <msup><mi>s</mi><mn>2</mn></msup><mo>=</mo>
 <mo>f</mo><mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn></mfrac></mrow><mi>r'</mi></mfenced>
 </mrow></mtd></mtr>
</mtable>
</math>
</p>

<p>
Assuming the constraints can be solved for
<math xmlns="&mathml;"><mi>r'</mi></math>
in terms of <math xmlns="&mathml;"><mi>&theta;</mi></math>,
this can be respecified as the unconstrained minimization problem:
</p>

<p class="center">
<math xmlns="&mathml;"><mtable>
<mtr><mtd><mtext>minimize</mtext></mtd>
<mtd>
 <mrow><msup><mi>t</mi><mn>2</mn></msup><mo>=</mo>
 <mo>f</mo><mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
 </mrow><mtext>;&nbsp;</mtext>
 </mtd><mtd><mrow><mi>r'</mi><mo>=</mo><mo>r'</mo>
 <mfenced><mi>&theta;</mi></mfenced></mrow>
 </mtd></mtr>
 <mtr><mtd><mi>&theta;</mi></mtd></mtr>
</mtable>
</math>
</p>

<p>
The first-order condition for a minimum is:
</p>

<p class="center">
<math xmlns="&mathml;"><mrow><mn>0</mn><mo>=</mo>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>+</mo>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo>
<mfrac><mrow><mo>d</mo><mi>r'</mi></mrow>
<mrow><mo>d</mo><mi>&theta;</mi></mrow></mfrac>
</mrow></math>.
</p>

<p>
An equation for
<math xmlns="&mathml;"><mfrac><mrow><mo>d</mo><mi>r'</mi></mrow>
<mrow><mo>d</mo><mi>&theta;</mi></mrow></mfrac></math>
is obtained by implicitly differentiating the constraint:
</p>

<p class="center">
<math xmlns="&mathml;"><mrow><mn>0</mn><mo>=</mo>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn>
</mfrac></mrow><mi>r'</mi></mfenced>
<mo>+</mo>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn></mfrac></mrow>
<mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo>
<mfrac><mrow><mo>d</mo><mi>r'</mi></mrow>
<mrow><mo>d</mo><mi>&theta;</mi></mrow></mfrac>
</mrow></math><br/>

<math xmlns="&mathml;"><mrow>
<mfrac><mrow><mo>d</mo><mi>r'</mi></mrow>
<mrow><mo>d</mo><mi>&theta;</mi></mrow></mfrac><mo>=</mo>
<mo>-</mo><mfrac><mrow>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn>
</mfrac></mrow><mi>r'</mi></mfenced>
</mrow><mrow>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn>
</mfrac></mrow><mi>r'</mi></mfenced>
</mrow></mfrac></mrow></math>
</p>

<p>
Substituting this expression into the original first-order
condition yields:
</p>

<p class="center">
<math xmlns="&mathml;"><mrow><mn>0</mn><mo>=</mo>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>-</mo>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mi>&theta;</mi><mi>r'</mi></mfenced>
<mo>&InvisibleTimes;</mo>
<mfrac><mrow>
<msub><mo>f</mo><mn>1</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn>
</mfrac></mrow><mi>r'</mi></mfenced>
</mrow><mrow>
<msub><mo>f</mo><mn>2</mn></msub>
<mfenced><mrow><mi>&theta;</mi><mo>+</mo>
 <mfrac><mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mn>&pi;</mn></mrow>
 <mn>3</mn>
</mfrac></mrow><mi>r'</mi></mfenced>
</mrow></mfrac>
</mrow></math>.
</p>

<p>
This equation is solved simultaneously with the constraint
equation to get the minimizing value of
<math xmlns="&mathml;"><mi>&theta;</mi></math> and
incidentally the corresponding value for
<math xmlns="&mathml;"><mi>r'</mi></math>.  While the
mathematical programming problems examined in previous
sections could be solved completely using mathematical formulas,
this problem requires numerical tools to reach a final solution.
</p>

<p>
The procedure for numerically deriving a solution to these
equations, and thus to the mathematical programming problem, is
as follows:
</p>

<table class="center">
<tr><td><b>Step 1</b></td>
<td>Set <math xmlns="&mathml;"><mrow><mi>&theta;</mi><mo>=</mo><mn>0</mn>
</mrow></math>.</td></tr>
<tr><td><b>Step 2</b></td>
<td>Given <math xmlns="&mathml;"><mi>&theta;</mi></math>,
solve the constraint for
<math xmlns="&mathml;"><mi>r'</mi></math>.</td></tr>
<tr><td><b>Step 3</b></td>
<td>Given <math xmlns="&mathml;"><mi>r'</mi></math>,
solve the first-order condition for
<math xmlns="&mathml;"><mi>&theta;</mi></math>.</td></tr>
<tr><td><b>Step 4</b></td><td>Repeat the process from <b>Step&nbsp;2</b>
until <math xmlns="&mathml;"><mi>&theta;</mi></math> converges.</td></tr>
</table>

<p>
To find equation solutions, a simple binary algorithm for
finding zeros of functions is used.  This involves specifying a search
interval for each equation<sup><a href="#tx21" id="rf21">21</a></sup>
and then evaluating the equation at
each end point.  One of the values should be greater than zero and
one less than zero.  The equation is then evaluated at the midpoint
of the interval and a search interval specified which is bounded by
the midpoint and the end point which differs from it in sign.  In
this manner, the search interval is halved at each iteration. 
When the search interval is less than twice the tolerance
specified for a solution, the midpoint of the search
interval is taken as the solution.
</p>

<p>
The fixed value for the triangle radius,
<math xmlns="&mathml;"><mover><mi>r</mi><mo>&OverBar;</mo></mover></math>,
is chosen to be <math xmlns="&mathml;"><mn>1</mn></math>
which implies a length of
<math xmlns="&mathml;"><msqrt><mn>3</mn></msqrt></math>
for the triangle tendons.
The fixed strut length,
<math xmlns="&mathml;"><mover><mi>s</mi><mo>&OverBar;</mo></mover></math>,
is chosen to be
<math xmlns="&mathml;"><mn>4</mn></math>.
Applying the above technique, the sequence of values shown
in <a href="#tab_ttsoln">Table 2.3</a> is obtained.
</p>

<table id="tab_ttsoln" class="center"><tr><td align="center">
<table rules="groups" border="1">
<colgroup></colgroup>
<thead>
<tr><td>Iteration</td><td colspan="2" align="center">Solution Values</td></tr>
<tr><td align="center">#</td>
<td align="center">
<math xmlns="&mathml;"><mi>r'</mi></math></td>
<td align="center">
<math xmlns="&mathml;"><mi>&theta;</mi></math></td>
</tr>
</thead>
<tbody>
<tr><td align="center">1</td>
<td>&nbsp;2.10683424&nbsp;</td><td>&nbsp;0.124151607&nbsp;</td></tr>
<tr><td align="center">2</td>
<td>&nbsp;2.07636415&nbsp;</td><td>&nbsp;0.120243860&nbsp;</td></tr>
<tr><td align="center">3</td>
<td>&nbsp;2.07719872&nbsp;</td><td>&nbsp;0.120351753&nbsp;</td></tr>
<tr><td align="center">4</td>
<td>&nbsp;2.07717557&nbsp;</td><td>&nbsp;0.120348762&nbsp;</td></tr>
<tr><td align="center">5</td>
<td>&nbsp;2.07717622&nbsp;</td><td>&nbsp;0.120348845&nbsp;</td></tr>
<tr><td align="center">6</td>
<td>&nbsp;2.07717620&nbsp;</td><td>&nbsp;0.120348842&nbsp;</td></tr>
</tbody>
</table>
</td></tr><tr><td align="center">
&nbsp;<br/>Table&nbsp;2.3:  T-Tetrahedron:  Solution
</td></tr></table>

<p>
The final solution was
<math xmlns="&mathml;"><mrow><mi>&theta;</mi><mo>=</mo>
<mn>0.120348842</mn></mrow></math> radians.  The length of
the tendon is obtained by substituting the final values for
<math xmlns="&mathml;"><mi>&theta;</mi></math> and
<math xmlns="&mathml;"><mi>r'</mi></math>
into the equation for tendon length.  This yields a
tendon length of <math xmlns="&mathml;"><mn>1.84242715</mn></math>.
</p>

<div id="footnotes">
<hr class="footmark"/>
<p class="note">
<sup><a href="#rf17" id="tx17">17</a></sup>
  <a href="refs.html#Fuller73"><i>Fuller73</i></a>, Fig.&nbsp;268.
  </p>

<p class="note">
<sup><a href="#rf18" id="tx18">18</a></sup>
  See <a href="refs.html#Hogben65"><i>Hogben65</i></a>
  pp.&nbsp;367-382 for an intuitive
  look at spherical trigonometry, and
  <a href="refs.html#Kells42"><i>Kells42</i></a>,
  Chapters&nbsp;3, 5 and 8 for a more thorough and technical look.
  </p>

<p class="note">
<sup><a href="#rf19" id="tx19">19</a></sup>
  In speaking of triangle rotation, it is always assumed
  the structure is being viewed from outside.
  Counter-clockwise in this case amounts to a right-handed rotation
  of the triangle about its axis since the axis points out
  from the origin.  From inside the structure, this would
  appear to be <b>clockwise</b> rotation.
  </p>

<p class="note">
<sup><a href="#rf20" id="tx20">20</a></sup>
  In particular, the structure could be rotated
  <math xmlns="&mathml;"><mn>180&deg;</mn></math>, exchanging
  <math xmlns="&mathml;"><mi>U</mi></math> with
  <math xmlns="&mathml;"><mrow><mi>U</mi><mo>'</mo></mrow></math>,
  and the structure should appear to be unchanged.
  </p>

<p class="note">
<sup><a href="#rf21" id="tx21">21</a></sup>
  For the constraint,
  <math xmlns="&mathml;"><mover><mi>r</mi><mo>&OverBar;</mo></mover></math> and
  <math xmlns="&mathml;"><mover><mi>s</mi><mo>&OverBar;</mo></mover></math>
  were used as the bounds for
  <math xmlns="&mathml;"><mi>r'</mi></math>.
  For the first-order condition,
  <math xmlns="&mathml;"><mrow><mo>-</mo><mfrac><mn>&pi;</mn>
  <mn>2</mn></mfrac></mrow></math> and
  <math xmlns="&mathml;"><mfrac><mn>&pi;</mn><mn>2</mn></mfrac></math>
  were used as the bounds for
  <math xmlns="&mathml;"><mi>&theta;</mi></math>.
  </p>
</div>

<p class="link">
<a href="index.html#chap2_4">Table of Contents</a><br/>
2.5&nbsp;<a href="chap2_5.html">Basic Tensegrity Structures:  Conclusions</a>
</p>

</body>
</html>
