change data, mathematics, function, geometry and geometry_plot_pylab. add data_step, data_step_std and helper. add an example and more documentation.
inside the data module rename read to read_columns add add new read function to read the whole file as string. add print_list function to print one element per line. add unique_list and unique_list_hashable to reduce the list into a unique list with same order. add find_last, str_between, str_to_list functions. inside the mathematics module for vector add normalized creating a new object (normalize will change the object), isclose and iscloseto, change ang to round internal number. for matrix improve slicing and add transposed creating a new object (transpose will change object). inside the function module add b_spline_basis, b_spline_curve_with_knots and b_spline_knots functions. add sample_hal_open and sample_half_open_seq. add circle and ellipse. inside the geometry module change CS init from using lists to Directions and add new constructor CS.init_xzy using lists. rename Wireframe to Polyline. add classes B_spline_curve_with_knots, Ellipse, ArcCircle, ArcEllipse, ArcBSplineCurveWithKnots. add function sample_half_open to create a list of Points. inside the geometry_plot_pylab module change the help text. add step_and data data_step_std module to read a step file to list and draw the content. add helper module with context manager and decorator timeit to meassure the time for a section or function. add example for b_spline function.
This commit is contained in:
235
docs/build/html/pylib.function.html
vendored
235
docs/build/html/pylib.function.html
vendored
@@ -42,7 +42,163 @@
|
||||
<dd class="field-odd"><p>2019-11-15</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<span class="target" id="module-function"></span><dl class="function">
|
||||
<span class="target" id="module-function"></span><p>Functions returns function to apply conditions.</p>
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.b_spline_basis">
|
||||
<code class="sig-name descname">b_spline_basis</code><span class="sig-paren">(</span><em class="sig-param">knots</em>, <em class="sig-param">knot_span</em>, <em class="sig-param">degree</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#b_spline_basis"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.b_spline_basis" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Cox-de Boor algorithm / recursion formula.</p>
|
||||
<p>Calculate the i-th B-spline basis function of degree p: N_{i,p}(u)</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>knots</strong> (<em>list</em>) – Knot vector U. m + 1 non-decreasing numbers / knots,
|
||||
<span class="math notranslate nohighlight">\(u_0 <= u_1 <= u_2 <= ... <= u_m\)</span></p></li>
|
||||
<li><p><strong>knot_span</strong> (<em>int</em>) – i-th knot span</p></li>
|
||||
<li><p><strong>degree</strong> (<em>int</em>) – degree of B-spline basis function</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns</dt>
|
||||
<dd class="field-even"><p>B-spline basis function using variable, u in [u_0, u_m]</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>function</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="math notranslate nohighlight">
|
||||
\[\begin{split}N_{i,0}(u) &= \begin{cases} 1 & \text{if } u_i \le u \lt u_{i+1} \\
|
||||
0 & \text{otherwise}\end{cases} \\
|
||||
N_{i,p}(u) &= \frac{u - u_i}{u_{i+p} - u_i} N_{i,p-1}(u) +
|
||||
\frac{u_{i+p+1} - u}{u_{i+p+1} - u_{i+1}} N_{i+1,p-1}(u)\end{split}\]</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.b_spline_curve_with_knots">
|
||||
<code class="sig-name descname">b_spline_curve_with_knots</code><span class="sig-paren">(</span><em class="sig-param">degree</em>, <em class="sig-param">control_points</em>, <em class="sig-param">knots</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#b_spline_curve_with_knots"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.b_spline_curve_with_knots" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>B-spline curve of degree p (order + 1) on a given set of knots.</p>
|
||||
<p>n, m and p must satisfy m = n + p + 1.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>degree</strong> (<em>int</em>) – degree of B-spline basis functions</p></li>
|
||||
<li><p><strong>control_points</strong> (<em>list</em>) – control points P, n + 1 control points</p></li>
|
||||
<li><p><strong>knots</strong> (<em>list</em>) – Knot vector U. m + 1 non-decreasing numbers / knots,
|
||||
<span class="math notranslate nohighlight">\(u_0 <= u_1 <= u_2 <= ... <= u_m\)</span></p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns</dt>
|
||||
<dd class="field-even"><p>B-spline curve using variable, u in [u_0, u_m]</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>function</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="math notranslate nohighlight">
|
||||
\[\mathbf{C}_p(u) = \sum\limits_{i=0}^{n} N_{i,p}(u) \mathbf{P}_i\]</div>
|
||||
<ul class="simple">
|
||||
<li><p>open B-spline curves</p>
|
||||
<ul>
|
||||
<li><p>the curve will not touch the first and last legs of the
|
||||
control polyline</p></li>
|
||||
<li><p>the knot vector does not have any particular structure</p></li>
|
||||
<li><p>for degree p, intervals [u_0, u_p) and [u_{n-p}, u_n) will not
|
||||
have “full support” of basis functions and are ignored when a
|
||||
B-spline curve is open. For open B-spline curves, the domain
|
||||
is inteval [u_p, u_{n-p}]</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>clamped B-spline curves, nonperiodic B-spline curves</p>
|
||||
<ul>
|
||||
<li><p>the curve is tangent to the first and the last legs just like
|
||||
a Bézier curve</p></li>
|
||||
<li><p>the first knot and the last knot must be repeated p+1 times
|
||||
(i. e., of multiplicity p+1)</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>closed B-spline curves</p>
|
||||
<ul>
|
||||
<li><p>the start and the end of the generated curve join together
|
||||
forming a closed loop</p></li>
|
||||
<li><p>repeating some knots and control points # TODO: which?</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>uniform B-spline curves</p>
|
||||
<ul>
|
||||
<li><p>internal knots are equally spaced</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Bézier curves</p>
|
||||
<ul>
|
||||
<li><p>a B-spline with no internal knots.</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="admonition seealso">
|
||||
<p class="admonition-title">See also</p>
|
||||
<p><a class="reference internal" href="#pylib.function.b_spline_knots" title="pylib.function.b_spline_knots"><code class="xref py py-meth docutils literal notranslate"><span class="pre">b_spline_knots()</span></code></a></p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.b_spline_knots">
|
||||
<code class="sig-name descname">b_spline_knots</code><span class="sig-paren">(</span><em class="sig-param">control_point_spans</em>, <em class="sig-param">degree=3</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#b_spline_knots"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.b_spline_knots" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>B-spline knots to generate a clamped uniform B-spline curve
|
||||
of degree p (order + 1).</p>
|
||||
<p>The internal knots are equally spaced (uniform B-spline curve)</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>control_point_spans</strong> (<em>int</em>) – number of control points + 1</p></li>
|
||||
<li><p><strong>degree</strong> (<em>int</em>) – degree of B-spline basis functions (default = 3)</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns</dt>
|
||||
<dd class="field-even"><p>knot vector</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>tuple</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="admonition seealso">
|
||||
<p class="admonition-title">See also</p>
|
||||
<p><a class="reference internal" href="#pylib.function.b_spline_curve_with_knots" title="pylib.function.b_spline_curve_with_knots"><code class="xref py py-meth docutils literal notranslate"><span class="pre">b_spline_curve_with_knots()</span></code></a></p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.circle">
|
||||
<code class="sig-name descname">circle</code><span class="sig-paren">(</span><em class="sig-param">r</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#circle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.circle" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Circle</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>r</strong> (<em>float</em>) – radius of the circle</p>
|
||||
</dd>
|
||||
<dt class="field-even">Results</dt>
|
||||
<dd class="field-even"><p>functions for x of theta and y of theta and the interval</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>tuple</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="math notranslate nohighlight">
|
||||
\[\begin{split}x(\theta) = r\cos\theta \\
|
||||
y(\theta) = r\sin\theta \\
|
||||
\theta = \left[0, 2\pi\right]\end{split}\]</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="n">r</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">circle</span><span class="p">(</span><span class="mi">20</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">circle</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">interval</span> <span class="o">=</span> <span class="n">circle</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.cosine_wave">
|
||||
<code class="sig-name descname">cosine_wave</code><span class="sig-paren">(</span><em class="sig-param">A=1</em>, <em class="sig-param">k=1</em>, <em class="sig-param">f=1</em>, <em class="sig-param">phi=0</em>, <em class="sig-param">D=0</em>, <em class="sig-param">degree=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#cosine_wave"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.cosine_wave" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>A cosine wave is said to be sinusoidal, because,
|
||||
@@ -67,6 +223,9 @@ interpreted in degrees.</p></li>
|
||||
<dd class="field-even"><p>sine wave function of spatial variable x and optional
|
||||
time t</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>function</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="admonition seealso">
|
||||
<p class="admonition-title">See also</p>
|
||||
@@ -74,6 +233,43 @@ time t</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.ellipse">
|
||||
<code class="sig-name descname">ellipse</code><span class="sig-paren">(</span><em class="sig-param">a</em>, <em class="sig-param">b</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#ellipse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.ellipse" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Ellipse</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>a</strong> (<em>float</em>) – semi-major axis</p></li>
|
||||
<li><p><strong>b</strong> (<em>float</em>) – semi-minor axis</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Results</dt>
|
||||
<dd class="field-even"><p>functions for x of theta and y of theta and the interval</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>tuple</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="math notranslate nohighlight">
|
||||
\[\begin{split}x(\theta) = a\cos\theta \\
|
||||
y(\theta) = b\sin\theta \\
|
||||
\theta = \left[0, 2\pi\right]\end{split}\]</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">*</span> <span class="o">.*</span>
|
||||
<span class="o">*</span> <span class="n">b</span> <span class="p">:</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="p">:</span><span class="o">......*</span>
|
||||
<span class="o">*</span> <span class="n">a</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">ellipse</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">ellipse</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">interval</span> <span class="o">=</span> <span class="n">ellipse</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.epitrochoid">
|
||||
<code class="sig-name descname">epitrochoid</code><span class="sig-paren">(</span><em class="sig-param">R</em>, <em class="sig-param">r</em>, <em class="sig-param">d</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#epitrochoid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.epitrochoid" title="Permalink to this definition">¶</a></dt>
|
||||
@@ -93,7 +289,7 @@ circle of radius R.</p>
|
||||
<dd class="field-even"><p>float</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Results</dt>
|
||||
<dd class="field-odd"><p>functions for x of theta and y of theta</p>
|
||||
<dd class="field-odd"><p>functions for x of theta and y of theta and the interval</p>
|
||||
</dd>
|
||||
<dt class="field-even">Return type</dt>
|
||||
<dd class="field-even"><p>tuple</p>
|
||||
@@ -108,7 +304,7 @@ y(\theta) = (R + r)\sin\theta - d\sin\left(\frac{R+r}{r}\theta\right) \\
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="n">r</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">**</span> <span class="o">....</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">**</span> <span class="o">..</span><span class="p">,</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">**</span> <span class="n">d</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
@@ -117,8 +313,9 @@ y(\theta) = (R + r)\sin\theta - d\sin\left(\frac{R+r}{r}\theta\right) \\
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">epitrochoid</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)[:</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">theta_end</span> <span class="o">=</span> <span class="n">epitrochoid</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)</span>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">epitrochoid</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">epitrochoid</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">interval</span> <span class="o">=</span> <span class="n">epitrochoid</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd></dl>
|
||||
@@ -142,7 +339,7 @@ circle of radius R.</p>
|
||||
<dd class="field-even"><p>float</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Results</dt>
|
||||
<dd class="field-odd"><p>functions for x of theta and y of theta</p>
|
||||
<dd class="field-odd"><p>functions for x of theta and y of theta and the interval</p>
|
||||
</dd>
|
||||
<dt class="field-even">Return type</dt>
|
||||
<dd class="field-even"><p>tuple</p>
|
||||
@@ -157,7 +354,7 @@ y(\theta) = (R - r)\sin\theta - d\sin\left(\frac{R-r}{r}\theta\right) \\
|
||||
<span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="n">r</span> <span class="o">**</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">....</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="p">,</span><span class="o">..</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="n">d</span> <span class="o">*</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">**</span>
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
@@ -166,8 +363,9 @@ y(\theta) = (R - r)\sin\theta - d\sin\left(\frac{R-r}{r}\theta\right) \\
|
||||
<span class="o">*</span> <span class="o">*</span> <span class="o">*</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">hyotrochoid</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">)[:</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">theta_end</span> <span class="o">=</span> <span class="n">hyotrochoid</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">hyotrochoid</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">hyotrochoid</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">interval</span> <span class="o">=</span> <span class="n">hyotrochoid</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition seealso">
|
||||
@@ -176,6 +374,16 @@ y(\theta) = (R - r)\sin\theta - d\sin\left(\frac{R-r}{r}\theta\right) \\
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.sample_half_open">
|
||||
<code class="sig-name descname">sample_half_open</code><span class="sig-paren">(</span><em class="sig-param">f</em>, <em class="sig-param">a</em>, <em class="sig-param">b</em>, <em class="sig-param">n=50</em>, <em class="sig-param">endpoint_epsilon=1e-07</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#sample_half_open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.sample_half_open" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.sample_half_open_seq">
|
||||
<code class="sig-name descname">sample_half_open_seq</code><span class="sig-paren">(</span><em class="sig-param">f</em>, <em class="sig-param">x</em>, <em class="sig-param">endpoint_epsilon=1e-07</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#sample_half_open_seq"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.sample_half_open_seq" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="pylib.function.sine_wave">
|
||||
<code class="sig-name descname">sine_wave</code><span class="sig-paren">(</span><em class="sig-param">A=1</em>, <em class="sig-param">k=1</em>, <em class="sig-param">f=1</em>, <em class="sig-param">phi=0</em>, <em class="sig-param">D=0</em>, <em class="sig-param">degree=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/function.html#sine_wave"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.function.sine_wave" title="Permalink to this definition">¶</a></dt>
|
||||
@@ -198,11 +406,14 @@ interpreted in degrees.</p></li>
|
||||
<dd class="field-even"><p>sine wave function of spatial variable x and optional
|
||||
time t</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>function</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>In general, the function is:</p>
|
||||
<div class="math notranslate nohighlight">
|
||||
\[\begin{split}y(x,t) = A\sin(kx + 2\pi f t + \varphi) + D \\
|
||||
y(x,t) = A\sin(kx + \omega t + \varphi) + D\end{split}\]</div>
|
||||
\[\begin{split}y(x,t) = A\sin(kx + \omega t + \varphi) + D \\
|
||||
y(x,t) = A\sin(kx + 2\pi f t + \varphi) + D\end{split}\]</div>
|
||||
<p>where:</p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
@@ -246,7 +457,7 @@ which are normed to the range of [0, 1] to</p>
|
||||
<li><p><strong>h</strong> (<em>int</em>) – number of chars in vertical direction</p></li>
|
||||
<li><p><strong>w</strong> (<em>int</em>) – number of chars in horizontal direction</p></li>
|
||||
<li><p><strong>char_set</strong> (<em>str</em>) – either “braille” or “block”. “braille” uses Unicode
|
||||
Characters in the Braille Patterns Block (fisrt index U+2800, last
|
||||
Characters in the Braille Patterns Block (first index U+2800, last
|
||||
index U+28FF <a class="reference internal" href="#cudb" id="id1"><span>[CUDB]</span></a>) and the “block” uses part of the Unicode
|
||||
Characters in the Block Elements Block (fisrt index U+2580, last
|
||||
index U+259F <a class="reference internal" href="#cudb" id="id2"><span>[CUDB]</span></a>). Alias for braille is line and alias for
|
||||
|
||||
Reference in New Issue
Block a user