{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## This notebook both plots a parametic curve and along with its evolute.\n",
    "\n",
    "Start by importing the required libraries:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sympy import *  #python symbolic math package.\n",
    "import numpy as np   #numerical mathmatics library.\n",
    "import matplotlib.pyplot as plt    #plotting library.\n",
    "init_printing()            #to get good looking output."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Declare $t$ to be a symbol, give the domain $[a,b]$ of \n",
    "the curve, and define $x$ and $y$ as functions of $t$.\n",
    "These should all be editted as needed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = symbols('t')\n",
    "a = 0\n",
    "b = 2*pi+.1\n",
    "x = (1+2*cos(t))*cos(t)\n",
    "y = (1+2*cos(t))*sin(t)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Divide the domain into pieces of length $h$ to be used in plotting\n",
    "and compute the $x$ and $y$ values at these the subdivsions of the domain\n",
    "and store in them in lists."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "h = .05   #edit if need be.\n",
    "t_dom = np.arange(a,b,h)\n",
    "x_vals = [x.subs(t,s) for s in t_dom]\n",
    "y_vals = [y.subs(t,s) for s in t_dom]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left( -0.281064897632275, \\  3.156241185601537, \\  -1.9361487103523003, \\  1.935709130706745\\right)$"
      ],
      "text/plain": [
       "(-0.281064897632275, 3.156241185601537, -1.9361487103523003, 1.935709130706745\n",
       ")"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_vals,y_vals)\n",
    "plt.axis('equal')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute the deriviatives of $x$ and $y$ with respect to $t$ and use\n",
    "them to compute the speed, $v$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left(4 \\cos{\\left(t \\right)} + 5\\right)^{0.5}$"
      ],
      "text/plain": [
       "              0.5\n",
       "(4⋅cos(t) + 5)   "
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dx = diff(x,t)\n",
    "dy = diff(y,t)\n",
    "v = (dx**2 + dy**2)**(1/2)\n",
    "v.simplify()  # simplfy v if possible."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute the components of the unit normal $\\mathbf n$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "n1 = -simplify(dy/v)\n",
    "n2 = simplify(dx/v)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute the second derivatives of $x$ and $y$ and use them to \n",
    "compute the curvature and the components of the evolute\n",
    "and make lists of the values of the components."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "ddx = diff(dx,t)\n",
    "ddy = diff(dy,t)\n",
    "num = simplify(dx*ddy - ddx*dy)\n",
    "curvature = simplify(num/v**3)\n",
    "curvature.simplify()\n",
    "E1 = simplify(x + n1/curvature)\n",
    "E2 = simplify(y + n2/curvature)\n",
    "E1.simplify()\n",
    "E2.simplify()\n",
    "E1_vals = [E1.subs(t,s) for s in t_dom]\n",
    "E2_vals = [E2.subs(t,s) for s in t_dom]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left( -0.281064897632275, \\  3.156241185601537, \\  -1.9361487103523003, \\  1.935709130706745\\right)$"
      ],
      "text/plain": [
       "(-0.281064897632275, 3.156241185601537, -1.9361487103523003, 1.935709130706745\n",
       ")"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_vals,y_vals,E1_vals,E2_vals)\n",
    "plt.axis('equal')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
