add vector class and matrix class

This commit is contained in:
2019-12-20 12:29:56 +01:00
parent b0db7ab3dc
commit 0df813797d
31 changed files with 4308 additions and 94 deletions

View File

@@ -37,7 +37,7 @@
<span class="c1"># -*- coding: utf-8 -*-</span>
<span class="sd">&quot;&quot;&quot;Mathematical equations.</span>
<span class="sd">:Date: 2019-11-04</span>
<span class="sd">:Date: 2019-11-15</span>
<span class="sd">.. module:: function</span>
<span class="sd"> :platform: *nix, Windows</span>
@@ -46,7 +46,8 @@
<span class="sd">.. moduleauthor:: Daniel Weschke &lt;daniel.weschke@directbox.de&gt;</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="kn">import</span> <span class="nn">math</span>
<span class="kn">from</span> <span class="nn">pylib.mathematics</span> <span class="k">import</span> <span class="n">lcm</span>
<span class="kn">from</span> <span class="nn">pylib.data</span> <span class="kn">import</span> <span class="n">seq</span>
<span class="kn">from</span> <span class="nn">pylib.mathematics</span> <span class="kn">import</span> <span class="n">lcm</span>
<div class="viewcode-block" id="transformation"><a class="viewcode-back" href="../function.html#function.transformation">[docs]</a><span class="k">def</span> <span class="nf">transformation</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">scale_vertical</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">scale_horizontal</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
<span class="n">shift_horizontal</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">shift_vertical</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
@@ -420,6 +421,8 @@
<span class="n">window_factor</span> <span class="o">=</span> <span class="n">w</span><span class="o">/</span><span class="p">(</span><span class="n">x_1</span><span class="o">-</span><span class="n">x_0</span><span class="p">)</span>
<span class="n">frame</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="k">if</span> <span class="n">char_set</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;line&quot;</span><span class="p">,</span> <span class="s2">&quot;braille&quot;</span><span class="p">]:</span>
<span class="kn">import</span> <span class="nn">drawille</span>
<span class="n">pixels_horizontal</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">pixels_vertical</span> <span class="o">=</span> <span class="mi">4</span>
<span class="n">a</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="n">h</span><span class="o">*</span><span class="n">pixels_vertical</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
@@ -434,6 +437,8 @@
<span class="c1">#frame = canvas.frame(min_x=a*pixel_per_char, min_y=1, max_x=b*pixel_per_char, max_y=21)</span>
<span class="n">frame</span> <span class="o">=</span> <span class="n">canvas</span><span class="o">.</span><span class="n">frame</span><span class="p">()</span>
<span class="k">elif</span> <span class="n">char_set</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;histogram&quot;</span><span class="p">,</span> <span class="s2">&quot;block&quot;</span><span class="p">]:</span>
<span class="kn">import</span> <span class="nn">drawblock</span>
<span class="n">pixels_horizontal</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">pixels_vertical</span> <span class="o">=</span> <span class="mi">8</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">h</span><span class="o">*</span><span class="n">pixels_vertical</span><span class="o">-</span><span class="mi">1</span>