add issequence function to data and plot functions and examples for geometry

This commit is contained in:
2019-12-26 10:56:33 +01:00
parent 3be9e2f20f
commit 4b42d7b508
49 changed files with 2845 additions and 628 deletions

View File

@@ -36,16 +36,23 @@
<div class="section" id="module-pylib.geometry">
<span id="pylib-geometry-module"></span><h1>pylib.geometry module<a class="headerlink" href="#module-pylib.geometry" title="Permalink to this headline"></a></h1>
<p>2D geometry objects.</p>
<p>Geometry objects.</p>
<dl class="field-list simple">
<dt class="field-odd">Date</dt>
<dd class="field-odd"><p>2019-12-21</p>
</dd>
</dl>
<span class="target" id="module-geometry"></span><dl class="class">
<span class="target" id="module-geometry"></span><div class="section" id="affine-transforms">
<h2>Affine transforms<a class="headerlink" href="#affine-transforms" title="Permalink to this headline"></a></h2>
<p>Functions in augmented space, in homogenous coordinates.
Points are augment to 4 dimensions, by adding a dummy coordinate.
For points the dummy coordinate is always normalized to 1.
With homogenous coordinates translation of points is repesentable
as a linear transformation.</p>
<dl class="class">
<dt id="pylib.geometry.CS">
<em class="property">class </em><code class="sig-name descname">CS</code><span class="sig-paren">(</span><em class="sig-param">x=[1, 0, 0], y=[0, 1, 0], z=[0, 0, 1]</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#CS"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.CS" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mathematics.matrix</span></code></p>
<dd><p>Bases: <a class="reference internal" href="pylib.mathematics.html#pylib.mathematics.matrix" title="pylib.mathematics.matrix"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylib.mathematics.matrix</span></code></a></p>
<p>Coordinate system</p>
<dl class="method">
<dt id="pylib.geometry.CS.get_coordinates">
@@ -85,13 +92,20 @@
<dl class="class">
<dt id="pylib.geometry.Direction">
<em class="property">class </em><code class="sig-name descname">Direction</code><span class="sig-paren">(</span><em class="sig-param">x=1</em>, <em class="sig-param">y=0</em>, <em class="sig-param">z=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Direction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Direction" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mathematics.vector</span></code></p>
<dd><p>Bases: <a class="reference internal" href="pylib.mathematics.html#pylib.mathematics.vector" title="pylib.mathematics.vector"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylib.mathematics.vector</span></code></a></p>
<p>Direction in local coordinate system</p>
</dd></dl>
<dl class="class">
<dt id="pylib.geometry.Hexahedron">
<em class="property">class </em><code class="sig-name descname">Hexahedron</code><span class="sig-paren">(</span><em class="sig-param">point1=vector([-1</em>, <em class="sig-param">-1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point2=vector([1</em>, <em class="sig-param">-1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point3=vector([1</em>, <em class="sig-param">1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point4=vector([-1</em>, <em class="sig-param">1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point5=vector([-1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point6=vector([1</em>, <em class="sig-param">-1</em>, <em class="sig-param">1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point7=vector([1</em>, <em class="sig-param">1</em>, <em class="sig-param">1</em>, <em class="sig-param">1])</em>, <em class="sig-param">point8=vector([-1</em>, <em class="sig-param">1</em>, <em class="sig-param">1</em>, <em class="sig-param">1])</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Hexahedron"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Hexahedron" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pylib.geometry.Solid" title="pylib.geometry.Solid"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylib.geometry.Solid</span></code></a></p>
<p>Line a open wireframe object in local coordinate system</p>
</dd></dl>
<dl class="class">
<dt id="pylib.geometry.Line">
<em class="property">class </em><code class="sig-name descname">Line</code><span class="sig-paren">(</span><em class="sig-param">point1=vector([-1</em>, <em class="sig-param">0</em>, <em class="sig-param">0])</em>, <em class="sig-param">point2=vector([1</em>, <em class="sig-param">0</em>, <em class="sig-param">0])</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Line" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-name descname">Line</code><span class="sig-paren">(</span><em class="sig-param">point1=vector([-1</em>, <em class="sig-param">0</em>, <em class="sig-param">0</em>, <em class="sig-param">1])</em>, <em class="sig-param">point2=vector([1</em>, <em class="sig-param">0</em>, <em class="sig-param">0</em>, <em class="sig-param">1])</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Line" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pylib.geometry.Wireframe" title="pylib.geometry.Wireframe"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylib.geometry.Wireframe</span></code></a></p>
<p>Line a open wireframe object in local coordinate system</p>
</dd></dl>
@@ -99,8 +113,14 @@
<dl class="class">
<dt id="pylib.geometry.Point">
<em class="property">class </em><code class="sig-name descname">Point</code><span class="sig-paren">(</span><em class="sig-param">x=0</em>, <em class="sig-param">y=0</em>, <em class="sig-param">z=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Point"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Point" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mathematics.vector</span></code></p>
<dd><p>Bases: <a class="reference internal" href="pylib.mathematics.html#pylib.mathematics.vector" title="pylib.mathematics.vector"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylib.mathematics.vector</span></code></a></p>
<p>Point in local coordinate system</p>
<dl class="method">
<dt id="pylib.geometry.Point.projection">
<code class="sig-name descname">projection</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Point.projection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Point.projection" title="Permalink to this definition"></a></dt>
<dd><p>Orthographic projection to the xy-plane</p>
</dd></dl>
</dd></dl>
<dl class="class">
@@ -110,12 +130,53 @@
<p>Polygon as closed wireframe object in local coordinate system</p>
</dd></dl>
<dl class="class">
<dt id="pylib.geometry.Solid">
<em class="property">class </em><code class="sig-name descname">Solid</code><span class="sig-paren">(</span><em class="sig-param">*wireframes</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Solid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Solid" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Solid object in local coordinate system</p>
<p>This class lists Wireframe objects.
The Wireframe class create its own points (copy).</p>
<dl class="method">
<dt id="pylib.geometry.Solid.ch_cs">
<code class="sig-name descname">ch_cs</code><span class="sig-paren">(</span><em class="sig-param">cs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Solid.ch_cs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Solid.ch_cs" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.Solid.scale">
<code class="sig-name descname">scale</code><span class="sig-paren">(</span><em class="sig-param">sx</em>, <em class="sig-param">sy=None</em>, <em class="sig-param">sz=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Solid.scale"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Solid.scale" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.Solid.translate">
<code class="sig-name descname">translate</code><span class="sig-paren">(</span><em class="sig-param">tx</em>, <em class="sig-param">ty</em>, <em class="sig-param">tz</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Solid.translate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Solid.translate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.Solid.wireframes">
<code class="sig-name descname">wireframes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Solid.wireframes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Solid.wireframes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="pylib.geometry.Wireframe">
<em class="property">class </em><code class="sig-name descname">Wireframe</code><span class="sig-paren">(</span><em class="sig-param">*points</em>, <em class="sig-param">closed=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Open and closed wireframe object in local coordinate system</p>
<p>This class create its own points (copy).</p>
<dl class="method">
<dt id="pylib.geometry.Wireframe.__iter__">
<code class="sig-name descname">__iter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.__iter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.__iter__" title="Permalink to this definition"></a></dt>
<dd><p>Returns the Iterator object</p>
</dd></dl>
<dl class="method">
<dt id="pylib.geometry.Wireframe.__str__">
<code class="sig-name descname">__str__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.__str__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.__str__" title="Permalink to this definition"></a></dt>
<dd><p>Return str(self).</p>
</dd></dl>
<dl class="method">
<dt id="pylib.geometry.Wireframe.ch_cs">
<code class="sig-name descname">ch_cs</code><span class="sig-paren">(</span><em class="sig-param">cs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.ch_cs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.ch_cs" title="Permalink to this definition"></a></dt>
@@ -152,10 +213,17 @@
<code class="sig-name descname">translate</code><span class="sig-paren">(</span><em class="sig-param">tx</em>, <em class="sig-param">ty</em>, <em class="sig-param">tz</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.translate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.translate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.Wireframe.xy">
<code class="sig-name descname">xy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.xy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.xy" title="Permalink to this definition"></a></dt>
<dd><p>Get coordinates in 3d space</p>
</dd></dl>
<dl class="method">
<dt id="pylib.geometry.Wireframe.xyz">
<code class="sig-name descname">xyz</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#Wireframe.xyz"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.Wireframe.xyz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dd><p>Get coordinates in 3d space</p>
</dd></dl>
</dd></dl>
@@ -164,6 +232,12 @@
<em class="property">class </em><code class="sig-name descname">World</code><a class="reference internal" href="_modules/pylib/geometry.html#World"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>World-space with world-space coordinates</p>
<dl class="method">
<dt id="pylib.geometry.World.__iter__">
<code class="sig-name descname">__iter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.__iter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.__iter__" title="Permalink to this definition"></a></dt>
<dd><p>Returns the Iterator object</p>
</dd></dl>
<dl class="method">
<dt id="pylib.geometry.World.add">
<code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param">*objects</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.add" title="Permalink to this definition"></a></dt>
@@ -224,8 +298,24 @@
<code class="sig-name descname">translate</code><span class="sig-paren">(</span><em class="sig-param">tx</em>, <em class="sig-param">ty</em>, <em class="sig-param">tz</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.translate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.translate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.World.wireframes">
<code class="sig-name descname">wireframes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.wireframes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.wireframes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.World.wireframes_xy">
<code class="sig-name descname">wireframes_xy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.wireframes_xy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.wireframes_xy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pylib.geometry.World.wireframes_xyz">
<code class="sig-name descname">wireframes_xyz</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylib/geometry.html#World.wireframes_xyz"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylib.geometry.World.wireframes_xyz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>