{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Periodic Spline\n", "\n", "This notebook replicates spec_splinep.m as an Jupyter/IPython notebook" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sys; sys.path.append('..')\n", "from conformalmapping import *" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "splinep object:\n", "\n", " defined with 13 spline knots,\n", " total chordal arc length 9.20178583641\n", "\n", "\n" ] } ], "source": [ "# Python Syntax for complex numbers is uses j rather than i\n", "pts = [\n", " 0.5896 + 1.2486j,\n", " -0.1426 + 1.5954j,\n", " -0.9133 + 1.1561j,\n", " -0.8465 + 0.3536j,\n", " -1.1116 - 0.2398j, \n", " -1.2695 - 0.9643j,\n", " -0.5660 - 1.1075j,\n", " 0.2013 - 0.7552j,\n", " 0.8362 - 0.9634j,\n", " 1.5838 - 0.7013j,\n", " 1.3141 + 0.4008j,\n", " 0.8474 + 0.7291j\n", "]\n", "\n", "# This looks slightly different to the matlab - we'll use a classmethod \n", "# constructor rather than trying to combine all the overloads into one\n", "# place. This makes testing a little easier, and it makes coverage testing\n", "# a lot easier.\n", "s = Splinep.from_complex_list(pts)\n", "print s" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "QmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ts = np.linspace(0.0, 1.0, 201)\n", "ps = s.point(ts)\n", "plt.plot(ps.real, ps.imag)\n", "plt.plot(s.zpts.real, s.zpts.imag, 'r.')\n", "plt.gca().set_aspect('equal')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }