{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2c8fc009",
   "metadata": {},
   "source": [
    "# Calculating \\\\(\\pi \\\\) using a Monte Carlo algorithm\n",
    "\n",
    "- Börge Göbel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1b276d72",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt \n",
    "import matplotlib.patches as patches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a9c43ef1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-1.1, 1.1)"
      ]
     },
     "execution_count": 2,
     "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": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111, aspect='equal')\n",
    "\n",
    "rectangle = patches.Rectangle((-1,-1),2,2, facecolor='red')\n",
    "ax.add_patch(rectangle)\n",
    "\n",
    "circle = patches.Circle((0,0),1, facecolor='none', edgecolor='blue')\n",
    "ax.add_patch(circle)\n",
    "\n",
    "plt.xlim([-1.1,1.1])\n",
    "plt.ylim([-1.1,1.1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d65aeb8",
   "metadata": {},
   "source": [
    "## Comparing the areas\n",
    "\n",
    "Area of the circle: \\\\( A_\\mathrm{circle} = \\pi r^2 = \\pi\\\\)\n",
    "\n",
    "Area of the square: \\\\( A_\\mathrm{square} = a^2 = 4 \\\\)\n",
    "\n",
    "This means \\\\( \\pi = 4\\frac{A_\\mathrm{circle}}{A_\\mathrm{square}}\\\\). We can use this ratio to estimate the value of \\\\( \\pi \\\\). "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f6b7efc",
   "metadata": {},
   "source": [
    "### Measure the area ratio by counting randomly generated points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "feb4c824",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "be243d7b",
   "metadata": {},
   "source": [
    "### Alternative: Loop method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "11a314bf",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "cb75b7bc",
   "metadata": {},
   "source": [
    "### Time comparison"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "981afad6",
   "metadata": {},
   "source": [
    "Array/List method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1fb6b472",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "fe0661be",
   "metadata": {},
   "source": [
    "Loop method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8f633877",
   "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.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
