351 lines
25 KiB
HTML
351 lines
25 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>function — pylib 2019.5.19 documentation</title>
|
||
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||
<script type="text/javascript" src="../_static/jquery.js"></script>
|
||
<script type="text/javascript" src="../_static/underscore.js"></script>
|
||
<script type="text/javascript" src="../_static/doctools.js"></script>
|
||
<script type="text/javascript" src="../_static/language_data.js"></script>
|
||
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
|
||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||
|
||
</head><body>
|
||
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
|
||
|
||
<div class="body" role="main">
|
||
|
||
<h1>Source code for function</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">"""Mathematical equations.</span>
|
||
|
||
<span class="sd">:Date: 2019-11-04</span>
|
||
|
||
<span class="sd">.. module:: function</span>
|
||
<span class="sd"> :platform: *nix, Windows</span>
|
||
<span class="sd"> :synopsis: Mathematical equations.</span>
|
||
|
||
<span class="sd">.. moduleauthor:: Daniel Weschke <daniel.weschke@directbox.de></span>
|
||
<span class="sd">"""</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>
|
||
|
||
<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>
|
||
<span class="sa">r</span><span class="sd">"""Transform functions.</span>
|
||
|
||
<span class="sd"> :param f: function or list of functions</span>
|
||
<span class="sd"> :type f: function or list</span>
|
||
<span class="sd"> :param scale_vertical: "a" scale factor in vertical direction (default</span>
|
||
<span class="sd"> = 1)</span>
|
||
<span class="sd"> :type height: float</span>
|
||
<span class="sd"> :param scale_horizontal: "b" scale factor in horizontal direction</span>
|
||
<span class="sd"> (default = 1)</span>
|
||
<span class="sd"> :type height: float</span>
|
||
<span class="sd"> :param shift_horizontal: "c" shift factor in horizontal direction</span>
|
||
<span class="sd"> (default = 0)</span>
|
||
<span class="sd"> :type height: float</span>
|
||
<span class="sd"> :param shift_vertical: "d" shift factor in vertical direction (default</span>
|
||
<span class="sd"> = 0)</span>
|
||
<span class="sd"> :type height: float</span>
|
||
|
||
<span class="sd"> :returns: transformed function or list of transformed functions</span>
|
||
<span class="sd"> :rtype: function or list</span>
|
||
|
||
<span class="sd"> .. math::</span>
|
||
<span class="sd"> y = a \, f(b\,(x-c)) + d</span>
|
||
<span class="sd"> """</span>
|
||
<span class="c1"># shorter variables</span>
|
||
<span class="n">a</span> <span class="o">=</span> <span class="n">scale_vertical</span>
|
||
<span class="n">b</span> <span class="o">=</span> <span class="n">scale_horizontal</span>
|
||
<span class="n">c</span> <span class="o">=</span> <span class="n">shift_horizontal</span>
|
||
<span class="n">d</span> <span class="o">=</span> <span class="n">shift_vertical</span>
|
||
|
||
<span class="c1"># check if f is a function than put it in a list and return only</span>
|
||
<span class="c1"># the function, not the one element list</span>
|
||
<span class="k">if</span> <span class="n">callable</span><span class="p">(</span><span class="n">f</span><span class="p">):</span>
|
||
<span class="k">return</span> <span class="n">transformation</span><span class="p">(</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="n">a</span><span class="p">,</span> <span class="n">scale_horizontal</span><span class="o">=</span><span class="n">b</span><span class="p">,</span> <span class="n">shift_horizontal</span><span class="o">=</span><span class="n">c</span><span class="p">,</span> <span class="n">shift_vertical</span><span class="o">=</span><span class="n">d</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||
|
||
<span class="c1"># otherwise assume list of functions</span>
|
||
<span class="k">if</span> <span class="ow">not</span> <span class="n">f</span><span class="p">:</span> <span class="c1"># if f is empty. End of the recursive fucntion</span>
|
||
<span class="k">return</span> <span class="p">[]</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="p">:</span> <span class="n">a</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="mi">0</span><span class="p">](</span><span class="n">b</span><span class="o">*</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="n">c</span><span class="p">),</span> <span class="n">t</span><span class="p">)</span><span class="o">+</span><span class="n">d</span><span class="p">]</span> <span class="o">+</span>\
|
||
<span class="n">transformation</span><span class="p">(</span>
|
||
<span class="n">f</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">scale_vertical</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">scale_horizontal</span><span class="o">=</span><span class="n">b</span><span class="p">,</span> <span class="n">shift_horizontal</span><span class="o">=</span><span class="n">c</span><span class="p">,</span> <span class="n">shift_vertical</span><span class="o">=</span><span class="n">d</span><span class="p">)</span></div>
|
||
|
||
<div class="viewcode-block" id="sine_wave"><a class="viewcode-back" href="../function.html#function.sine_wave">[docs]</a><span class="k">def</span> <span class="nf">sine_wave</span><span class="p">(</span><span class="n">A</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">f</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">phi</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">D</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">degree</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||
<span class="sa">r</span><span class="sd">"""A sine wave or sinusoid is a mathematical curve that describes a</span>
|
||
<span class="sd"> smooth periodic oscillation.</span>
|
||
|
||
<span class="sd"> :param A: amplitude</span>
|
||
<span class="sd"> :type A: float or int</span>
|
||
<span class="sd"> :param k: (angular) wave number</span>
|
||
<span class="sd"> :type k: float or int</span>
|
||
<span class="sd"> :param f: ordinary frequency</span>
|
||
<span class="sd"> :type f: float or int</span>
|
||
<span class="sd"> :param phi: phase</span>
|
||
<span class="sd"> :type phi: float or int</span>
|
||
<span class="sd"> :param D: non-zero center amplitude</span>
|
||
<span class="sd"> :type D: float or int</span>
|
||
<span class="sd"> :param degree: boolean to switch between radians and degree. If</span>
|
||
<span class="sd"> False phi is interpreted in radians and if True then phi is</span>
|
||
<span class="sd"> interpreted in degrees.</span>
|
||
<span class="sd"> :type degree: bool</span>
|
||
|
||
<span class="sd"> :results: sine wave function of spatial variable x and optional</span>
|
||
<span class="sd"> time t</span>
|
||
|
||
<span class="sd"> In general, the function is:</span>
|
||
|
||
<span class="sd"> .. math::</span>
|
||
<span class="sd"> y(x,t) = A\sin(kx + 2\pi f t + \varphi) + D \\</span>
|
||
<span class="sd"> y(x,t) = A\sin(kx + \omega t + \varphi) + D</span>
|
||
|
||
<span class="sd"> where:</span>
|
||
|
||
<span class="sd"> * A, amplitude, the peak deviation of the function from zero.</span>
|
||
<span class="sd"> * f, ordinary frequency, the number of oscillations (cycles) that</span>
|
||
<span class="sd"> occur each second of time.</span>
|
||
<span class="sd"> * ω = 2πf, angular frequency, the rate of change of the function</span>
|
||
<span class="sd"> argument in units of radians per second. If ω < 0 the wave is</span>
|
||
<span class="sd"> moving to the right, if ω > 0 the wave is moving to the left.</span>
|
||
<span class="sd"> * φ, phase, specifies (in radians) where in its cycle the</span>
|
||
<span class="sd"> oscillation is at t = 0.</span>
|
||
<span class="sd"> * x, spatial variable that represents the position on the</span>
|
||
<span class="sd"> dimension on which the wave propagates.</span>
|
||
<span class="sd"> * k, characteristic parameter called wave number (or angular wave</span>
|
||
<span class="sd"> number), which represents the proportionality between the</span>
|
||
<span class="sd"> angular frequency ω and the linear speed (speed of propagation)</span>
|
||
<span class="sd"> ν.</span>
|
||
<span class="sd"> * D, non-zero center amplitude.</span>
|
||
|
||
<span class="sd"> The wavenumber is related to the angular frequency by:</span>
|
||
|
||
<span class="sd"> .. math::</span>
|
||
<span class="sd"> k={\omega \over v}={2\pi f \over v}={2\pi \over \lambda }</span>
|
||
|
||
<span class="sd"> where λ (lambda) is the wavelength, f is the frequency, and v is the</span>
|
||
<span class="sd"> linear speed.</span>
|
||
|
||
<span class="sd"> .. seealso::</span>
|
||
<span class="sd"> :meth:`function_cosine_wave_degree`</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">if</span> <span class="n">degree</span><span class="p">:</span>
|
||
<span class="n">phi</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">radians</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="mi">0</span><span class="p">:</span> <span class="n">A</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">k</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="mi">2</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">*</span><span class="n">f</span><span class="o">*</span><span class="n">t</span> <span class="o">+</span> <span class="n">phi</span><span class="p">)</span> <span class="o">+</span> <span class="n">D</span></div>
|
||
|
||
<div class="viewcode-block" id="cosine_wave"><a class="viewcode-back" href="../function.html#function.cosine_wave">[docs]</a><span class="k">def</span> <span class="nf">cosine_wave</span><span class="p">(</span><span class="n">A</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">f</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">phi</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">D</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">degree</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||
<span class="sa">r</span><span class="sd">"""A cosine wave is said to be sinusoidal, because,</span>
|
||
<span class="sd"> :math:`\cos(x) = \sin(x + \pi/2)`, which is also a sine wave with a</span>
|
||
<span class="sd"> phase-shift of π/2 radians. Because of this head start, it is often</span>
|
||
<span class="sd"> said that the cosine function leads the sine function or the sine</span>
|
||
<span class="sd"> lags the cosine.</span>
|
||
|
||
<span class="sd"> :param A: amplitude</span>
|
||
<span class="sd"> :type A: float or int</span>
|
||
<span class="sd"> :param k: (angular) wave number</span>
|
||
<span class="sd"> :type k: float or int</span>
|
||
<span class="sd"> :param f: ordinary frequency</span>
|
||
<span class="sd"> :type f: float or int</span>
|
||
<span class="sd"> :param phi: phase</span>
|
||
<span class="sd"> :type phi: float or int</span>
|
||
<span class="sd"> :param D: non-zero center amplitude</span>
|
||
<span class="sd"> :type D: float or int</span>
|
||
<span class="sd"> :param degree: boolean to switch between radians and degree. If</span>
|
||
<span class="sd"> False phi is interpreted in radians and if True then phi is</span>
|
||
<span class="sd"> interpreted in degrees.</span>
|
||
<span class="sd"> :type degree: bool</span>
|
||
|
||
<span class="sd"> :results: sine wave function of spatial variable x and optional</span>
|
||
<span class="sd"> time t</span>
|
||
|
||
<span class="sd"> .. seealso::</span>
|
||
<span class="sd"> :meth:`function_sine_wave_degree`</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">if</span> <span class="n">degree</span><span class="p">:</span>
|
||
<span class="n">phi</span> <span class="o">=</span> <span class="n">phi</span> <span class="o">+</span> <span class="mi">90</span>
|
||
<span class="k">else</span><span class="p">:</span>
|
||
<span class="n">phi</span> <span class="o">=</span> <span class="n">phi</span> <span class="o">+</span> <span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mi">2</span>
|
||
<span class="k">return</span> <span class="n">sine_wave</span><span class="p">(</span><span class="n">A</span><span class="o">=</span><span class="n">A</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">f</span><span class="o">=</span><span class="n">f</span><span class="p">,</span> <span class="n">phi</span><span class="o">=</span><span class="n">phi</span><span class="p">,</span> <span class="n">D</span><span class="o">=</span><span class="n">D</span><span class="p">,</span> <span class="n">degree</span><span class="o">=</span><span class="n">degree</span><span class="p">)</span></div>
|
||
|
||
|
||
<span class="c1">#</span>
|
||
<span class="c1"># Parametric equations</span>
|
||
<span class="c1"># roulette</span>
|
||
<span class="c1">#</span>
|
||
|
||
<div class="viewcode-block" id="hypotrochoid"><a class="viewcode-back" href="../function.html#function.hypotrochoid">[docs]</a><span class="k">def</span> <span class="nf">hypotrochoid</span><span class="p">(</span><span class="n">R</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
|
||
<span class="sa">r</span><span class="sd">"""Hypotrochoid</span>
|
||
|
||
<span class="sd"> A point is attached with a distance d from the center of a circle</span>
|
||
<span class="sd"> of radius r. The circle is rolling around the inside of a fixed</span>
|
||
<span class="sd"> circle of radius R.</span>
|
||
|
||
<span class="sd"> :param R: radius of the fixed exterior circle</span>
|
||
<span class="sd"> :type R: float</span>
|
||
<span class="sd"> :param r: radius of the rolling circle inside of the fixed circle</span>
|
||
<span class="sd"> :typre r: float</span>
|
||
<span class="sd"> :param d: distance from the center of the interior circle</span>
|
||
<span class="sd"> :type d: float</span>
|
||
|
||
<span class="sd"> :results: functions for x of theta and y of theta</span>
|
||
<span class="sd"> :rtype: tuple</span>
|
||
|
||
<span class="sd"> .. math::</span>
|
||
<span class="sd"> x(\theta) = (R - r)\cos\theta + d\cos\left(\frac{R-r}{r}\theta\right) \\</span>
|
||
<span class="sd"> y(\theta) = (R - r)\sin\theta - d\sin\left(\frac{R-r}{r}\theta\right) \\</span>
|
||
<span class="sd"> \theta = \left[0, 2\pi\frac{\mathrm{lcm}(r, R)}{R}\right]</span>
|
||
|
||
<span class="sd"> ::</span>
|
||
|
||
<span class="sd"> * * *</span>
|
||
<span class="sd"> * R *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * * * *</span>
|
||
<span class="sd"> * * r **</span>
|
||
<span class="sd"> * * .... *</span>
|
||
<span class="sd"> * * d *</span>
|
||
<span class="sd"> * * **</span>
|
||
<span class="sd"> * * * *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * * *</span>
|
||
|
||
<span class="sd"> >>> x, y = hyotrochoid(20, 6, 6)[:1]</span>
|
||
<span class="sd"> >>> x, y, theta_end = hyotrochoid(20, 6, 6)</span>
|
||
|
||
<span class="sd"> .. seealso::</span>
|
||
<span class="sd"> :meth:`mathematics.lcm`</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">theta</span><span class="p">:</span> <span class="p">(</span><span class="n">R</span><span class="o">-</span><span class="n">r</span><span class="p">)</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="o">+</span> <span class="n">d</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">cos</span><span class="p">((</span><span class="n">R</span><span class="o">-</span><span class="n">r</span><span class="p">)</span><span class="o">/</span><span class="n">r</span> <span class="o">*</span> <span class="n">theta</span><span class="p">)</span>
|
||
<span class="n">y</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">theta</span><span class="p">:</span> <span class="p">(</span><span class="n">R</span><span class="o">-</span><span class="n">r</span><span class="p">)</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sin</span><span class="p">((</span><span class="n">R</span><span class="o">-</span><span class="n">r</span><span class="p">)</span><span class="o">/</span><span class="n">r</span> <span class="o">*</span> <span class="n">theta</span><span class="p">)</span>
|
||
<span class="n">theta_end</span> <span class="o">=</span> <span class="mi">2</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">*</span><span class="n">lcm</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">R</span><span class="p">)</span><span class="o">/</span><span class="n">R</span>
|
||
<span class="k">return</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></div>
|
||
|
||
<div class="viewcode-block" id="epitrochoid"><a class="viewcode-back" href="../function.html#function.epitrochoid">[docs]</a><span class="k">def</span> <span class="nf">epitrochoid</span><span class="p">(</span><span class="n">R</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
|
||
<span class="sa">r</span><span class="sd">"""Epitrochoid</span>
|
||
|
||
<span class="sd"> A point is attached with a distance d from the center of a circle</span>
|
||
<span class="sd"> of radius r. The circle is rolling around the outside of a fixed</span>
|
||
<span class="sd"> circle of radius R.</span>
|
||
|
||
<span class="sd"> :param R: radius of the fixed interior circle</span>
|
||
<span class="sd"> :type R: float</span>
|
||
<span class="sd"> :param r: radius of the rolling circle outside of the fixed circle</span>
|
||
<span class="sd"> :typre r: float</span>
|
||
<span class="sd"> :param d: distance from the center of the exterior circle</span>
|
||
<span class="sd"> :type d: float</span>
|
||
|
||
<span class="sd"> :results: functions for x of theta and y of theta</span>
|
||
<span class="sd"> :rtype: tuple</span>
|
||
|
||
<span class="sd"> .. math::</span>
|
||
<span class="sd"> x(\theta) = (R + r)\cos\theta - d\cos\left(\frac{R+r}{r}\theta\right) \\</span>
|
||
<span class="sd"> y(\theta) = (R + r)\sin\theta - d\sin\left(\frac{R+r}{r}\theta\right) \\</span>
|
||
<span class="sd"> \theta = \left[0, 2\pi\right]</span>
|
||
|
||
<span class="sd"> ::</span>
|
||
|
||
<span class="sd"> * * *</span>
|
||
<span class="sd"> * R *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * * * *</span>
|
||
<span class="sd"> * * * r *</span>
|
||
<span class="sd"> * ** .... *</span>
|
||
<span class="sd"> * ** d *</span>
|
||
<span class="sd"> * * * *</span>
|
||
<span class="sd"> * * * *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * *</span>
|
||
<span class="sd"> * * *</span>
|
||
|
||
<span class="sd"> >>> x, y = epitrochoid(3, 1, 0.5)[:1]</span>
|
||
<span class="sd"> >>> x, y, theta_end = epitrochoid(3, 1, 0.5)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">theta</span><span class="p">:</span> <span class="p">(</span><span class="n">R</span><span class="o">+</span><span class="n">r</span><span class="p">)</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">cos</span><span class="p">((</span><span class="n">R</span><span class="o">+</span><span class="n">r</span><span class="p">)</span><span class="o">/</span><span class="n">r</span> <span class="o">*</span> <span class="n">theta</span><span class="p">)</span>
|
||
<span class="n">y</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">theta</span><span class="p">:</span> <span class="p">(</span><span class="n">R</span><span class="o">+</span><span class="n">r</span><span class="p">)</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sin</span><span class="p">((</span><span class="n">R</span><span class="o">+</span><span class="n">r</span><span class="p">)</span><span class="o">/</span><span class="n">r</span> <span class="o">*</span> <span class="n">theta</span><span class="p">)</span>
|
||
<span class="n">theta_end</span> <span class="o">=</span> <span class="mi">2</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span>
|
||
<span class="k">return</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></div>
|
||
</pre></div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<h1 class="logo"><a href="../index.html">pylib</a></h1>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3>
|
||
|
||
<div class="relations">
|
||
<h3>Related Topics</h3>
|
||
<ul>
|
||
<li><a href="../index.html">Documentation overview</a><ul>
|
||
<li><a href="index.html">Module code</a><ul>
|
||
</ul></li>
|
||
</ul></li>
|
||
</ul>
|
||
</div>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="footer">
|
||
©2019, Daniel Weschke.
|
||
|
||
|
|
||
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
|
||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html> |