{ "metadata": { "name": "", "signature": "sha256:2c21f30e01ff1f1444a45f2a87d209cad2e5070808112146107c8d1e71bbc9c6" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interpolation nodes in 2D" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as pt\n", "import numpy as np\n", "import modepy as mp\n", "\n", "nodes = mp.warp_and_blend_nodes(2, 10)\n", "pt.plot(nodes[0], nodes[1], \"x\")\n", "\n", "tri = np.array([(-1, -1), (1, -1), (-1, 1), (-1, -1)]).T\n", "\n", "pt.plot(nodes[0], nodes[1], \"x\")\n", "pt.plot(tri[0], tri[1], \"-b\")\n", "pt.gca().set_aspect(\"equal\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }