﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.98.6179.21440"?>
<regions>
  <settings>
    <identity>
      <id>bdd93c1f-c2b6-43c0-81fe-7078471a6ee0</id>
      <revision>5</revision>
    </identity>
    <calculation>
      <precision>3</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="true" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="39" bottom="39" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependencies>
      <assembly name="SMath Studio Desktop" version="0.98.6179.21440" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Math Region" version="0.98.6179.21440" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="3D Plot Region (Chart3DLib)" version="0.1.5997.41808" guid="2427d808-1e5e-4ae0-88bf-bc271664a3ab" />
      <assembly name="Special Functions" version="1.11.6179.21442" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="Writer Region" version="0.8.6150.16713" guid="5922d677-323f-4327-8c68-be902d8339ad" />
      <assembly name="Plot Region" version="1.9.6179.21450" guid="c451c2b5-798b-4f08-b9ec-b90963d1ddaa" />
    </dependencies>
  </settings>
  <region id="0" left="27" top="18" width="250" height="90" color="#000000" bgColor="#ffffff">
    <writer lang="eng"><![CDATA[<span style="font-family: 'Arial'; font-size: 10pt; font-weight: normal; font-style: normal; color: Black; background-color: Transparent; text-align: left; line-height: 115%">
<div><span style="font-family: 'Times New Roman'"><span style="font-size: 14pt"><strong><span style="color: Red">Rotate the Quaternion system:</span></strong></span></span></div>
<div><span style="font-family: 'Times New Roman'"><span style="font-size: 11pt">Each col permutes 24 ... not offered.</span></span></div>
<div><span style="font-family: 'Times New Roman'"><span style="font-size: 11pt">This part is stand alone. Copy/paste in</span></span></div>
<div><span style="font-family: 'Times New Roman'"><span style="font-size: 11pt">new work sheet. 'V' is borrowed</span></span>.</div></span>]]></writer>
  </region>
  <region id="1" left="27" top="117" width="377" height="231" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math optimize="2" fractionType="fraction" decimalPlaces="4">
      <input>
        <e type="operand">n</e>
        <e type="operand">v</e>
        <e type="function" args="2">rotate</e>
        <e type="operand">N</e>
        <e type="operand">v</e>
        <e type="function" preserve="true" args="1">length</e>
        <e type="operator" args="2">:</e>
        <e type="operand">p</e>
        <e type="operand">n</e>
        <e type="operand">N</e>
        <e type="function" preserve="true" args="2">mod</e>
        <e type="operator" args="2">:</e>
        <e type="operand">p</e>
        <e type="operand">p</e>
        <e type="operand">p</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≥</e>
        <e type="operand">p</e>
        <e type="operand">N</e>
        <e type="operator" args="2">+</e>
        <e type="operand">p</e>
        <e type="operand">0</e>
        <e type="operator" args="2">&lt;</e>
        <e type="operand" style="string">NOT accounted</e>
        <e type="function" preserve="true" args="5">cases</e>
        <e type="operator" args="2">:</e>
        <e type="operand">Ω</e>
        <e type="operand">v</e>
        <e type="operator" args="2">:</e>
        <e type="operand">p</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">p</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">Ω</e>
        <e type="operand">i</e>
        <e type="operand">N</e>
        <e type="operator" args="2">+</e>
        <e type="operand">p</e>
        <e type="operator" args="2">-</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">v</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">i</e>
        <e type="operand">p</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="bracket">(</e>
        <e type="operand">N</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">Ω</e>
        <e type="operand">i</e>
        <e type="operand">p</e>
        <e type="operator" args="2">-</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">v</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">cases</e>
        <e type="operand">Ω</e>
        <e type="operand">5</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="7">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="2" left="414" top="117" width="43" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <math fractionType="fraction" decimalPlaces="4">
      <input>
        <e type="operand">n</e>
        <e type="operand">1</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="3" left="414" top="153" width="144" height="81" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">V</e>
        <e type="operand">0.267</e>
        <e type="operand">0.267</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0.535</e>
        <e type="operand">0.535</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0.802</e>
        <e type="operand">0.802</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0.267</e>
        <e type="operand">0.267</e>
        <e type="operand">4</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="10">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="4" left="414" top="261" width="274" height="81" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">q</e>
        <e type="operand">n</e>
        <e type="operand">V</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="function" args="2">rotate</e>
        <e type="operator" args="2">:</e>
      </input>
      <result action="numeric">
        <e type="operand">0.535</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0.802</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0.267</e>
        <e type="operand">0.267</e>
        <e type="operator" args="1">-</e>
        <e type="operand">4</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="6">mat</e>
      </result>
    </math>
  </region>
  <region id="5" top="378" color="#000000" bgColor="#ffffff">
    <area collapsed="true">
      <title lang="eng">
        <p>     Torus &amp; quaternion normalize     </p>
      </title>
    </area>
    <region id="6" left="36" top="423" width="193" height="81" color="#000000" bgColor="#ffffff" fontSize="10">
      <math decimalPlaces="4">
        <description active="true" position="Top" lang="eng">
          <p>5. Define the "UnitV", apply to 'q'</p>
        </description>
        <input>
          <e type="operand">q</e>
          <e type="operand">q</e>
          <e type="operand">q</e>
          <e type="function" preserve="true" args="1">norme</e>
          <e type="operator" args="2">/</e>
          <e type="operator" args="2">:</e>
        </input>
        <result action="numeric">
          <e type="operand">0.5167</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.7746</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.2579</e>
          <e type="operand">0.2579</e>
          <e type="operator" args="1">-</e>
          <e type="operand">4</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="6">mat</e>
        </result>
      </math>
    </region>
    <region id="7" left="36" top="540" width="743" height="120" color="#000000" bgColor="#ffffff" fontSize="10">
      <math>
        <description active="true" position="Top" lang="eng">
          <p>6. The rotation 'quat' converter </p>
        </description>
        <input>
          <e type="operand">quat</e>
          <e type="operand">1</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">1</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="1">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="1">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operand">q</e>
          <e type="operand">4</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">1</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">2</e>
          <e type="operand">q</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="bracket">(</e>
          <e type="operand">2</e>
          <e type="operator" args="2">^</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">3</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="11">mat</e>
          <e type="operator" args="2">:</e>
        </input>
        <result action="numeric">
          <e type="operand">0.734</e>
          <e type="operand">0.666</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.133</e>
          <e type="operand">0.133</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.333</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.933</e>
          <e type="operator" args="1">-</e>
          <e type="operand">0.666</e>
          <e type="operand">0.667</e>
          <e type="operand">0.333</e>
          <e type="operator" args="1">-</e>
          <e type="operand">3</e>
          <e type="operand">3</e>
          <e type="function" preserve="true" args="11">mat</e>
        </result>
      </math>
    </region>
    <region id="8" left="27" top="684" width="43" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
      <math>
        <input>
          <e type="operand">a</e>
          <e type="operand">6</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="9" left="108" top="684" width="43" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
      <math>
        <input>
          <e type="operand">b</e>
          <e type="operand">3</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="10" left="171" top="684" width="51" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
      <math>
        <input>
          <e type="operand">m</e>
          <e type="operand">20</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="11" left="27" top="711" width="263" height="73" color="#000000" bgColor="#ffffff" fontSize="10">
      <math>
        <input>
          <e type="operand">u</e>
          <e type="operand">v</e>
          <e type="function" args="2">Torus</e>
          <e type="operand">a</e>
          <e type="operand">b</e>
          <e type="operand">v</e>
          <e type="function" preserve="true" args="1">cos</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="bracket">(</e>
          <e type="operand">u</e>
          <e type="function" preserve="true" args="1">cos</e>
          <e type="operator" args="2">*</e>
          <e type="operand">a</e>
          <e type="operand">b</e>
          <e type="operand">v</e>
          <e type="function" preserve="true" args="1">cos</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="bracket">(</e>
          <e type="operand">u</e>
          <e type="function" preserve="true" args="1">sin</e>
          <e type="operator" args="2">*</e>
          <e type="operand">b</e>
          <e type="operand">v</e>
          <e type="function" preserve="true" args="1">sin</e>
          <e type="operator" args="2">*</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="5">mat</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="12" left="306" top="720" width="464" height="53" color="#000000" bgColor="#ffffff" fontSize="10">
      <math>
        <input>
          <e type="operand">TORUS</e>
          <e type="operand">u</e>
          <e type="operand">v</e>
          <e type="function" args="2">Torus</e>
          <e type="operand">0</e>
          <e type="operand">0.5</e>
          <e type="operand">π</e>
          <e type="operator" args="2">*</e>
          <e type="operand">0</e>
          <e type="operand">2</e>
          <e type="operand">π</e>
          <e type="operator" args="2">*</e>
          <e type="operand">m</e>
          <e type="operand">m</e>
          <e type="function" preserve="true" args="7">CreateMesh</e>
          <e type="operator" args="2">:</e>
          <e type="operand">Slice</e>
          <e type="operand">u</e>
          <e type="operand">v</e>
          <e type="function" args="2">Torus</e>
          <e type="operand">0.5</e>
          <e type="operand">π</e>
          <e type="operator" args="2">*</e>
          <e type="operand">1</e>
          <e type="operand">π</e>
          <e type="operator" args="2">*</e>
          <e type="operand">0</e>
          <e type="operand">2</e>
          <e type="operand">π</e>
          <e type="operator" args="2">*</e>
          <e type="operand">m</e>
          <e type="operand">m</e>
          <e type="function" preserve="true" args="7">CreateMesh</e>
          <e type="operator" args="2">:</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="4">line</e>
        </input>
      </math>
    </region>
    <region id="13" top="783" color="#000000" bgColor="#ffffff">
      <area terminator="true" />
    </region>
  </region>
  <region id="14" left="27" top="819" width="93" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <math>
      <input>
        <e type="operand">zoom</e>
        <e type="operand">0.75</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="15" left="27" top="846" width="240" height="158" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="3d" render="lines" scale_x="1" scale_y="1" scale_z="1" rotate_x="-94" rotate_y="-63" rotate_z="-2" transpose_x="0" transpose_y="0" transpose_z="0">
      <description active="true" position="Top" lang="eng">
        <p>Quaternion =&gt; α,β</p>
      </description>
      <input>
        <e type="operand">zoom</e>
        <e type="operand">TORUS</e>
        <e type="operator" args="2">*</e>
        <e type="operand">quat</e>
        <e type="operator" args="2">*</e>
        <e type="operand">zoom</e>
        <e type="operand">Slice</e>
        <e type="operator" args="2">*</e>
        <e type="operand">quat</e>
        <e type="operator" args="2">*</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </plot>
  </region>
</regions>