﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.98.6179.21440"?>
<regions>
  <settings>
    <identity>
      <id>c1c6b884-e213-4a69-9b0f-3f01403e5491</id>
      <revision>9</revision>
    </identity>
    <metadata lang="eng">
      <title>Implicit-function graphing routine</title>
      <author>Anonymous</author>
      <description>Algorithm to graph implicit functions of 2 variables.  
This is useful for graphing equations f(x,y)=K (where K is a constant) that are difficult or impossible to separate into a 1-variable function y=F(x).  
This can also be used to make contour plots of a 3-dimensional function z=f(x,y).  </description>
      <keywords>Examples, 2-D Contour Graphs</keywords>
    </metadata>
    <calculation>
      <precision>4</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="false" 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" />
      <assembly name="Plot Region" version="1.9.6179.21450" guid="c451c2b5-798b-4f08-b9ec-b90963d1ddaa" />
    </dependencies>
  </settings>
  <region id="0" left="9" top="9" width="566" height="28" color="#0000ff" bgColor="#ffffff" fontSize="12">
    <text lang="eng">
      <p>What kind of problem can this example be used to solve?  </p>
    </text>
  </region>
  <region id="1" left="9" top="45" width="783" height="296" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <text lang="eng">
      <p>Suppose you want to plot an equation that has 2 variables (they might be called x and y) and, if the equation is described as LeftSide = RightSide, neither LeftSide nor RightSide is 0.  For example, sin(2*x)*cos(y) = 0.4Then write this equation with either LeftSide or RightSide subtracted from both sides so that the equation looks like LeftSide-RightSide=0 (or RightSide-LeftSide=0)In the above example, you could subtract 0.4 to get:  sin(2*x)*cos(y)-0.4 = 0Then define a function which equals (in this example) LeftSide-RightSide.  When this function = 0, your original equation is true.The equation needs to be written "= 0" because the implicit-function grapher is designed to plot the points where some expression (the function given by you) = 0.  If there was originally a function z=Funct(x,y), such as z=sin(2*x)*cos(y) in the above example, then graphing Funct(x,y) = K, which is Funct(x,y)-K = 0, where K is a constant, makes part of a contour plot of Funct.  </p>
    </text>
  </region>
  <region id="2" left="9" top="351" width="595" height="24" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <text lang="eng">
      <p>This example is based on http://twt.mpei.ac.ru/ochkov/Lace/Lace_eng.htm</p>
    </text>
  </region>
  <region id="3" left="9" top="378" width="142" height="28" color="#0000ff" bgColor="#ffffff" fontSize="12">
    <text lang="eng">
      <p>Definitions:  </p>
    </text>
  </region>
  <region id="4" left="9" top="405" width="233" height="24" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>The function to be plotted:</p>
    </text>
  </region>
  <region id="5" left="630" top="414" width="96" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">t0</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="6" left="18" top="432" width="229" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operand">2</e>
        <e type="operand">x</e>
        <e type="operator" args="2">*</e>
        <e type="function" preserve="true" args="1">sin</e>
        <e type="operand">y</e>
        <e type="function" preserve="true" args="1">cos</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0.4</e>
        <e type="operator" args="2">-</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="7" left="9" top="477" width="499" height="40" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>Specify what region of the input variables you want to plot (generically, we'll call these variables x and y):  </p>
    </text>
  </region>
  <region id="8" left="36" top="531" width="77" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xmin</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="9" left="180" top="531" width="68" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xmax</e>
        <e type="operand">3</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="10" left="306" top="531" width="77" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">ymin</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="11" left="450" top="531" width="68" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">ymax</e>
        <e type="operand">3</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="12" left="9" top="567" width="463" height="24" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>Specify the fineness of display resolution of the plot:</p>
    </text>
  </region>
  <region id="13" left="18" top="603" width="101" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xstep</e>
        <e type="operand">0.05</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="14" left="135" top="603" width="101" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">ystep</e>
        <e type="operand">0.05</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="15" left="9" top="639" width="341" height="28" color="#0000ff" bgColor="#ffffff" fontSize="12">
    <text lang="eng">
      <p>How big is the graphing problem?  </p>
    </text>
  </region>
  <region id="16" left="9" top="666" width="749" height="24" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>Based on the above constants, let's find out how many points will be potentially graphed:  </p>
    </text>
  </region>
  <region id="17" left="27" top="702" width="180" height="43" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xsize</e>
        <e type="operand">xmax</e>
        <e type="operand">xmin</e>
        <e type="operator" args="2">-</e>
        <e type="bracket">(</e>
        <e type="operand">xstep</e>
        <e type="operator" args="2">/</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="18" left="252" top="711" width="103" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xsize</e>
      </input>
      <result action="numeric">
        <e type="operand">121</e>
      </result>
    </math>
  </region>
  <region id="19" left="360" top="711" width="347" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>The graph region is this many points wide</p>
    </text>
  </region>
  <region id="20" left="27" top="756" width="180" height="43" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">ysize</e>
        <e type="operand">ymax</e>
        <e type="operand">ymin</e>
        <e type="operator" args="2">-</e>
        <e type="bracket">(</e>
        <e type="operand">ystep</e>
        <e type="operator" args="2">/</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="21" left="252" top="765" width="103" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">ysize</e>
      </input>
      <result action="numeric">
        <e type="operand">121</e>
      </result>
    </math>
  </region>
  <region id="22" left="360" top="765" width="347" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>The graph region is this many points tall</p>
    </text>
  </region>
  <region id="23" left="27" top="810" width="167" height="24" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">xsize</e>
        <e type="operand">ysize</e>
        <e type="operator" args="2">*</e>
      </input>
      <result action="numeric">
        <e type="operand">14641</e>
      </result>
    </math>
  </region>
  <region id="24" left="243" top="810" width="356" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>Total number of points potentially graphed</p>
    </text>
  </region>
  <region id="25" left="9" top="846" width="531" height="24" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>(Scroll down for the implicit-function graphing routine itself)</p>
    </text>
  </region>
  <region id="26" left="9" top="999" width="399" height="28" color="#0000ff" bgColor="#ffffff" fontSize="12">
    <text lang="eng">
      <p>The implicit-function graphing routine:</p>
    </text>
  </region>
  <region id="27" left="9" top="1026" width="794" height="408" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>It works by computing the value of the function at and near each one of the xsize*ysize points, scanning across the specified region (of the input variables) in grid fashion.  The value ("Pvalue") at each point P is multiplied by the value ("Qvalue") at a point Q that is close to point P (distance "xstep" away from P).   - If P or Q is a root of the equation, then Pvalue or Qvalue is 0, so Pvalue * Qvalue = 0.   - If a root is between P and Q, then, typically, one of Pvalue or Qvalue is positive and the other is negative, so Pvalue * Qvalue &lt; 0.   This requires that:        (a) xstep is small enough so that no other roots are between P and Q, and       (b) there does not happen to be a root between P and Q that is also a local maximum or                minimum [example:  if f(x)=x^2 and P is at x=-1 and Q is at x=+1, then Pvalue and Qvalue                are both positive, even though there is a root x=0 between P and Q].  So if Pvalue * Qvalue &lt;= 0, the coordinates (x,y) of P are added (concatenated) to a list of points to plot.  The same procedure that has just been described for points P and Q is also done for points P and R, where R is close in the y-direction (by distance ystep) to point P.  If only P and Q were considered, then nearly horizontal parts of the graph might not have as many points, which would make them harder to see.  The names P, Q, R are used only in this text, not in the graphing routine itself.    P is (x, y)  Q is (x-xstep, y)   R is (x, y-ystep) </p>
    </text>
  </region>
  <region id="28" left="9" top="1449" width="110" height="27" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">Points</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="4">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="29" left="135" top="1449" width="619" height="56" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>Initialize the list of points to plot; otherwise, when the first point is to be added, the software won't be able to detect the dimensions of the list and will indicate an error.</p>
    </text>
  </region>
  <region id="30" left="9" top="1512" width="478" height="115" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math optimize="2">
      <input>
        <e type="operand">y</e>
        <e type="operand">ymin</e>
        <e type="operand">ymax</e>
        <e type="operand">ymin</e>
        <e type="operand">ystep</e>
        <e type="operator" args="2">+</e>
        <e type="function" preserve="true" args="3">range</e>
        <e type="operand">x</e>
        <e type="operand">xmin</e>
        <e type="operand">xmax</e>
        <e type="operand">xmin</e>
        <e type="operand">xstep</e>
        <e type="operator" args="2">+</e>
        <e type="function" preserve="true" args="3">range</e>
        <e type="operand">x</e>
        <e type="operand">xstep</e>
        <e type="operator" args="2">-</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≤</e>
        <e type="bracket">(</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="operand">ystep</e>
        <e type="operator" args="2">-</e>
        <e type="function" args="2">f</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≤</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">|</e>
        <e type="bracket">(</e>
        <e type="operand">Points</e>
        <e type="operand">Points</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="operand">1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="4">mat</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand" style="string">dummy</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
      </input>
    </math>
  </region>
  <region id="31" left="72" top="1629" width="474" height="40" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>A dummy "else" clause is used because it was not evident how to specify an "if" with no "else."</p>
    </text>
  </region>
  <region id="32" left="9" top="1674" width="393" height="28" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">Points</e>
        <e type="operand">Points</e>
        <e type="operand">2</e>
        <e type="operand">Points</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="5">submatrix</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="33" left="72" top="1701" width="677" height="72" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>Remove the first "point" that was added when the list of points was initialized. This will NOT erase the point (0, 0), if it happened to be found as a root of the equation or found to be near a root - any (0, 0) that was found will still appear in the list.</p>
    </text>
  </region>
  <region id="34" left="171" top="1791" width="466" height="32" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">x</e>
        <e type="operand">xstep</e>
        <e type="operator" args="2">-</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≤</e>
        <e type="bracket">(</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f</e>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="operand">ystep</e>
        <e type="operator" args="2">-</e>
        <e type="function" args="2">f</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≤</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">|</e>
        <e type="bracket">(</e>
        <e type="function" preserve="true" args="1">eval</e>
      </input>
    </math>
  </region>
  <region id="35" left="27" top="1818" width="86" height="24" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <text lang="eng">
      <p>Results:  </p>
    </text>
  </region>
  <region id="36" left="27" top="1845" width="156" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">Points</e>
        <e type="function" preserve="true" args="1">rows</e>
      </input>
      <result action="numeric">
        <e type="operand">480</e>
      </result>
    </math>
  </region>
  <region id="37" left="27" top="1881" width="639" height="24" color="#000000" bgColor="#ffff80" fontSize="10">
    <text lang="eng">
      <p>The number of points that were found to be roots, or to have roots near them.</p>
    </text>
  </region>
  <region id="38" left="27" top="1926" width="437" height="257" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="2d" render="points" scale_x="3.34973530705441" scale_y="3.34973530705441" scale_z="3.34973530705441" rotate_x="0" rotate_y="0" rotate_z="0" transpose_x="-17" transpose_y="1" transpose_z="0">
      <input>
        <e type="operand">Points</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">sys</e>
      </input>
    </plot>
  </region>
  <region id="39" left="27" top="2223" width="149" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="0">
      <input>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operand">t0</e>
        <e type="operator" args="2">-</e>
      </input>
      <result action="numeric">
        <e type="operand">47</e>
        <e type="operand" style="unit">s</e>
        <e type="operator" args="2">*</e>
      </result>
    </math>
  </region>
  <region id="40" left="27" top="2259" width="237" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f1</e>
        <e type="operand">2</e>
        <e type="operand">x</e>
        <e type="operator" args="2">*</e>
        <e type="function" preserve="true" args="1">sin</e>
        <e type="operand">y</e>
        <e type="function" preserve="true" args="1">cos</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0.5</e>
        <e type="operator" args="2">-</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="41" left="27" top="2295" width="220" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">x</e>
        <e type="operand">y</e>
        <e type="function" args="2">f2</e>
        <e type="operand">2</e>
        <e type="operand">x</e>
        <e type="operator" args="2">*</e>
        <e type="function" preserve="true" args="1">sin</e>
        <e type="operand">y</e>
        <e type="function" preserve="true" args="1">cos</e>
        <e type="operator" args="2">*</e>
        <e type="operand">0</e>
        <e type="operator" args="2">-</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="42" left="27" top="2340" width="210" height="208" color="#000000" bgColor="#ffffff" fontSize="10">
    <xyplot width="200" height="200" smoothing="false" points="100">
      <propertiessource index="1" sourcetype="PropertyGrid" />
      <grid gridcolor="LightGray" gridpattern="Solid" gridthickness="1" isxgrid="true" isygrid="true" />
      <xaxes xmin="-5" xmax="5" xtick="2.5" numberformat="General" decimalplaces="3" />
      <yaxes ymin="-5" ymax="5" ytick="2.5" numberformat="General" decimalplaces="3" />
      <y2axes isy2axis="false" y2min="-1" y2max="1" y2tick="0.5" numberformat="General" decimalplaces="3" />
      <title2d title="Ellipse/Circle [a*x]" 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" />
      </traces>
      <input>
        <e type="operand">f1</e>
        <e type="operand">f2</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </xyplot>
  </region>
  <region id="43" left="261" top="2340" width="324" height="163" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math fractionType="fraction" decimalPlaces="6">
      <input>
        <e type="operand">data</e>
        <e type="operand">spec</e>
        <e type="function" args="2">pts</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">data</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">p</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" args="3">spec</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">v</e>
        <e type="operand">p</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operator" args="2">:</e>
        <e type="operand" style="string">Unest 'p' </e>
        <e type="operand">j</e>
        <e type="operand">2</e>
        <e type="operand">p</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">v</e>
        <e type="operand">v</e>
        <e type="operand">p</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="2">el</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">data</e>
        <e type="operand">v</e>
        <e type="function" preserve="true" args="2">augment</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="44" left="648" top="2340" width="104" height="99" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">box</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operand">3</e>
        <e type="operand">3</e>
        <e type="operand">3</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operator" args="1">-</e>
        <e type="operand">5</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="12">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="45" left="261" top="2502" width="266" height="52" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="6">
      <input>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" args="3">spec</e>
        <e type="operand" style="string">.</e>
        <e type="operand">5</e>
        <e type="operand" style="string">red</e>
        <e type="operand">1</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="5">mat</e>
        <e type="operator" args="2">:</e>
        <e type="operand">pts</e>
        <e type="operand">Points</e>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" args="3">spec</e>
        <e type="function" args="2">pts</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="46" left="270" top="2583" width="192" height="158" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="2d" render="lines" scale_x="2.12143995245631" scale_y="2.17505273408497" scale_z="0.642611602084721" rotate_x="0" rotate_y="0" rotate_z="0" transpose_x="0" transpose_y="0" transpose_z="0">
      <input>
        <e type="operand">box</e>
        <e type="operand">pts</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </plot>
  </region>
</regions>