{"nbformat": 3, "metadata": {"signature": "sha256:711d6587063ecfff8010141d90139f1d0e17d192b5399b12a1476bfe8170fbd2", "name": ""}, "worksheets": [{"cells": [{"cell_type": "markdown", "source": ["# Point-normal form and signed distance"], "metadata": {}}, {"cell_type": "code", "input": ["import numpy as np\n", "import numpy.linalg as la\n", "import matplotlib.pyplot as pt"], "metadata": {}, "outputs": [], "language": "python", "prompt_number": 21, "collapsed": false}, {"cell_type": "code", "input": ["def draw_arrow(v, **kwargs):\n", " pt.arrow(0, 0, v[0], v[1], length_includes_head=True,\n", " head_width=0.1, **kwargs)\n", " \n", "def set_up_plot():\n", " pt.xlim([-2,2])\n", " pt.ylim([-2,2])\n", " pt.gca().set_aspect(\"equal\")\n", " pt.grid()"], "metadata": {}, "outputs": [], "language": "python", "prompt_number": 55, "collapsed": false}, {"cell_type": "markdown", "source": ["Let's grab some vector $v$:"], "metadata": {}}, {"cell_type": "code", "input": ["np.random.seed(18)\n", "v = np.array([1.6, 0.4])\n", "v"], "metadata": {}, "outputs": [{"text": ["array([ 1.6, 0.4])"], "output_type": "pyout", "metadata": {}, "prompt_number": 48}], "language": "python", "prompt_number": 48, "collapsed": false}, {"cell_type": "code", "input": ["\n", "set_up_plot()\n", "draw_arrow(v, color=\"blue\")"], "metadata": {}, "outputs": [{"text": [""], "output_type": "display_data", "metadata": {}, "png": "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\nRU5ErkJggg==\n"}], "language": "python", "prompt_number": 57, "collapsed": false}, {"cell_type": "markdown", "source": ["------------\n", "Now let's find a unit normal vector $n$:"], "metadata": {}}, {"cell_type": "code", "input": ["b = np.random.randn(2)\n", "b = b - b.dot(v)/v.dot(v)*v\n", "n = b/la.norm(b, 2)"], "metadata": {}, "outputs": [], "language": "python", "prompt_number": 58, "collapsed": false}, {"cell_type": "markdown", "source": ["Check:"], "metadata": {}}, {"cell_type": "code", "input": ["print(\"Norm =\", la.norm(n))\n", "print(\"n.v =\", n.dot(v))"], "metadata": {}, "outputs": [{"stream": "stdout", "text": ["Norm = 1.0\n", "n.v = -2.77555756156e-16\n"], "output_type": "stream"}], "language": "python", "prompt_number": 59, "collapsed": false}, {"cell_type": "markdown", "source": ["Plot:"], "metadata": {}}, {"cell_type": "code", "input": ["set_up_plot()\n", "draw_arrow(v, color=\"blue\")\n", "draw_arrow(n, color=\"red\")"], "metadata": {}, "outputs": [{"text": [""], "output_type": "display_data", "metadata": {}, "png": "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\n"}], "language": "python", "prompt_number": 63, "collapsed": false}, {"cell_type": "markdown", "source": ["Now let's grab a point $p$ and compute $r$:"], "metadata": {}}, {"cell_type": "code", "input": ["np.random.seed(355342)\n", "p = np.random.randn(2)\n", "\n", "r = p.dot(n)"], "metadata": {}, "outputs": [], "language": "python", "prompt_number": 95, "collapsed": false}, {"cell_type": "code", "input": ["set_up_plot()\n", "draw_arrow(v, color=\"blue\")\n", "draw_arrow(n, color=\"red\")\n", "draw_arrow(p)"], "metadata": {}, "outputs": [{"text": [""], "output_type": "display_data", "metadata": {}, "png": "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\nQmCC\n"}], "language": "python", "prompt_number": 100, "collapsed": false}, {"cell_type": "markdown", "source": ["Next, evaluate signed distance on a grid of points in the plane:"], "metadata": {}}, {"cell_type": "code", "input": ["xs = np.linspace(-2, 2, 100)\n", "ys = np.linspace(-2, 2, 100)\n", "\n", "\n", "# make an grid of points in the plane\n", "xys = np.empty((2, 100, 100))\n", "xys[0] = xs\n", "xys[1] = xs.reshape(-1, 1)\n", "\n", "signed_dist = (\n", " xys[0]*n[0] + xys[1]*n[1] - r\n", " )"], "metadata": {}, "outputs": [], "language": "python", "prompt_number": 109, "collapsed": false}, {"cell_type": "code", "input": ["set_up_plot()\n", "draw_arrow(v, color=\"blue\")\n", "draw_arrow(n, color=\"red\")\n", "draw_arrow(p)\n", "\n", "pt.imshow(signed_dist, extent=(-2, 2, 2, -2), cmap=\"RdBu\", vmin=-3, vmax=3)\n", "pt.colorbar()"], "metadata": {}, "outputs": [{"text": [""], "output_type": "pyout", "metadata": {}, "prompt_number": 112}, {"text": [""], "output_type": "display_data", "metadata": {}, "png": "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\n"}], "language": "python", "prompt_number": 112, "collapsed": false}, {"cell_type": "markdown", "source": ["* Where is the line parallel to $v$ through $p$? (that satisfies $x\\cdot n -r = 0$)?\n", "\n", " (Hint: Look for plot values = 0.)\n", "* Can you read off the distance of the line from the origin?\n", "* Can you read off the distance of the line from $v$?\n", "* Can you read off the distance between the line and the top left corner of the plot?\n", "* How was each such distance computed?"], "metadata": {}}, {"cell_type": "code", "input": [], "metadata": {}, "outputs": [], "language": "python", "collapsed": false}], "metadata": {}}], "nbformat_minor": 0}