{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## This notebook plots a planar curve given its curvature.\n",
    "\n",
    "\n",
    "First import the python packages we will be using:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math               #basic mathematical functions.\n",
    "import numpy as np        #numerical methods package.\n",
    "from scipy.integrate import odeint #numerical ode integrater\n",
    "import matplotlib.pyplot as plt    #plotting library."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next input the domain $[a,b]$, of the curvataure function and\n",
    "the curvature function $k(s)$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "#edit the values of a and b as required.\n",
    "a = 0\n",
    "b = 2*np.pi\n",
    "def k(s):\n",
    "    \"The curvature.  Edit as needed.\"\n",
    "    return   s\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If $\\mathbf c\\colon [a,b]\\to \\mathbb R^2$ is a unit speed\n",
    "curve with curvature $k$ and given by $\\mathbf c(s) = (x(s),y(s))$, then the unit tangent is\n",
    "$$\n",
    "\\mathbf t = \\frac{d\\mathbf c}{ds} = \\left( \\frac{dx}{ds},\\frac{dy}{ds}\\right)\n",
    "$$\n",
    "and the unit normal is \n",
    "$$\n",
    "\\mathbf n = \\left( - \\frac{dy}{ds} , \\frac{dx}{ds}\\right).\n",
    "$$\n",
    "The basic equation defining curvature is\n",
    "$$\n",
    " \\frac{d \\mathbf t}{ds} = k(s) \\mathbf n \n",
    "$$\n",
    "In terms of the functions $x(s)$ and $y(s)$ and usng\n",
    "$\\mathbf c'(s)=\\mathbf t$ this becomes \n",
    "$$\n",
    "\\left( \\frac{d^2x}{ds^2}, \\frac{d^2y}{ds^2}\\right)\n",
    "  = k(s)\\left(- \\frac{dy}{ds}, \\frac{dx}{ds}\\right) .\n",
    "$$\n",
    "Equating the components gives\n",
    "\\begin{align}\n",
    "\\frac{d^2x}{ds^2}&= -k(s) \\frac{dy}{ds}\\\\\n",
    "\\frac{d^2y}{ds^2}&= k(s) \\frac{dx}{ds}.\n",
    "\\end{align}\n",
    "Unfortunately the numerical differential equation solver we are using \n",
    "does not like working directly with second (or higher) derivatives.\n",
    "But it does not mind have large numbers of dependent variables.\n",
    "So we just add some variables for the first derivatives.\n",
    "As $\\mathbf c'(x) = (x'(s),y'(s)) = \\mathbf t(s) =(t_1(s),t_2(s))$\n",
    "we use $t_1$ and $t_2$ as names for the first derivatives of $x$\n",
    "and $y$.  The the system of differential equations relating\n",
    "$x(s)$ and $y(s)$ to the curvature $k(s)$ becomes\n",
    "\\begin{align}\n",
    "\\frac{dx}{ds}&= t_1\\\\\n",
    "\\frac{dy}{ds}&= t_2\\\\\n",
    "\\frac{dt_1}{ds}&= -k(s) t_2\\\\\n",
    "\\frac{dt_2}{ds}&= k(s)t_1.\n",
    "\\end{align}\n",
    "The differential equation integrator wants all these \n",
    "variables packed into one list.  We call call this \n",
    "list $C=[x,y,t_1,t_2]$.  Here is the python code that defines\n",
    "the equation for the curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "def curve_eqn(C,s):\n",
    "    \"\"\"\"\n",
    "    Given input a list [C[0],C[1],C[2],C[3]] = [x,y,t_1,t_2]\n",
    "    this function outputs the values of [dx/ds,dy/ds,dt_1/ds,dt_2/ds]\n",
    "    as given by the differential euqations above.\n",
    "    \"\"\"\n",
    "    return [C[2],C[3], -k(s)*C[3],k(s)*C[2]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Tell python the initial conditions for the equation (we use\n",
    "$\\mathbf c(a) = (0,0)$ and $\\mathbf t(a) = (1,0)$) and the \n",
    "domain $[a,b]$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "C0 = [0,0,1,0]  #the initial condition\n",
    "domain = np.linspace(a,b,500) # the domain divided into 500 pieces."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Have the numerical differential equation package find the solution\n",
    "and then store the $x$ and $y$ values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "curve = odeint(curve_eqn,C0,domain)\n",
    "x = curve[:,0]\n",
    "y = curve[:,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And plot the curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.06911625097646686,\n",
       " 1.451441270505804,\n",
       " -0.0632741307711354,\n",
       " 1.3287567461938434)"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,y)\n",
    "plt.axis('equal')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
