add sequence function seq
This commit is contained in:
34
docs/build/html/_modules/data.html
vendored
34
docs/build/html/_modules/data.html
vendored
@@ -35,13 +35,13 @@
|
||||
<h1>Source code for data</h1><div class="highlight"><pre>
|
||||
<span></span><span class="ch">#!/usr/bin/env python</span>
|
||||
<span class="c1"># -*- coding: utf-8 -*-</span>
|
||||
<span class="sd">"""Read and write data to or from file.</span>
|
||||
<span class="sd">"""Read and write data to or from file and manipulate data structures.</span>
|
||||
|
||||
<span class="sd">:Date: 2019-07-29</span>
|
||||
<span class="sd">:Date: 2019-10-11</span>
|
||||
|
||||
<span class="sd">.. module:: data</span>
|
||||
<span class="sd"> :platform: *nix, Windows</span>
|
||||
<span class="sd"> :synopsis: Handle data files.</span>
|
||||
<span class="sd"> :synopsis: Handle data files and structures.</span>
|
||||
|
||||
<span class="sd">.. moduleauthor:: Daniel Weschke <daniel.weschke@directbox.de></span>
|
||||
<span class="sd">"""</span>
|
||||
@@ -155,6 +155,34 @@
|
||||
<span class="n">length</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="o">/</span><span class="n">n</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">lst</span><span class="p">[</span><span class="n">i</span><span class="o">*</span><span class="n">n</span><span class="p">:</span><span class="n">i</span><span class="o">*</span><span class="n">n</span><span class="o">+</span><span class="n">n</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">length</span><span class="p">)]</span></div>
|
||||
|
||||
<div class="viewcode-block" id="seq"><a class="viewcode-back" href="../data.html#data.seq">[docs]</a><span class="k">def</span> <span class="nf">seq</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sa">r</span><span class="sd">"""Create an arithmetic bounded sequence.</span>
|
||||
|
||||
<span class="sd"> The sequence is one of the following;</span>
|
||||
|
||||
<span class="sd"> - empty :math:`\{\}=\emptyset`, if start and stop are the same</span>
|
||||
<span class="sd"> - degenerate :math:`\{a\}`, if the sequence has only one element.</span>
|
||||
<span class="sd"> - left-close and right-open :math:`[a, b)`</span>
|
||||
|
||||
<span class="sd"> :param start: start of the sequence, the lower bound. If only start</span>
|
||||
<span class="sd"> is given than it is interpreted as stop and start will be 0.</span>
|
||||
<span class="sd"> :type start: int or float</span>
|
||||
<span class="sd"> :param stop: stop of sequence, the upper bound.</span>
|
||||
<span class="sd"> :type stop: int or float</span>
|
||||
<span class="sd"> :param step: step size, the common difference (constant difference</span>
|
||||
<span class="sd"> between consecutive terms).</span>
|
||||
<span class="sd"> :type step: int or float</span>
|
||||
<span class="sd"> :returns: arithmetic bounded sequence</span>
|
||||
<span class="sd"> :rtype: list</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">stop</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">seq</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span>
|
||||
<span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">ceil</span><span class="p">((</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span><span class="p">)</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="n">step</span><span class="p">)))</span>
|
||||
<span class="n">lst</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">if</span> <span class="n">n</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">lst</span> <span class="o">=</span> <span class="p">[</span><span class="n">start</span> <span class="o">+</span> <span class="n">step</span><span class="o">*</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
|
||||
<span class="k">return</span> <span class="n">lst</span></div>
|
||||
|
||||
<div class="viewcode-block" id="unique_ending"><a class="viewcode-back" href="../data.html#data.unique_ending">[docs]</a><span class="k">def</span> <span class="nf">unique_ending</span><span class="p">(</span><span class="n">ids</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">"""From id list get list with unique ending.</span>
|
||||
|
||||
|
||||
34
docs/build/html/_modules/geometry.html
vendored
34
docs/build/html/_modules/geometry.html
vendored
@@ -37,7 +37,7 @@
|
||||
<span class="c1"># -*- coding: utf-8 -*-</span>
|
||||
<span class="sd">"""2D geometry objects.</span>
|
||||
|
||||
<span class="sd">:Date: 2019-08-20</span>
|
||||
<span class="sd">:Date: 2019-08-28</span>
|
||||
|
||||
<span class="sd">.. module:: geometry</span>
|
||||
<span class="sd"> :platform: *nix, Windows</span>
|
||||
@@ -49,6 +49,36 @@
|
||||
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="distance"><a class="viewcode-back" href="../geometry.html#geometry.distance">[docs]</a><span class="k">def</span> <span class="nf">distance</span><span class="p">(</span><span class="n">point1</span><span class="p">,</span> <span class="n">point2</span><span class="p">):</span>
|
||||
<span class="sd">"""Distance between two points (or length of a straight line).</span>
|
||||
|
||||
<span class="sd"> :param point1: first point (first end point of straight line)</span>
|
||||
<span class="sd"> :type point1: tuple</span>
|
||||
<span class="sd"> :param point2: second point (second end point of straight line)</span>
|
||||
<span class="sd"> :type point2: tuple</span>
|
||||
|
||||
<span class="sd"> :returns: distance between the two points</span>
|
||||
<span class="sd"> :rtype: float</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">point2</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">point1</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="p">(</span><span class="n">point2</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">point1</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="angle"><a class="viewcode-back" href="../geometry.html#geometry.angle">[docs]</a><span class="k">def</span> <span class="nf">angle</span><span class="p">(</span><span class="n">point1</span><span class="p">,</span> <span class="n">point2</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">"""Angle of point or between two points.</span>
|
||||
|
||||
<span class="sd"> :param point1: (first) point</span>
|
||||
<span class="sd"> :type point1: tuple</span>
|
||||
<span class="sd"> :param point2: second point (default = None)</span>
|
||||
<span class="sd"> :type point2: tuple</span>
|
||||
|
||||
<span class="sd"> :returns: angle of point or between two points</span>
|
||||
<span class="sd"> :rtype: float</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">point2</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">math</span><span class="o">.</span><span class="n">atan2</span><span class="p">(</span><span class="n">point1</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">point1</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="k">return</span> <span class="n">math</span><span class="o">.</span><span class="n">atan2</span><span class="p">(</span><span class="n">point2</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">point1</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">point2</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">point1</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="translate"><a class="viewcode-back" href="../geometry.html#geometry.translate">[docs]</a><span class="k">def</span> <span class="nf">translate</span><span class="p">(</span><span class="n">vec</span><span class="p">,</span> <span class="o">*</span><span class="n">pts</span><span class="p">):</span>
|
||||
<span class="sd">"""Translate a point or polygon by a given vector.</span>
|
||||
|
||||
@@ -316,7 +346,7 @@
|
||||
<span class="k">if</span> <span class="s1">'global_deformation'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">lr</span> <span class="o">=</span> <span class="p">[(</span><span class="n">pts</span><span class="p">[</span><span class="n">l</span><span class="o">-</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">'index_offset'</span><span class="p">]],</span>
|
||||
<span class="n">pts</span><span class="p">[</span><span class="n">r</span><span class="o">-</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">'index_offset'</span><span class="p">]])</span> <span class="k">for</span> <span class="n">l</span><span class="p">,</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">'inc'</span><span class="p">]]</span>
|
||||
<span class="n">ang</span> <span class="o">=</span> <span class="p">[</span><span class="n">math</span><span class="o">.</span><span class="n">atan2</span><span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">r</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="k">for</span> <span class="n">l</span><span class="p">,</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">lr</span><span class="p">]</span>
|
||||
<span class="n">ang</span> <span class="o">=</span> <span class="p">[</span><span class="n">angle</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">r</span><span class="p">)</span> <span class="k">for</span> <span class="n">l</span><span class="p">,</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">lr</span><span class="p">]</span>
|
||||
<span class="c1"># system deformation</span>
|
||||
<span class="n">U</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">'global_deformation'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="s1">'rotation_plane'</span> <span class="ow">in</span> <span class="n">kwargs</span> <span class="ow">and</span> <span class="s1">'xz'</span> <span class="o">==</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">'rotation_plane'</span><span class="p">]:</span>
|
||||
|
||||
8
docs/build/html/_modules/geometry_plot.html
vendored
8
docs/build/html/_modules/geometry_plot.html
vendored
@@ -47,7 +47,9 @@
|
||||
<span class="sd">"""</span>
|
||||
<span class="kn">import</span> <span class="nn">math</span>
|
||||
<span class="kn">import</span> <span class="nn">pylab</span>
|
||||
<span class="kn">from</span> <span class="nn">geometry</span> <span class="k">import</span> <span class="n">line</span><span class="p">,</span> <span class="n">interpolate_hermite</span><span class="p">,</span> <span class="n">rotate_xy</span><span class="p">,</span> <span class="n">translate_xy</span>
|
||||
<span class="kn">from</span> <span class="nn">geometry</span> <span class="k">import</span> <span class="p">(</span>
|
||||
<span class="n">distance</span><span class="p">,</span> <span class="n">angle</span><span class="p">,</span> <span class="n">line</span><span class="p">,</span> <span class="n">interpolate_hermite</span><span class="p">,</span> <span class="n">rotate_xy</span><span class="p">,</span> <span class="n">translate_xy</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">pylab</span><span class="o">.</span><span class="n">style</span><span class="o">.</span><span class="n">use</span><span class="p">(</span><span class="s1">'dark_background'</span><span class="p">)</span>
|
||||
<span class="n">pylab</span><span class="o">.</span><span class="n">rcParams</span><span class="p">[</span><span class="s1">'grid.color'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'gray'</span>
|
||||
@@ -109,8 +111,8 @@
|
||||
|
||||
<span class="k">for</span> <span class="n">ln</span> <span class="ow">in</span> <span class="n">lns</span><span class="p">:</span>
|
||||
<span class="n">l</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="n">ln</span>
|
||||
<span class="n">L</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">r</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
|
||||
<span class="n">ang</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">atan2</span><span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">r</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">l</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="n">L</span> <span class="o">=</span> <span class="n">distance</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">r</span><span class="p">)</span>
|
||||
<span class="n">ang</span> <span class="o">=</span> <span class="n">angle</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">r</span><span class="p">)</span>
|
||||
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">interpolate_hermite</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span>
|
||||
<span class="n">scale_x</span><span class="o">=</span><span class="n">L</span><span class="p">,</span> <span class="n">scale_y</span><span class="o">=</span><span class="n">factor</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="n">samples</span><span class="p">)</span>
|
||||
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">rotate_xy</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">ang</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
|
||||
|
||||
Reference in New Issue
Block a user