﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.98.6179.21440"?>
<regions>
  <settings>
    <identity>
      <id>4a4db73a-765b-45c2-8bae-410141cee6ff</id>
      <revision>2</revision>
    </identity>
    <calculation>
      <precision>4</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="Special Functions" version="1.11.6179.21442" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="Text Region" version="1.10.6179.21446" guid="485d28c5-349a-48b6-93be-12a35a1c1e39" />
      <assembly name="X-Y Plot Region (Chart2DLib)" version="0.1.6104.16280" guid="c12231ec-4873-43c1-a7d0-a167ebd17066" />
    </dependencies>
  </settings>
  <region id="0" left="18" top="9" width="464" height="31" color="#000000" bgColor="#80ffff" fontSize="14">
    <text lang="eng">
      <p bold="true">DeCasteljau SVG algorithm chained style</p>
    </text>
  </region>
  <region id="1" top="54" color="#000000" bgColor="#ffffff">
    <area collapsed="true">
      <title lang="eng">
        <p>     DeCasteljauNDP(ndp,p)     </p>
      </title>
    </area>
    <region id="2" left="18" top="72" width="749" height="407" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
      <math optimize="2" decimalPlaces="2">
        <description active="true" position="Top" lang="eng">
          <p>ndp =  number of discretization points (&gt; 1) in the prescribed range  0..1p = control points ... each segment is populated 'ndp'... modules from Davide Carpi</p>
        </description>
        <input>
          <e type="operand">ndp</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljauNDP</e>
          <e type="operand">t</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="operand">M</e>
          <e type="operand">1</e>
          <e type="operand">t</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="operand">p</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">row</e>
          <e type="operator" args="2">*</e>
          <e type="operand">t</e>
          <e type="operand">p</e>
          <e type="operand">2</e>
          <e type="function" preserve="true" args="2">row</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operator" args="2">:</e>
          <e type="operand">p</e>
          <e type="function" preserve="true" args="1">rows</e>
          <e type="operand">2</e>
          <e type="operator" args="2">&gt;</e>
          <e type="operand">i</e>
          <e type="operand">2</e>
          <e type="operand">p</e>
          <e type="function" preserve="true" args="1">rows</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" preserve="true" args="2">range</e>
          <e type="operand">M</e>
          <e type="operand">M</e>
          <e type="operand">1</e>
          <e type="operand">t</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="operand">p</e>
          <e type="operand">i</e>
          <e type="function" preserve="true" args="2">row</e>
          <e type="operator" args="2">*</e>
          <e type="operand">t</e>
          <e type="operand">p</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operator" args="2">+</e>
          <e type="function" preserve="true" args="2">row</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="function" preserve="true" args="2">stack</e>
          <e type="operator" args="2">:</e>
          <e type="function" preserve="true" args="3">for</e>
          <e type="operand">t</e>
          <e type="operand">M</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="4">line</e>
          <e type="operand">M</e>
          <e type="function" preserve="true" args="3">if</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="4">line</e>
          <e type="operator" args="2">:</e>
          <e type="operand" style="string">---------------------------------------------------</e>
          <e type="operand">t</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljauRange</e>
          <e type="operand">M</e>
          <e type="operand">t</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="operator" args="2">:</e>
          <e type="operand">i</e>
          <e type="operand">2</e>
          <e type="operand">t</e>
          <e type="function" preserve="true" args="1">length</e>
          <e type="function" preserve="true" args="2">range</e>
          <e type="operand">M</e>
          <e type="operand">M</e>
          <e type="operand">t</e>
          <e type="operand">i</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="function" preserve="true" args="2">stack</e>
          <e type="operator" args="2">:</e>
          <e type="function" preserve="true" args="3">for</e>
          <e type="operand">M</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="5">line</e>
          <e type="operator" args="2">:</e>
          <e type="operand" style="string">----------------------</e>
          <e type="operand">t</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">ndp</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="operator" args="2">/</e>
          <e type="function" preserve="true" args="3">range</e>
          <e type="operator" args="2">:</e>
          <e type="operand">M</e>
          <e type="operand">t</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="operator" args="2">:</e>
          <e type="operand">i</e>
          <e type="operand">2</e>
          <e type="operand">t</e>
          <e type="function" preserve="true" args="1">length</e>
          <e type="function" preserve="true" args="2">range</e>
          <e type="operand">M</e>
          <e type="operand">M</e>
          <e type="operand">t</e>
          <e type="operand">i</e>
          <e type="function" preserve="true" args="2">el</e>
          <e type="operand">p</e>
          <e type="function" args="2">DeCasteljau</e>
          <e type="function" preserve="true" args="2">stack</e>
          <e type="operator" args="2">:</e>
          <e type="function" preserve="true" args="3">for</e>
          <e type="operand">M</e>
          <e type="operand">8</e>
          <e type="operand">1</e>
          <e type="function" preserve="true" args="10">line</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="3" top="540" color="#000000" bgColor="#ffffff">
      <area terminator="true" />
    </region>
  </region>
  <region id="4" left="18" top="567" width="85" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <math decimalPlaces="2">
      <description active="true" position="Right" lang="eng">
        <p>scale factor [B, p]</p>
      </description>
      <input>
        <e type="operand">svg</e>
        <e type="operand">0.75</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="5" left="243" top="567" width="520" height="40" color="#000000" bgColor="#e1ffe1" fontSize="10">
    <text lang="eng">
      <p>The all thing is about the construction of the 5 nest-vectors:join straight or join curved [Bézier/DeCasteljau].</p>
    </text>
  </region>
  <region id="6" left="18" top="612" width="135" height="171" color="#000000" bgColor="#ebebeb" fontSize="10">
    <math decimalPlaces="2">
      <input>
        <e type="operand">B</e>
        <e type="operand">svg</e>
        <e type="operand">60</e>
        <e type="operand">0</e>
        <e type="operand">60</e>
        <e type="operand">30</e>
        <e type="operand">0</e>
        <e type="operand">30</e>
        <e type="operand">0</e>
        <e type="operand">60</e>
        <e type="operand">215</e>
        <e type="operand">60</e>
        <e type="operand">350</e>
        <e type="operand">60</e>
        <e type="operand">350</e>
        <e type="operand">20</e>
        <e type="operand">350</e>
        <e type="operand">10</e>
        <e type="operator" args="1">-</e>
        <e type="operand">285</e>
        <e type="operand">50</e>
        <e type="operator" args="1">-</e>
        <e type="operand">9</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="20">mat</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="7" left="180" top="612" width="554" height="57" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="2">
      <input>
        <e type="operand">p</e>
        <e type="operand">svg</e>
        <e type="operand">60</e>
        <e type="operand">60</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">30</e>
        <e type="operand">30</e>
        <e type="operand">2</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">30</e>
        <e type="operand">30</e>
        <e type="operand">60</e>
        <e type="operand">2</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">215</e>
        <e type="operand">60</e>
        <e type="operand">60</e>
        <e type="operand">60</e>
        <e type="operand">2</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="operand">215</e>
        <e type="operand">350</e>
        <e type="operand">350</e>
        <e type="operand">60</e>
        <e type="operand">60</e>
        <e type="operand">20</e>
        <e type="operand">2</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="operand">350</e>
        <e type="operand">350</e>
        <e type="operand">285</e>
        <e type="operand">20</e>
        <e type="operand">10</e>
        <e type="operator" args="1">-</e>
        <e type="operand">50</e>
        <e type="operator" args="1">-</e>
        <e type="operand">2</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="operand">1</e>
        <e type="operand">5</e>
        <e type="function" preserve="true" args="7">mat</e>
        <e type="function" preserve="true" args="1">transpose</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="8" left="180" top="666" width="411" height="103" border="true" color="#000000" bgColor="#ffffe1" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">NDP</e>
        <e type="operand">100</e>
        <e type="operator" args="2">:</e>
        <e type="operand">bezier</e>
        <e type="operand">NDP</e>
        <e type="operand">p</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" args="2">DeCasteljauNDP</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">2</e>
        <e type="operand">p</e>
        <e type="function" preserve="true" args="1">length</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">bezier</e>
        <e type="operand">bezier</e>
        <e type="operand">NDP</e>
        <e type="operand">p</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" args="2">DeCasteljauNDP</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
      </input>
    </math>
  </region>
  <region id="9" left="612" top="684" width="122" height="63" border="true" color="#000000" bgColor="#ffffe1" fontSize="10">
    <math>
      <input>
        <e type="operand">plot</e>
        <e type="operand">B</e>
        <e type="operand">bezier</e>
        <e type="operand">p</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">sys</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="10" left="180" top="774" width="468" height="282" color="#000000" bgColor="#ffffff" fontSize="10">
    <xyplot width="458" height="274" smoothing="false" points="100">
      <propertiessource index="1" sourcetype="PropertyGrid" />
      <grid gridcolor="LightGray" gridpattern="Solid" gridthickness="1" isxgrid="true" isygrid="true" />
      <xaxes xmin="-50" xmax="400" xtick="100" numberformat="General" decimalplaces="3" />
      <yaxes ymin="-75" ymax="75" ytick="25" numberformat="General" decimalplaces="3" />
      <y2axes isy2axis="false" y2min="-1" y2max="1" y2tick="0.5" numberformat="General" decimalplaces="3" />
      <title2d title="Scalable Vector Graphic [SVG]" titlefont="Times New Roman, 12pt, style=Bold" titlefontcolor="Black" />
      <xylabel labelfont="Arial, 10pt" labelfontcolor="Black" tickfont="Courier New, 10pt" tickfontcolor="Black" xlabel="x" ylabel="y" y2label="y2" />
      <legend isbordervisible="true" islegendvisible="false" legendbackcolor="White" legendbordercolor="Black" legendfont="Arial, 8pt" legendposition="NorthEast" textcolor="Black" />
      <traces>
        <trace seriesname="" isy2data="false" isvisible="true" plotmethod="Lines" linecolor="Blue" linethickness="1" linepattern="Solid" symbolsize="8" symboltype="None" symbolborderthickness="1" symbolbordercolor="Black" symbolfillcolor="White" />
        <trace seriesname="" isy2data="false" isvisible="true" plotmethod="Lines" linecolor="Red" linethickness="1" linepattern="Solid" symbolsize="8" symboltype="None" symbolborderthickness="1" symbolbordercolor="Black" symbolfillcolor="White" />
        <trace seriesname="" isy2data="false" isvisible="false" plotmethod="Lines" linecolor="Black" linethickness="1" linepattern="Solid" symbolsize="3" symboltype="Box" symbolborderthickness="1" symbolbordercolor="Black" symbolfillcolor="Black" />
      </traces>
      <input>
        <e type="operand">plot</e>
      </input>
    </xyplot>
  </region>
  <region id="11" left="558" top="783" width="74" height="41" color="#000000" bgColor="#ffff80" fontSize="10">
    <math fractionType="auto" decimalPlaces="6">
      <input>
        <e type="operand">svg</e>
      </input>
      <result action="numeric">
        <e type="operand">3</e>
        <e type="operand">4</e>
        <e type="operator" args="2">/</e>
      </result>
    </math>
  </region>
</regions>