Skip to content

Instantly share code, notes, and snippets.

@haojian
Created July 19, 2015 05:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save haojian/2d87265d014c3a4199e3 to your computer and use it in GitHub Desktop.
Save haojian/2d87265d014c3a4199e3 to your computer and use it in GitHub Desktop.
circle packing
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Circle packing"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.6\n"
]
},
{
"data": {
"image/png": "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\n7xparZHWpUsXfvjhB3r06FFouDVo0IBLly4VeT5de/ToES+//DI+Pj7MmTPHaEtVSbAJozE3N2fp\n0qXUqVOHTp06kZCQYND2U1NTC7y5fvjwYbp168bixYvp27fvM523TJkyNGtWl6ZNy6PRXOHu3eto\nNBog58Z+zr+v0KyZE02b1n3mG/x9+/Zl0aJFdOvWrcDLUgcHB1JTDbtJy7179+jYsSNeXl4sWbLk\nudsW8FkpQhQmOztb+eijjxRPT09l//79Bmu3atWqSkxMTJ6vZWZmKt98843i4uKi7Nu3r8RtaDQa\nJSYmVtm9O1TZvv2asnt3qBITE6toNJoSn3vv3r2Ki4uL8s033yiZmZl5XouOjlaqVatW4ja0tX//\nfsXT01OZPHmykp2dbZA2AaMOtzDImxTPv+3btyseHh5KQECA8ujRI7235+HhoVy7di3335cuXVKa\nN2+udOrUSYmOjtZpW2lpaUps7A0lLS1Np+eNjo5WOnbsqDRv3ly5dOlS7tevXbumeHh46LSt/Dx6\n9Ejx9/dXPDw8lO3bt+u9vX8qLNjkUlSUGj169OD8+fOkpqbSsGFDDhw4oNf2VCoV6enpaDQaZs6c\nSdu2bRk+fDh79+7V+aKYKpUKDw93ne/O5Onpyd69exk2bBht2rRh5syZaDQa1Gq13qcv/f777zRo\n0AC1Ws358+cNshxRaWLQFBemYfv27UqVKlWUzp07K5s2bXrqUksXvL29lfHjxys1a9bUSy/N0KKj\no5VOnTopNWvWVMaPH694e3vrvI3MzExl06ZNSufOnZUqVaoYvJf2T8ilqHgeqdVq5eeff1ZatWql\neHh4KNOnT1fi4uJKfN5Tp04pw4YNUywtLZV27dopJ06cMNh9IX3Lzs5WTpw4obRt21axsrJShg0b\nppw6darE542Li1M+//xzxcPDQ2nVqpXy888/K2q1WgcVF19hwSZTqsRzISwsjMDAQNavX0/NmjXx\n9fXF19eXpk2bUr9+/QJXjE1MTCQkJCT3T3BwMIqi4O/vT3x8PNbW1syYMcPA70b/pkyZQmZmJi4u\nLixevBgzMzOaNm2a+7n5+vpSvnz+2xCmp6dz4cIFgoODcz+3P//8k9dffx1/f38aNWpk4HeTP5kr\nKkxGamoqYWFhuSH1+IfOzc0NW1tbVCoV2dnZpKWl8ejRI5KSkmjcuHGeH2gvLy/Mzc357bffWLBg\n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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10687bd50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.patches as mpatches\n",
"\n",
"\n",
"class Point:\n",
" def __init__(self, x=0, y=0):\n",
" self.x = x\n",
" self.y = y\n",
"\n",
" def squareDistTo(self, x, y):\n",
" return (self.x-x)**2 + (self.y-y)**2\n",
"\n",
"class PackingCircle:\n",
" def __init__(self, x, y, r=1):\n",
" self.x = x\n",
" self.y = y\n",
" self.r = r\n",
"\n",
" def __contains__(self, point):\n",
" return point.squareDistTo(self.x, self.y) < self.r**2\n",
"\n",
" \n",
"def plot_circle(x, y, r, fig):\n",
" circle=plt.Circle((x, y), r, fill=False)\n",
" fig.gca().add_artist(circle)\n",
"\n",
"\n",
"def plot_packingcircle(circle, fig):\n",
" circle=plt.Circle((circle.x, circle.y), circle.r, fill=False)\n",
" fig.gca().add_artist(circle)\n",
"\n",
" \n",
"def plot_regularpolygon(x, y, numVert, r, fig):\n",
" polygon= mpatches.RegularPolygon( (x, y), numVert, r, fill=True, alpha=0.2)\n",
" fig.gca().add_artist(polygon)\n",
"\n",
"def plot_hexagonwithcircle(x, y, r, ol, fig):\n",
" plot_regularpolygon(x, y, 6, r*2*ol, fig)\n",
" a = PackingCircle (x, y, r)\n",
" b = PackingCircle (0+x, y+2*r * ol, r)\n",
" c = PackingCircle (0+x, y-2*r * ol, r)\n",
" d = PackingCircle (x+r * math.sqrt(3) *ol, y+r*ol, r)\n",
" e = PackingCircle (x+r * math.sqrt(3)*ol, y-r*ol, r)\n",
" f = PackingCircle (x-r * math.sqrt(3)*ol, y+r*ol, r)\n",
" g = PackingCircle (x-r * math.sqrt(3)*ol, y-r*ol, r)\n",
" plot_packingcircle(a, fig)\n",
" plot_packingcircle(b, fig)\n",
" plot_packingcircle(c, fig)\n",
" plot_packingcircle(d, fig)\n",
" plot_packingcircle(e, fig)\n",
" plot_packingcircle(f, fig)\n",
" plot_packingcircle(g, fig)\n",
" return [a, b, c, d, e, f, g], r*2*ol\n",
"\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"# plot_circle(0,0, 1, fig)\n",
"# plot_regularpolygon(2, 2, 6, 3, fig)\n",
"\n",
"circles, polygon_r = plot_hexagonwithcircle(2, 2, 1, 0.8, fig)\n",
"print polygon_r\n"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.69962006026\n"
]
},
{
"data": {
"image/png": "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\nIiKihuL/AEt+oiGER7RfAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x107652110>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# intersection area calculation\n",
"# verify the correctness\n",
"\n",
"import math\n",
"\n",
"def floatRange(start, stop, numofsteps):\n",
" i = float(start)\n",
" step = (float(stop)-start)/numofsteps\n",
" while i < stop:\n",
" yield i\n",
" i += step\n",
" \n",
"def calculateArea(circles, xlim, ylim):\n",
" inSelf = inNone = 0.0\n",
" for i in floatRange(0, xlim, 1000):\n",
" for j in floatRange(0, ylim, 1000):\n",
" p = Point(i, j)\n",
" for packingcicle in circles:\n",
"# if p.squareDistTo(packingcicle.x, packingcicle.y) < packingcicle.r**2:\n",
" if p in packingcicle:\n",
" inSelf += 1\n",
" break\n",
" else:\n",
" inNone += 1\n",
" return xlim * ylim * inSelf / (inSelf+inNone)\n",
" \n",
"x, y, u, w = [1, 1, 2, 2]\n",
"a = PackingCircle(x,y, 1)\n",
"b = PackingCircle(u,w, 1)\n",
"print calculateArea([a,b], 5, 5)\n",
" \n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[0,5],ylim=[0,5])\n",
"plot_circle(1, 1, 1, fig)\n",
"plot_circle(2, 2, 1, fig)"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nklWrVjFixAi1y7it622btm8/yoULntSqVbK2TY8//jhRUVHMnDmTd955hz///LMCqi2d337byCef\nfMKnn35KTEwMjz766D1fY2xDFcS5c9XZseMwp06llLsNlTloNBqeffZZVq1apXYpFksCTyVRUVF0\n6NBB7TJucmPbpqSkKnh6tsDDw6vEr69duzYuLi54e3vzxRef8/7777N+/XozVlxyiqLw/fff8+WX\nXzFv3jw0Gjv8/OqVeAqfRqOhRo1auLu3ICHBwM6dcVy8eNHMVZdehw4dytTFxlZI4KkgIyODc+fO\nERAQoHYpxTIyMti3L56YmCxcXALw8qpXpi4hgYGBJCYm0LLlfcybN48lS5bw1ltvceXKZTNUXTIX\nLlxg/Pjx/Pjjj3z99dc0btyYhIQEAgPvvWDRv9nb2+PtXR97+6bs359OVFRCmdpQmUvbtm05dOgQ\nBQUFapdikSTwVBAdHU3r1q0t4paHnJwc4uKS2L07hdxcP2rValKutk2BgQEkJCQC0KRJE5YvX463\ntzeDBg1m69atpiq7RBRFYf369QwZMoTAwEC+++674jmniYkJ5epcbGxD1YyrV33YufMUiYnHzb6S\nW0lUq1aN+vXrEx8fr3YpFkn9/3E26MauumopLCwkJeUchw9fws7OB29v03QyCQgIZNmyZcVfOzs7\nM378eLp37857773H5s2beeml/6NOHfP2+Tt9+jSfffYZ58+fZ86cObeMphMSEunb94lyb8fNzYNq\n1dw5fTqV06cTCAz0pm7dOqpOEbzejbpVq1aq1WCpZISngr///pu2bduqtv2LFy/y559xJCQYcHdv\nQY0atUx2G0NAQHOOHj1yy+OtW7dm+fLl1K3rw9ChT/Haa6+xd+8eDAaDSbYLxhDfvn0748aN49ln\nn6VlyxZ89913t4RdQUEBx48fN1kX45vbUOWxe3cc6enpJnnvsmjbti1///23atu3ZDLCU8GVK1eo\nWbNsaziUxz9tm+ypXr0pbm6m72Ti7u7B1atXb/ucs7Mz48b9H889N4rffvuNL7/8Cr3+GgMGDKBr\n127Uq1ev1COjwsJCkpOT2bZtGz/8sBYvL28GDhzIZ599dsfFtHNzc6lSpYpJVjm7kb29A97e/uj1\n2ezde5o6ddJuaUNVEWrWrCkL/tyBBJ4KcnJybuofZ255eXkcP57CiRPXcHGpR61a5lvZ3t7ensJC\nA4WFhXe86OHi4sKTTz7JE088waFDh1i7di0rV67k6tWrNG8eQGBgAAEBgdSrZ7xwoigKGo0GRVEw\nGApJTj5NQkICCQnxHD58BE9PT9q1C+HTTz8lIODe5+Xy8vJwdjZ9e/l/9q8qLi4BZGSk8+efx2nc\n2A1/f98KW2bRxcXF6uYDVxQJPBXk5eVV6AWLgwePkZ7ujrd3Q7Pfga/RaLC3tyc/P/+eV3k1Gg2t\nWrWiVatWXL58mb/++ovdu3ezc+cuVq9eQ25uDqAprvn6GsvOzi74+vrSsmVLhg59Cq1WW6pZEMba\nzP/zr17dE4PBg2PHznDt2glat25m9m2Ccf0RS7iAYokk8FTg5ORUof8gc3MLcXOrWSHTjRRFIT8/\nH0fH28/IuNHVq1msX/8ra9eu5cKFNAICAgkMDOT5558nMNA4wvt3zQaDgeTk5KIRXgIrVqxg6tSp\n+Pn50b9/f3r27Imrq+tdt+vo6FDc+NPc7OzscHOrSX5+coVsD4yH7KY+XK8sJPBUUJkPOa6PXu92\nLu7w4cOsWbOGTZs20bFjRyZNmkRwcHCJAtnOzg5/f3/8/f2LZ0kYDAb++usvVq9ezZw5c3j00UcZ\nMGAADRs2vO17ODk5l2olM2uj1+sl8O5AAk8F3t7enDt3Tu0yzOLixYvUqFHjts+lpKQwbdo0Tp48\nSb9+/VizZg1eXiWfyXEndnZ2dOjQgQ4dOnD+/Dl++OFHXnjhBVq2bMmkSZNuWcDcyckJOzs7srKy\ncHNzK/f2Lc25c+fw9vZWuwyLJLelqCA4OLjSTv8xzmC4+cKBwWAomjs8nAce6MjPP//MqFGjTBJ2\n/1anjg/h4eGsX7+e5s2bM3ToUNav/+WmFk92dnY0a9aMxMREk2/fEljCfZ6WSgJPBVqtttIG3r9n\nMKSkpDBmzBg2bNjAokWLefrpZyrkgo2joyMvvPACc+fOZdmy5Ywf/woXLlwoft44IyTB7HWoQQLv\nziTwVNCqVSsSExMtutVQWSUkJBIYaLzRNzJyG8OHD6dz584sXrwYf3//Cq+nefPmLF26lMDAIIYM\nGcJff/0FGGeEVMbpVxcuXCAjI4PGjRurXYpFksBTgYuLC82bN+fgwYNql2JSiqIQHx9PQEAg69f/\nwscfT2fOnDk888wzZWpEYCoODg688MILfPLJJ7z11ltERm4jKCiIxMTKN8LT6XQlvgBkiyTwVNK+\nfftK16jx+PHjuLq6snPnTubNm8+CBfPLNUHf1IKDg5k9ezYffzydY8eOceXKFdLS0tQuy6T+/PNP\n2rdvr3YZFktavKtk586dPPfccyQmJpr9t/GuXbHY2TUtVxeUkvj005mcP59KbGwsCxcupH79+mbd\nXlklJiYybtw4WrZsSVBQEM8//7xZt5eTcw0np2RCQszbDiw/P58GDRqwadMmWrRoYdZtWTJp8W6B\nOnXqhJOTU4W3TDIXvV7PL7+sJzo6mq+++spiww4gICCATz/9lAMHDrB69WoKCirmJmRzW7duHc2a\nNbPpsLsXCTyVaDQawsPDiYiIULsUk1i/fj0Gg4FJkybRrFnFTKEqjzZt2jB27Fhyc3OJjIxUuxyT\niIiIIDw8XO0yLJoEnoqeeuoptm3bRkpKitqllIuiKCxcuJDmzZvx0EMPqV1OifXv35/atWszZ84c\ntUspt7i4OBITE3niifL3+KvMJPBU5ObmxlNPPcXMmTPVLqVcVqxYQUZGBtOnT7eqq4N2dnbMnDmT\nlJQz/P7772qXUy7Tp0/n+eefL9EcZlsmgaeyKVOmsGrVKnbt2qV2KWWSnp7Ol19+ybBhw/Dysr7p\nTP7+/vTp04f33nvPauc3//rrr+zatYsJEyaoXYrFk8BTmZeXF3PnzuXZZ5+1yv9wEydOxNPTk7Fj\nx6pdSpm9/fbbODk5MXnyZLVLKbXLly/zwgsvsHjx4hKvwGbLJPAsQL9+/dBqtbzzzjtql1Iqe/fu\n4dChQ7z22qtWdSj7b1WqVGHMmDH8+eefxMZaV6fgV199lb59+/Lggw+qXYpVkMCzELNnz2b58uXs\n3LlT7VJKJCsriylTpuLu7s6DD3ZXu5xy69u3L46OjrzzzjtWM+Vv/fr1bN++nRkzZqhditWQwLMQ\nXl5eLF68mIEDB1p8F4+cHD3jx4+nevXqDB06VNVpY6bi5OTEgAEDcHBwZNKkiRZ/b15UVBQjR45k\n6dKlcihbChJ4FuSxxx5jxowZPPzww5w4cULtcm4rLy+PN96YiJeXFxcupNG3bx+1SzKZ/v37c+nS\nJRQFJk+eQmFhodol3VZcXBy9e/dm0aJFdO7cWe1yrIoEnoUZNmwYkyZNolu3bhY30tPr9bz66nic\nnZ3p0qULWm0IHh63b/ZpjXx9fWncuDH9+vUjIyODt956y+LWhtDpdPTo0YNZs2bRp0/l+WVTUSTw\nLFB4eDgffvghDz74ILt371a7HMDYyXjs2LF4eXkzbdo0jhw5QsuWLdUuy+RatGjBsWPH+Pzzzyks\nLOTVV8eTkZGhdlkAbNq0iUcffZR58+YxdOhQtcuxShJ4FmrYsGF8/fXX9O/fnzfeeEO1E+mKovDb\nbxsZMmQI7du3Z/Lkydjb2xd1NjbvZHg1BAYGkpCQgKOjI9OnT6dRo8YMGjSI7du3q1bT1atXCQ8P\nZ+TIkaxatUpmU5SDBJ4F6927NwcPHuTkyZO0bduWvXv3Vuj2L168yIQJr7NkyTd8+eWXvPjii9jZ\n2WEwGDh8+HCJ1oC1NsbAMzYGtbe359VXX2XatGl8/vks3n333Qof7W3dupX77ruPnJwcDh06RGho\naIVuv7IxZ+D1BBKBo8BEM26nUvP29mbVqlW8//77PPHEE7z22mucP3/erNvMzc1l3bofGTJkCA0b\nNuJ///sfQUFBxc+fPn0aNzc3PDzMt6C3WurVq8fVq1e5cuVy8WPBwcGsWLESd/fqDBo0iI0bN5p9\nmcfTp08zZswYhg8fzty5c1myZEml/HlXNHMFXhVgDsbQCwKGAJVvOFCBBg4cyKFDh8jOziYwMJAh\nQ4bw559/YsqegikpKXz55Zf06vUYmzdv4csvv2Ts2LG3zM9MSkqyio4oZWFnZ0eTJk1JSkq66XEX\nFxdef30CH3/8MevWraN3797Mnz+P1NRUk23bYDCwadMmnnzySVq3bo2TkxOHDh3iscceM9k2bJ25\nVlNpDyQBJ4u+Xgn0BSpfT+0K5O3tzfz585k+fTpLly5l9OjRODg48Pzzz9OtWzeCgoJKtUCOoiic\nP3+e2NhYfvnlF+Lj4+jd+3G++ea/+Pn53fF12dnZVK9e+ZY3vM7NzY3s7Gu3fa5t27YsWLCA48eP\ns2bNGgYPHoxWq6VXr14EBQVRq1atUs06ycvLIy4ujq1bt7JgwQJcXFwYO3Ys3333ndxfZwbmmg80\nAHgEGF309dPA/cD/3fA9Nt3x2BQURWHbtm18++237Nu3j9OnT9OqVSu0Wi1BQUFUrVoVOzs7Dh8+\nj0bTBHt7ewoKCklJSSExMYGEhEQcHOwJCAikR48wevR4qEQLOK9Zs5ojR47y1ltvVcBeVrxJkybS\nvXsYDz/88D2/99q1a2zYsIHt27eTkJCARqMhKCiIgIAAfHzqYG9vT35+Ho6OJ/H390ZRFLKysoiN\njUWn0xEfH0/Dhg3p0KEDI0eOpGPHjlY9Tc8S3K3jsblGeCVKsqlTpxZ/HhoaKidkS0mj0dC9e3dC\nQkKIiYlldAkgAAAgAElEQVRh165dbN26lVWrVpGeno6DgwMajYbCwmpAY0CDwVCIg4Mj/v7+9OrV\nqzgcS7Nwc0FBYaWYXXEnxl8MBSX6XldXV/r370/nzp2Ij08gKiqKv//+m2XL/lf8c1KUQuAoVaro\nURSF/Px8vL29adOmDVOmTOGBBx6gbdu2VK1a1bw7VklFRkaWuImruX6VdACmYjyHB/AmYABunPQn\nI7xyUBSFHTt2EBERwcaNG2nRogVarRatVktISAiBgYHFh7c3rmlx/TA2ISGh+CM+Pp4GDRowcOBA\nwsLCcHK6+9oXP/zwA/HxcbzzzrsVsasVbsKECfTs2ZOwsLC7fp9er+f3339j9eo1pKWlERQURGBg\nAAEBgcW/RDQazS1rWlw/jNXpdMUfhw8f5oknniA8PJz27dvLKK8c1BjhRQFNAX/gLDAI44ULUU6Z\nmZl89913REREoCgK4eHhLFy4EHd39xK9XqPR4OPjg4+PD927Gyf9FxQUsHPnTtasWc2sWbPo27cv\n/fr1w9fX97bv4eTkRG6uZc1AMKW8vDycnO7cSPPkyZOsWbOGDRs20KZNG8aNG8f999+PnV3JrgE6\nOjrStm1b2rZty6hRowC4dOkS33zzDUOHDsXDw4Pw8HCGDBmCq6urSfZJGJnrKm0BMA74HYgHvkcu\nWJTL9TbqjRo1IjIykjlz5hAXF8e4ceNKHHZ3Ym9vT2hoKHPmGG9/KCgoYNiwYXz88cdkZ2ff8v1e\nXl5mvzVGTefPn6dmTa9bHs/IyGDy5MmMHj0aFxcXli1bxqxZs+jYsWOJw+5Oatasyeuvv87Ro0f5\n6KOP+Omnn2jYsCHLli0z6ZV4WyfLNFqBU6dOMWrUKDIyMvjmm29KvSpVWZZpzMrKYtasWURFRTF5\n8mTatWtX/NyVK1fo06cPkZGR5f6PbmlycvSEhfVg27ZtN92Os2PHDqZNm0aPHmGMHTsOFxeXUrxn\n2ZZpjIqKYsSIETRp0oT58+dTp06dUr3eVskyjVZKURQWLFhASEgIYWFh7N69u8KW4HNzc2PKlClM\nmjSJKVOm3DTa8/DwwN3dneTkUxVSS0U6cuQoDRs2LA67jIwM3n33XWbN+oxp06bx+usTShV25RES\nEoJOp6Nly5a0bt1aRnsmIIFnoXJycujfvz+LFy8mMjKSSZMmleoeO1Pp1KkTq1Z9T35+Pk899VTx\nCmvGKViW1c3FFOLj4wkMNN4jn5SUxNChQ3F3r86KFSsJDg6u8HqcnJz48MMP2bBhA9OnT+fZZ58t\n8RVkcSsJPAuUlZVFr169cHBwYOfOnaovrFytmhuTJ0/m6aefYvTo0Rw7doygIOMk+8omMTGBwMBA\nYmNjCQ8P5//+7/8qdFR3J1qtln379pGamsrAgQOtpiuzpZHAszDXrl3jscceo1GjRixfvtyilt0b\nMGAgL7/8EuHh4dSs6cX+/fsr1SGWwWBAp4vG1dWFV155hXfffZeePXve+4UVxNXVlZ9++gkHBwf6\n9etncb36rIEEngXJy8ujX79+NG7cmAULFljkzb09ez7Kyy+/zLx588jMzCQuLlbtkkxmz549ODs7\nM2vW50yePJkuXbqoXdItHB0dWbZsGQ4ODgwbNsxiuzJbKgk8CzJ+/HicnJxYtGiRRV/9fOyxxxg2\nbBh5eXmsXPm92uWYzIoVK0hPT2f8+PF07dpV7XLuyMHBge+//57U1NSbZiuJe7Pc/1U2ZuvWrfz8\n8898++23qlycKK1BgwbRsmVLtmzZclMrJWt19uxZdDod3bp149FHH1W7nHtydnZm+fLlLFy4EJ1O\np3Y5VkMCzwJkZWXx3HPPsXDhQqvpeabRaHj33XfRaDQsXPi12uWU2+zZs3FwcODVV19Vu5QS8/Hx\nYdasWYwYMYLc3Fy1y7EKEngWYOLEiTz44INWMbK4kaenJ6NGjWLt2rVcunRJ7XLKLDk5mc2bN/P6\n669bXUumoUOH0qhRIz744AO1S7EKMtNCZdu2bWPYsGEcOnTIbKO7ssy0KClFUejbty+urq6sXLnS\n5O9vboqi0KdPH9zc3Fi+fLlZtlHWmRYlde7cOdq0acPGjRtVuVfQ0shMCwv2wQcfMGPGDKs5lP03\njUbD7NmzOXbsGJs3b1a7nFJbtWoV58+fZ86cOWqXUmY+Pj68++67TJs2Te1SLJ4Enoqut2caMGCA\n2qWUS4MGDdBqtXz44YdcvZqldjkldvHiRWbP/oqwsO54enqqXU65DB8+nK1bt3LmzBm1S7FoEngq\nmjdvHqNGjbKom4vL6sUXXwQUPv30U6u4GdlgMPDRRx8BGp5//gW1yyk3Nzc3hgwZwtdfW/8FJHOS\nwFPJ1atX+d///sfzzz+vdikm0bp1a2rXrkN0dAyLFy9Su5y7UhSFWbM+49SpUwQGBtKoUSO1SzKJ\nMWPG8PXXX5t9RTVrJoGnkuXLl9OtW7e7LpZjTTQaDf/5z39o0KAB69f/yooVK9Qu6baMHWjmEx0d\nQ40aNRg06D9ql2QyLVu2pEmTJqxbt07tUiyWBJ5K1q9fz5AhlasJ9COPPExMTAxz5sxm5cqVfPPN\nNxZ1eKsoCl999RXbtkUyY8YMDh9OpFu3ULXLMqmhQ4eyYcMGtcuwWBJ4KtHpdDc11awMqlVzo1at\nWuTk5LJo0SI2btzIZ599ahGT3PV6Pe+//z4xMdEsXLiQtLQ0mjRpioODg9qlmdT1Hnri9iTwVHD+\n/HlycnLw9/dXuxSTCwwMJDExAW9vbxYuXMj58+d5+umniY+PV62m6OhohgwZTEFBAXPnRuDu7k5C\nQkJx37vKpGXLliQlJXHt2u3X1bV1Engq0Ol0BAcHV8qVqQIDA4iPN/bJ8/DwYObMTxk5ciQvv/wy\nc+fOrdDRnl6vZ+bMmbz11luMH/8qH3zwQfFSiNf73lU2Tk5OBAYG8vfff6tdikWSwFOBTqdDq9Wq\nXYZZBATc3BhUo9HQs2dPVqxYwYkTx3n66afZvn27WdsaFRTks2nTJgYPHkxmZibff/893bp1u+l7\nEhISK2XggbFZqBzW3p7lt+WohOLi4ujbt6/aZZhF06ZNOX78+C2Pe3l5MXPmp2zdupVvvvmGmTM/\noV+//vTt25eaNWuaZNupqan8+OOPrFv3I/XrN2DChAl07tz5lu8rKMjnzJkUGjZsaJLtWppWrVoR\nFxendhkWSQJPBVevXqV69epql2EWVatWRa/X3/Y5jUZDWFgYYWFhJCYmsGbNGvr370+nTp3o2rUr\ngYGB1KtXr8S9AAsLC0lOTiYhIYFt27YRFRVFz549mTs3gsaNG9/xdTk5OTg6OllFG66yqF69+m2X\n1xQSeKrIycnB2dlZ7TLM4nqIFBTkY29/5yugAQGBvPPOu7z00sts2LCBTZs2MXv2V1y9epXmzQNo\n2NCfatWqodEYw0+j0aAoCopiICvrKseOHePw4cN4enoSGBhAhw4dmDp1avE5urvJzc2r0NktFX1r\njrOz8x1/6dg6CTwVFBYWVmj79jp1qnPkyFFcXf2oVq18i3aXhJ2dHYWFBkoygKpevTq9evWifv36\nJCQk8PfffxMfH8+hQ4dwdXW5beBlZ1+jevXqtGvXjlat7iMwMIiWLVuWKOzAOK2son7+mZmXyclJ\nwc+v4ubqVqlSRVq/34EEngqcnZ0rdNWpxo3r4+2dyeHDKaSlpeHu7oeTk3lGmAaDgYKCgnuOoBRF\nIS4ujjVrVhMZGUlAQACBgUH07t2bCRMm4Ovre8dDW4PBUHwom5CQwKJFizh69CgPPfQQAwcOpFmz\nZnfdtqOjo9kbZubkXCMz8zS1ahlo165hhfbZq8xHEOUlgacCNQ45qlevTkhIIBcvXiQu7ghZWTWo\nUaOuyUc6eXm5ODo63vGWm5wcPb///gerV68mMzOTAQMG8Morr+DhUaPE27Czs8Pf3x9/f//ipqkX\nL15k3bp1vPLKK9SpU4eBAwcSFhZ22+B1cjJf4BUUFHD58hlcXTNo397XZBdkSkOv16u+rKSlkttS\nVODn58eJEycqfLsajQZvb286dw6ieXO4ciWOK1cumHQbZ86cpVatWrd9bteuXfTr159t27YyZswY\n1q1bx7Bhw0oVdnfi5eXFqFGj+Pnnnxk27Bl++eUXBg4ceNvbM5ycnHF1deXiRdPtu6IoXL6cSmZm\nHC1a2NO5c0tVwg7gxIkT1KtXT5VtWzoZ4alAq9Xyxx9/qLZ9e3t7/P39qF3bi2PHUjh9+gJVq/pR\ntapbud87ISGBoKCgmx7Lyspi1qxZREVF8d5775l1Sp29vT2hoQ8SGvogO3bs4O233yYsLIxx48YV\nj3o0Gg0BAQEkJCTSpYt3ubd59WoG166dpkEDFxo3DsDJyfSdpUtDp9MxduxYVWuwVDLCU0FISAhR\nUVFql4GLiwstWzalY8e62NufIi3tGHl55TvU+/eUrV27djFo0CCcnBxZuXJlhc4f7tq1K99//z1Z\nWVkMHjyY6Ojo4ucCAwPLPd0tNzeHtLSjuLqeoVOn+gQFNVY97BRFISoqqtLe2F5eMsJTQUBAAGfP\nniUjIwN3d/NfNb0XDw8POnZ05/z5VOLjE8nK8qJGDZ8yrY2bkJDAgw+GoigKCxcu5JdffjH7qO5u\n3N3def/999mxYwdvvfUmI0aMYPDgIQQGBvLLL7+U6T0LCwu5fPksTk6XCQnxwcvLy2KmCSYnJ+Pg\n4EDdunXVLsUiSeCpwN7enlatWhETE0NoaKja5QDGwzwfnzp4edXk5MkzJCXF4uTki7t7yc9DFRYW\ncuTIEZo1a85nn32GTqfj22+/Ve1c1o26du1K06ZNCQ8PJyvrKo899hgzZ35S6ve5cuUChYXnaN68\nBvXqBVnczcs6nY6QkBC1y7BYckirkk6dOql6Hu9OHBwcaNrUn27dmuDpeZG0tET0+pLdtX/w4EF8\nfX1ZsGABcXFxLFy40CLC7jofHx8WLVrEli2bi0Z3GpKSkkr02uzsLNLS4qld+wpdujTF39/P4sIO\nYNOmTTzwwANql2GxZJlGlSQmJhIaGkpycrJFr2mRnp5OfPwZsrKq4elZ766zJ95++20yMq5w+fIV\nFiyYT7Vq5b8IYg6XLl1i1KhR+Pr64ufnx8SJE+/4vXl5uVy5koK7u56goHoWvbpcZmYm/v7+xMbG\n2vQhrSzTaIECAgJo0aIFP/zwg9ql3JWnpycPPNCC++5zIjMznkuXzt12qtSlS5fYvn07p04lM3v2\nbIsNO4CaNWsyb14ER48e5ddff73tvFODwcClS2e4di2RNm2q0rFjC4sOO4D//e9/hIWF2XTY3YsE\nnorCw8OZO3eu2mXck52dHfXq1aVbt0Dq19dz4UIsmZmXb/qeFStWoCgK06ZNs4olD+vU8WHy5MkY\nDIW3rAGRkXGJS5diady4gK5dg/DxqWMxFyXuRFEU5s6dS3h4uNqlWDQJPBX16dOH48ePc/DgQbVL\nKRFHR0cCAhrRpUtD3NzOk5Z2hJwcPQUFBaxYsYIePXpw3333qV1miXXq1Im2bYNZvHgxiqKg12eT\nlpaIp+dFunZtQuPGDaymBfyOHTswGAwWcxHMUsk5PJVNmzaNv/76ix9//NHiRxH/ZpymdpaPP17C\ntm1/sXXrVqubw5mVlUWPHt0ZOLAXY8f2JyjI1ypGqDcyGAx0796dwYMHF60PbNvkHJ4Fe+2110hK\nSrLYZQ3vxsvLi2rV8vn999mMHz+Aa9cyLGqVsnsxGAzk5V1l1KierFz5AT4+rlYXdgARERHk5eUx\nevRotUuxeDLCswBRUVH06tWLv//+mzp16qhdTokpikKzZs1wc3Njz549HDt2mlOncnF1rVchbajK\n43rbpoYNq9KoUT0CAwOpUaOGRcyAKY1jx45x//33s2vXLpo3b652ORZBRngWLiQkhFGjRjFmzBir\nGiHNnz+f06dPM3fuXJycnAgKakKnTn44O6eQlpZEbm7FtcAqqZwcPWlpR3BzO0+XLg0JCGiEo6Mj\nX3zxBbGxsaxatUrtEkvMYDDw3HPP8eabb0rYlZCM8CxEbm4uWq2WCRMmMHz4cLXLuaejR48SEhKC\nn58fsbGxNz2nKAppaReIjz9Hfn5NPDx8KrTh6e1cb9vk4pJBixZ18fLyuul5g8FA/fr10ev1xTdQ\nW7pZs2axdu1aduzYofrP15LICM8KODk5sXLlSt544w02btyodjl3lZKSwsMPP0yDBg147bXXbnle\no9FQu3YtunRpQZMmBi5fjuPKlYsqVGoM3/T0VDIy4ggMrELnzi1uCTsw3nozfvx4/P39efjhh7l4\nUZ16S2rlypV89tlnfPfddxJ2pSAjPAuzZ88e+vTpw+rVqy3yFoPz58/z4IMP8uSTT7Jw4UKSk5Nx\ndXW962v0ej1Hj57mzJlCqlatZ5I2VCVhbNuUQoMGTjRu7HfPTiaXLl2iSZMmDBs2jN27d/PHH39Q\no0b5e/WZ2s8//8zo0aPZvHmzVd0GVFFkhGdFOnbsyKpVq/jPf/7Dr7/+qnY5Nzl16hRdunThqaee\nolGjRjz66KP3DDswtqFq1aoZHTv6FLWhOk5+vvkW5Da2bUrC2TmFTp38CApqUqK2TTVr1qRTp050\n69aNLl26EBoaSmpqqtnqLIsVK1bw/PPPs379egm7MpDAs0APPvggv/zyCyNHjmTu3LkYDAa1S2LX\nrl106dKFl156iXfeeadMXTmMbaha0KaNK9nZCVy6dNak+1ZYWMilSynk5h5Gq61O+/ZBpV4OU6vV\nEh0dzWeffUb//v3p3LkzMTExJquxrAoLC5kxYwYTJkxg8+bNqrXbsnYSeBbq/vvvZ8eOHSxdupSH\nH36YU6dOqVLHtWvXeO211xg4cCCzZ8/m//7v/wBjG6KyNJm83oaqa9cgGjbM49KlODIz08td55Ur\nF7h8OY4mTQx06dKCWrVqlelGbq1Wi06nQ6PRMHnyZKZMmcIjjzzClClTyMsz36j0bhITE+ncuTO/\n/fYbu3btomXLlqrUURlI4Fmw5s2bs2vXLh566CFCQkJYsGBBhd62smvXLtq0acPZs2c5ePAgffv2\nBSA/P5+4uDjatGlT5ve+3oaqS5dGuLunkZpa8jZUN8rOziI1NR5v78t07dqURo3ql6ttk1arJSoq\nqvjn/PTTT3PgwAF0Oh3t27fnwIEDZX7v0iosLOTTTz+lc+fOPP3002zZsoUGDRpU2PYro/JctJgJ\n9AbygGPAs0BG0XNvAiOBQuAl4HaN3+SiRSnEx8czYsQIqlWrxptvvklYWFiZOhKXRGJiIl9++SXr\n1q1j7ty59OvX76bnDxw4wNChQ8vdIv1G/7ShcsPT0/eubagA8vPzuHw5BXf3ayZt26QoCnXr1mXf\nvn3Ur1//pse/++47Xn/9dZ5++mnGjRtHo0aNTLLNfyssLGTjxo18+OGHuLi4sHjxYrNtqzIy10WL\nP4AWQGvgCMaQAwgCBhX92ROIKOd2BBAUFMTu3bsZMmQIr7/+OoGBgXzxxRdcvnz53i8ugfz8fNau\nXUtYWBihoaHUqFGDQ4cO3RJ2YAzEFi1amGS71/3ThsqRzMx40tPP33Y0a2zbdJbs7ATatHE1edsm\njUZDixYtSExMvOXxYcOGceDAAezs7Gjfvj29evXi119/Ndmi1xcuXGD69Ok0btyYDz74gLFjx7Jl\nyxYJOxMy1W0pTwL9gacxBp8BmFH03G/AVGDvv14jI7wyUhSF3bt3ExERwYYNG+jbty/dunVDq9US\nFFSytuOKopCcnIxOp2Pfvn0sW7aMRo0aER4eTr9+/e7alHTJkiXs3LmTJUuWmHK3iuXl5XH8eAon\nTlzDxaUebm7GQMvMTCc39wyNG7vh7+9rtk4mTzzxBCNGjOCJJ5644/fo9Xq+//57IiIiuHDhAk89\n9RTt2rVDq9Xi6+tbovOHeXl5xMXFodPp2Lp1Kxs3bqRfv36MGTNG2rSXw91GeKbqUT0SuD77vS43\nh1sKYPm3rVsRjUZDp06d6NSpE2lpaaxcuZLNmzczY8YMUlJSuO+++4r/47m4uODk5ER+fj56vZ7L\nly8TExODTqfD0dERrVaLVqtl48aNJb7NQa/Xm7UryvU2VL6+WSQmniY1NQ0wUKcONG/eiKpVq5pt\n21CyhdJdXFwYMWIEI0aMYP/+/fz000/Mnz8fnU6HnZ0dWq2W1q1b4+HhgYuLC/b29uTk5KDX64t/\n0cTHx9OwYUO0Wi1dunRhzpw5Vtm8wJrcK/A2Abebzf4WcH3Jp7cxnsdbfpf3ue1QburUqcWfh4aG\nWuSNtpauVq1avPTSS8VfZ2ZmEhMTQ3R0NGlpaaSmppKTk4OjoyPOzs5Ur16dcePGodVqy9wZV1GU\nCmll5ebmRrt2QVy6dAmNRlNhYWBnZ1eq22XatWtXfJuIoiikpKQQFRXFoUOHuHjxInq9nvz8fFxc\nXHB2diYoKIhnnnmGNm3amD28bUFkZCSRkZEl+t7y/qsdAYwGwoDrM8UnFf05vejP34ApwL5/vVYO\naa3UokWL2LNnD4sXL1a7FLN48skneeaZZ257/lJYPnNdtOgJTAD68k/YAfwMDAYcgYZAU+CvcmxH\nWBhnZ2euXbumdhlmo9frcXFxUbsMYQblOYc3G2OobSr6eg8QDsQDq4r+LCh6TIZylUjDhg1LvLyh\nNTp69CgNGzZUuwxhBtI8QJRadnY23t7eXLlyxaKXmCyLy5cv06BBA65cuWK2+xyFeUnzAGFSVatW\npVGjRrf0wasMdDodbdq0kbCrpORvVZTJ9TmnlU1ZmiII6yGBJ8qkMgdeWZoiCOsggSfKpFu3bvz2\n228mm1ZlCXJycti2bRudO3dWuxRhJhJ4okxat25N7dq1Lb4dfWmsWrWKkJAQ6UhSiUngiTILDw8n\nIiJC7TJMJiIigvDwcLXLEGYkt6WIMtPr9dSvX5+9e/fSuHFjtcspF51OR79+/Th+/LgsimPl5LYU\nYRbXJ9AvWLBA7VLKbd68ebz44osSdpWcjPBEuZw4cYJ27dqxf/9+q52dcOjQIbp3705cXBy1atVS\nuxxRTjLCE2bTsGFD3njjDZ577jmLWGyotPLz8xkxYgQff/yxhJ0NkMAT5fbqq6+SnZ1tlYe2n3zy\nCV5eXjz33HNqlyIqgBzSCpNISEigS5cuREVF4e/vr3Y5JXL9UFan0920foWwbnJIK8wuMDCQCRMm\nMHz4cNWWMyyN7Oxshg8fzscffyxhZ0NkhCdMprCwkIEDB1KlShVWrlxpsVc8c3Nzefzxx6lXrx6L\nFy+ukO7NouLcbYQngSdMKjc3l969e+Pr68vixYstLvRyc3MZPHhwcSiXZw1bYZnkkFZUGCcnJ378\n8UdSUlIYPHgwubm5apdULDs7mz59+gCwbNkyCTsbJIEnTK5atWqsX7+egoICevbsSXJystolcfTo\nUbp3746Pjw+rV6/GyclJ7ZKECiTwhFk4OzuzevVqevTogVarZdGiRbddWNvcDAYDX3zxBR07dmTo\n0KEsWbJERnY2TM7hCbM7dOgQI0aMwNvbm6+//ho/P78K2e7Ro0cZOXIkGo2GJUuW0KRJkwrZrlCX\nnMMTqrrvvvvYu3cvXbp0ITg4mClTppCSkmK27Z04cYKJEyfSsWNHBgwYQGRkpISdACTwRAVxcHDg\n7bffZufOnVy6dIlWrVrRv39/tmzZYpJD3cLCQjZs2EDv3r1p164dBQUF7N+/n5dfflnWpxDF5JBW\nqCIrK4tly5Yxd+5c8vPzefzxx9FqtWi1Who3bnzPkCosLOTIkSPodDp0Oh0//fQTNWvWJDw8nEGD\nBuHq6lpBeyIsjdyHJyyWoijs2bOHbdu2FYdXRkYGbdu2JSAgAFdXV5ydnQFj/73s7GwSEhI4cOAA\n3t7exSEZFhYmi+8IQAJPWJkLFy4QHR1NUlISOTk56PV6NBoNzs7OuLi40KxZM4KDg/H09FS7VGGB\nJPCEEDZDrtIKIQQSeEIIGyKBJ4SwGRJ4QgibIYEnhLAZEnhCCJshgSeEsBkSeEIImyGBJ4SwGRJ4\nQgibIYEnhLAZEnhCCJshgSeEsBkSeEIImyGBJ4SwGRJ4QgibIYEnhLAZEnhCCJshgSeEsBkSeEII\nmyGBJ4SwGaYIvNcAA3DjmnlvAkeBROBhE2xDCCHKzb6cr/cDHgJO3fBYEDCo6E9fYDPQDGMoCiGE\naso7wpsFvPGvx/oCK4B84CSQBLQv53aEEKLcyhN4fYEU4OC/Hq9b9Ph1KRhHekIIoap7HdJuAurc\n5vG3MZ6nu/H83G1X+i6ilLIuIYQwuXsF3kN3eLwl0BD4u+jreoAOuB84g/HcHjc8d+Z2bzJ16tTi\nz0NDQwkNDb1XvUIIcZPIyEgiIyNL9L13G5WVxglAC6RjvFixHON5u+sXLZpw6yhPURQZ+AkhTEuj\n0cAdsq28V2mvuzG54oFVRX8WAOHIIa0QwgKYaoRXFjLCE0KY3N1GeDLTQghhMyTwhBA2QwJPCGEz\nJPCEEDZDAk8IYTMk8IQQNkMCTwhhMyTwhBA2QwJPCGEzJPCEEDZDAk8IYTMk8IQQNkMCTwhhMyTw\nhBA2QwJPCGEzJPCEEDZDAk8IYTMk8IQQNkMCTwhhMyTwhBA2w2YCr6TrVlor2T/rJvtXMSTwKgnZ\nP+sm+1cxbCbwhBBCAk8IYTPUXIg7Euim4vaFEJXTdiBU7SKEEEIIIYQQQghRJq8BBsDzhsfeBI4C\nicDDahRlAjOBBOBv4AfA/YbnKsP+9cRY/1Fgosq1mIIfsA2IA2KBl4oe9wQ2AUeAPwAPVaoznSpA\nDPBL0deVbf8smh/wG3CCfwIvCDgAOAD+QBLWedX6If6pe3rRB1SO/auCsW5/jPtxAAhUsyATqAO0\nKfq8GnAY4z59ArxR9PhE/vl7tFavAsuAn4u+rmz7Z9FWA624OfDe5OYRw29Ahwquy9SeBP5X9Hll\n2KnvygwAAAG5SURBVL+OGOu+blLRR2WyDuiBcRRbu+ixOkVfW6t6wGbgQf4Z4VnE/lnbb/yy6Auk\nAAf/9XjdosevSwF8K6ooMxkJbCj6vDLsny9w+oavrXEf7sYfaAvswxgGqUWPp/JPOFijz4EJGE8h\nXWcR+2evxkbNYBPG3xr/9jbGkc6N56/udu+hYsqiTOhO+/cW//wGfRvIA5bf5X0sdf/uxNrqLY1q\nwFrgZSDrX88pWO++9wbSMJ6/C73D96i2f5Ul8B66w+MtgYYYT+iDcaitA+4HzmA8t8cNz50xV4Hl\ndKf9u24E8BgQdsNj1rR/d/LvffDj5lGrtXLAGHbfYTykBeOopw5wHvDBGBrW6AGgD8Z/j85AdYz7\nWVn2z6rc7qKFI8ZQPIa6M0/KqifGK35e/3q8MuyfPca6/THuR2W4aKEBlmI87LvRJ/xzznUSleOk\nfjf+OQKpjPtn8Y5z820pb2G8CpgIPKJKReV3FDiF8RAiBoi44bnKsH+PYrySmYTx9IS164zx3NYB\n/vk764nx3+VmKtdtG9345yptZdw/IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCFEZfT/LrVj8Din\nf6sAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1065e9810>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# fig.gca(xlim=[0,100],ylim=[0,100])\n",
"# verify it with hexagonal packing \n",
"import math\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-50,50],ylim=[-50,50])\n",
"a = PackingCircle (0, 0, 10)\n",
"b = PackingCircle (0, 20, 10)\n",
"c = PackingCircle (0, -20, 10)\n",
"d = PackingCircle (10 * math.sqrt(3), 10, 10)\n",
"e = PackingCircle (10 * math.sqrt(3), -10, 10)\n",
"f = PackingCircle (-10 * math.sqrt(3), 10, 10)\n",
"g = PackingCircle (-10 * math.sqrt(3), -10, 10)\n",
"\n",
"# b = PackingCircle (20, 0, 10)\n",
"# c = PackingCircle (-20, 0, 10)\n",
"# d = PackingCircle (10, 10 * math.sqrt(3), 10)\n",
"# e = PackingCircle (-10, 10 * math.sqrt(3), 10)\n",
"# f = PackingCircle (10, -10 * math.sqrt(3), 10)\n",
"# g = PackingCircle (-10, -10 * math.sqrt(3), 10)\n",
"\n",
"# \n",
"plot_packingcircle(a, fig)\n",
"plot_packingcircle(b, fig)\n",
"plot_packingcircle(c, fig)\n",
"plot_packingcircle(d, fig)\n",
"plot_packingcircle(e, fig)\n",
"plot_packingcircle(f, fig)\n",
"plot_packingcircle(g, fig)\n",
"plot_regularpolygon(0, 0, 6, 20, fig)\n",
"\n",
"polygon= mpatches.RegularPolygon( (0, 0), 6, 20, fill=True, alpha=0.2)\n"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"False\n",
"True\n"
]
},
{
"data": {
"image/png": "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\nPN5wdu0BqvOYf8wEcAN78ua0gHmI/Q+6WuRTdwv2ZNIVoA17KGGyHMWd4U+A388tfwn4TyesVw3H\nPJ9j+BngO7nlTwFvl6u4U+RTdwB4s6xV5ecXsMPupHCpxuN96KzaA5zjmFfyWelavUE8n7pvY//j\neASkgDeAz5a2rLy8BLyeW34d+JVT1q30Mc/nGB797/kh9hnwUJnqO0m+/+8rfXyP8xYQOeX9ajze\nh86qHc5xzGuhiUQt3iDuxZ6YOhTOfa3ShrAvN8h9PumHuhqOeT7H8Lh1fCWu6yz51G0Bz2Nfjn4H\nmCpPaQWrxuOdr3Md82LdrnOSWr1BvNC6reKWcy4n1f4V47XFyXVWw035+R5D8yygksc+3/2/C/iB\nBPAi8HfYwzO1oNqOd77OdcxLHYy/VIRtrOQ+bwB/i32pUup/pIXWvYT9P+GQH/u3azmcVvsadmiu\nAiPA+gnrVeKYm/I5huY6vtzXKimfuneOLN8FvoE9prtV2tIKVo3HO1/nOubVcil92g3ivbnlwxvE\nT5sxK7eT6n4HGMcegG8HvkB1DLa/CfxGbvk3sH9rmqrlmOdzDN8Efj23/BwQ5cOhgkrJp+4hPvzZ\nuZ1brvZQhOo83vmqmWNeqzeI51M32Kfr89gD8dVQN9i/IX/Ax2/XqdZjftwx/GLu49DXc++/z+l3\nN5TTWXX/LvaxfQ/4v9ghUw2+BSwDB9g/4/+W2jjecHbt1XrMRURERERERERERERERERERERERERE\nROQ0/x8XdL48OfEj7gAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1068540d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# get a overlapped hexagon\n",
"\n",
"# assume unit hexagon input\n",
"# reference http://stackoverflow.com/questions/5193331/is-a-point-inside-regular-hexagon\n",
"def ifInsideHexagon(x, y, radius = 1):\n",
" x = x/radius\n",
" y = y/radius\n",
" # Check length (squared) against inner and outer radius\n",
" l2 = x * x + y * y\n",
" if (l2 > 1.0): return False\n",
" if (l2 < 0.75): return True\n",
"\n",
" #Check against borders\n",
" px = x * 1.15470053838; \n",
" if (px > 1.0 or px < -1.0): return False\n",
"\n",
" py = 0.5 * px + y;\n",
" if (py > 1.0 or py < -1.0): return False\n",
"\n",
" if (px - py > 1.0 or px - py < -1.0): return False\n",
"\n",
" return True\n",
"\n",
"\n",
"#verify correctness\n",
"# print ifInsideHexagon(0, 1)\n",
"# print ifInsideHexagon(0, -1)\n",
"# print ifInsideHexagon(0, 1.00001)\n",
"print ifInsideHexagon(math.sqrt(3)/2*2, 0.5*2, 2)\n",
"print ifInsideHexagon(math.sqrt(3)/2-0.001, 0.49999)\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-1.5,1.5],ylim=[-1.5,1.5])\n",
"\n",
"# plot_packingcircle(g, fig)\n",
"plot_regularpolygon(0, 0, 6, 1, fig)\n",
"plot_circle(math.sqrt(3)/2, 0.45, 0.01, fig)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# stacking with overlap"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#measure the coverage.\n",
"def measureCoverage(circles, hexagon_r, xmin, xmax, ymin, ymax):\n",
" inCircle = inPoly = 0.0\n",
" for i in floatRange(xmin, xmax, 1000):\n",
" for j in floatRange(ymin, ymax, 1000):\n",
" p = Point(i, j)\n",
" if ifInsideHexagon(p.x, p.y, hexagon_r):\n",
" for packingcicle in circles:\n",
" if p in packingcicle:\n",
" inCircle += 1\n",
" break\n",
" else:\n",
" inPoly += 1\n",
" return inCircle / (inCircle+inPoly)\n"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.906835700967\n"
]
},
{
"data": {
"image/png": "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\nCnQ6nUXfU6nRaCTYLJQhJ/E4AeuA8RSP3IQRXLp0iejo6JKPo0ePkp2djU6no6CgAAcHBzQaDa6u\nrmi12pKPwMDAMl8EyM/Px97e3kh7cqerV6+SkJCKm1sVPD3dTTK/zN7enry8vDJ9TWFhIQkJCXf8\nDE6dOkVOTg46nQ5FUdBoNGg0Gry8vAgKCir5Gfj5+cm8ORMx1HfZDlgPRAA//P3BGTNmlPw7ODiY\n4OBgA2328RAfH8+SJUtYt24d+fn5JX8ow4cPJzAwkBo1aqDRaLC1tSU/P5/c3FwuXrxY8oe3fv16\nYmNj8fDwYNiwYYwYMaJUCwvb29uTn59v1H27efMmCQkppKdbU6VKA06fzub8+Tj8/NyoXbuWUc9/\n5efn4+Dg8NDnFRUVsXnzZpYsWcKuXbuoW7duyc+gX79++Pr6Urly5ZLRrU6n49atW5w8eZKoqCi2\nb9/OnDlzSElJoV27dowdO5bnnntOQq6MIiMjiYyMNNn2rICvgHn3eVwRZZefn6+sXbtW6dSpk+Lm\n5qZMnz5dOXXqlKLX6x/p9QoKCpT9+/crr776qlKtWjVl8ODByr59+x74eoMHD1ZWrVr1qLvwQHl5\necrJk2eUzZtjld9/v6ZERSklH/v26ZTNm5OUffuOKVlZWUbZvqIoioODg5KTk3Pfxy9fvqzMnj1b\n8fDwUFq3bq2sWrVKyczMfOTtXb9+Xfnmm2+Up59+WnF3d1dmzpypXLp06ZFf73EH3PeWJkOcY2sH\nDAY6ATF/fnQ3wOs+lhRF4csvv6RBgwYsWrSIMWPGcP78ef7973/TqFGjRx7B2Nra0qZNG1auXMnp\n06cJDAxk6NChaLVa9u/ff8+vqVGjBunp6eXZnbvo9XouXkxl1654zp1zxMXFH2fn6nc8x97egVq1\nvMjP92DfvoscP37K4OfCsrOzsbGxwdHR8Z6PjR07Fm9vb06fPs2GDRs4cOAAQ4cOpVq1ao+8zSpV\nqvDyyy+ze/duNm/eTGpqKn5+frz66qtcvXq1PLsj/sYQwbbnz9dpQfGFg0BgqwFe97Fz8eJFevXq\nxYIFC9i0aRM7d+5k0KBBBj/PVaNGDSZOnMjJkyeZMmUK/fv3Z/LkyXetnh4YGMjhw4cNtt3MzEz2\n748jNlaHk5MvNWvWwdr6/r+CTk7OuLr6cvlyNXbtSuTcuRSKiooMUktMTAwBAQF3vVFs3bqVZs2a\n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\nsrKySE8vDjVznkfVr18/XnjhBfLydKxZs0btcgxmyZIljBkzpsKsZK8GCTYjc3d3JyQkhIiICLVL\nMYgvv/yS3NxcPv54boWYeDxkyBB8fHzYuXOn6q2GDCE7O5vvv/+eUaNGqV2KWZNgM4HQ0FA+++yz\nCn+eJy0tjYMHD/L6669Tt25dtcspFSsrK957730Ali9fpnI15bdq1Sq6detmsvtRKyoJNhPo1KkT\ner2en3/+We1SymX69OnUrFmTl156Se1SyqRmzZqMHj2ajRt/qNCjtpycHBYsWMAbb7yhdilmT4LN\nBKysrFi8eDGhoaFkZWWpXc4j+fXXXzly5AiffPKJyTqWGNLw4cNxdXWt0KEwffp0WrduTfv27dUu\nxexVvN/QCiokJITevXszceJEtUsps7y8PGbPnk337t3uuGWpIrGysiIsLIxTp06xffs2tcspsz17\n9rB69WoWLlyodikVggSbCX388cfs2LGDzZs3q11KmSxYsIC8PB1vvz1F7VLKxcPDg1atWjFr1v/d\nt/uvOcrJyWHEiBF89tlncgtVKUmwmZCTkxOff/45Y8aMITMzU+1ySiU2NpaffvqJzp074+zsrHY5\n5RYaGkpRURHz5s1Tu5RSmzZtGkFBQfTr10/tUioMCTYTCwkJ4aWXXqJ3795GX8WpvM6fP8/bb0/G\nwcGewYMHq12OQfj7+1O/fn0OHDjAV199pXY5DxUWFsZPP/0kh6BlJMGmgo8++ojGjRvTv39/dDqd\n2uXcU2pqKm+8EUrnzp2pV69eudbmNCdWVlYMGjSI+vXrs3btWtavX692SfcVERHBhx9+yLZt2+QQ\ntIwk2FRgbW3NihUrqFatGr169TK78z3nz59n9OhRDB48hJycXHr06Kl2SQbVtWtXjh07xvz581m5\nciXfffed2iXdZcWKFUyZMoVff/2Vhg0bql1OhSPBphJbW1u+/fZbGjRoQOfOnbl06ZLaJQFw/Pgx\nxox5jddeG8OLL77IiRMnaNq0qdplGZRGo8HT05Pc3FzCw8P5/vvvCQsLo7CwUO3S0Ov1zJ49m9mz\nZ7Nz5078/PzULqlCkmBTkY2NDStWrKBnz560aNGCr7/+WrW7E/Ly8li8eBETJ05i6tR3ee6559Dp\ndKSkpNCoUSNVajImX19fEhLiqVOnDuHh4cTGxjJq1EjOnj2rWk1JSUkEBwezefNmdu/ebZHfd1OR\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x106620890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"overlap = 0.1\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"#without overlap\n",
"a = PackingCircle (0, 0, r)\n",
"b = PackingCircle (0, 2*r, r)\n",
"c = PackingCircle (0, -2*r, r)\n",
"d = PackingCircle (r * math.sqrt(3), r, r)\n",
"e = PackingCircle (r * math.sqrt(3), -r, r)\n",
"f = PackingCircle (-r * math.sqrt(3), r, r)\n",
"g = PackingCircle (-r * math.sqrt(3), -r, r)\n",
"\n",
"plot_packingcircle(a, fig)\n",
"plot_packingcircle(b, fig)\n",
"plot_packingcircle(c, fig)\n",
"plot_packingcircle(d, fig)\n",
"plot_packingcircle(e, fig)\n",
"plot_packingcircle(f, fig)\n",
"plot_packingcircle(g, fig)\n",
"plot_regularpolygon(0, 0, 6, r*2, fig)\n",
"\n",
"print measureCoverage([a,b,c,d,e,f,g], r*2, -5, 5, -5, 5)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.0\n"
]
},
{
"data": {
"image/png": "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\n2FRiTMF2R61atWjXzp+gIGfy8s6SlnaJwsLCUu9JSEjgq6/WsGDBgnJny4iLi8Xf37Drdfr7+1U4\no8hzzz1HkyZNWLp0aZltt29nkJZ2msaNtXTt6k/DhvWNaqSCKY8nVpvx/Cs+YNq1a0d0dDQ5OTlq\nl1KKhYUF7u7udOnSEl9fhczM02Rm3gCKHxbMmjWLcePCK7yhHR0dTWCgYcc1Nmnizc2bN0lJSSmz\nzcLCgunTpxMZGckffxQP2Ndqc7l+/Sw1a6bQpYs3LVp4Y2tra9CaK2Pfvn0mNV+fMZFgU4m7uztd\nu3Zlw4YNapdSLmtra7y9vejSxQd39wxSU8+wcuUyatasWTLE6e+uXr3KqVN/EBISYvBa+/Xrx7ff\nbit3u6urK6+99hozZ77NlSvnKCyMp337OgQH++Pk5GTQWisrKyuLjRs3MnToULVLMUkSbCoaN24c\nixcvNup57R0cHAgM9KV27dts3DiPsLChFBTkl/verVu3EhoaWu4MHNXtTr+28nrpK4pCUFAgnp6W\n7Nr1KZ06tbynfnRqWLduHY899lilx9aK0iTYVNSzZ0+ysrL49ddf1S7lH3322WfMmDGB3r2bkpsb\nR3r6lVLDs/Lz89m+fTtPPvmkKvU1bdqUJk2asG/fvlKvZ2ff4saNMzRsmMO6dR+zceN6MjL0P/JC\nnxRFYfHixSazHoYxkmBTkaWlJWFhYURERKhdyl1dv36dXbt28eKLL1K/vgdduwbg7V1AWtof3LpV\nvLDLzz//jK+v7313iNWHIUMGlyzanJenJTX1PPb2l+nUyZOAgGZ4eXnx73//m5UrV6pWY2UcOnSI\ngoIC/vWvf6ldismSYFPZyJEj+f777416ltQVK1YwePDgkqmWbGxs8PFpQrduzald+wZXrpxk5crl\nPPXUU6rWGRISwuXLl/n550jy8s4SFORM+/YBJSMioPjyf8mSJWWe9hoLRVF49913efnll81i2iW1\nSLCpzNXVldmzZzNy5Eij/GErLCxkyZIlJaMG/srR0ZGHH/bj4MGvqF9fg5+f5z1N6a1v2dmZhIc/\nwaJFL9O2bRPc3cuOpGjXrh116tThhx9+UKnKu1uxYgU3b95k7Nixapdi0gzxK0Ex5pvjxqCoqIju\n3bsTGhrKlClT1C6nlB07djBv3jx++eWXcrcfO3aMPn36cOzYMcCS2NgbKIo7rq4eBmtx5ORkkZNz\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10764e490>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"ol = 0.86\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"#with overlap\n",
"a = PackingCircle (0, 0, r)\n",
"b = PackingCircle (0, 2*r * ol, r)\n",
"c = PackingCircle (0, -2*r * ol, r)\n",
"d = PackingCircle (r * math.sqrt(3) *ol, r*ol, r)\n",
"e = PackingCircle (r * math.sqrt(3)*ol, -r*ol, r)\n",
"f = PackingCircle (-r * math.sqrt(3)*ol, r*ol, r)\n",
"g = PackingCircle (-r * math.sqrt(3)*ol, -r*ol, r)\n",
"\n",
"plot_packingcircle(a, fig)\n",
"plot_packingcircle(b, fig)\n",
"plot_packingcircle(c, fig)\n",
"plot_packingcircle(d, fig)\n",
"plot_packingcircle(e, fig)\n",
"plot_packingcircle(f, fig)\n",
"plot_packingcircle(g, fig)\n",
"\n",
"plot_regularpolygon(0, 0, 6, r*2*ol, fig)\n",
"print measureCoverage([a,b,c,d,e,f,g], r*2*ol, -5, 5, -5, 5)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.955883580221\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1066200d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"ol = 0.96\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"#with overlap\n",
"a = PackingCircle (0, 0, r)\n",
"b = PackingCircle (0, 2*r * ol, r)\n",
"c = PackingCircle (0, -2*r * ol, r)\n",
"d = PackingCircle (r * math.sqrt(3) *ol, r*ol, r)\n",
"e = PackingCircle (r * math.sqrt(3)*ol, -r*ol, r)\n",
"f = PackingCircle (-r * math.sqrt(3)*ol, r*ol, r)\n",
"g = PackingCircle (-r * math.sqrt(3)*ol, -r*ol, r)\n",
"\n",
"plot_packingcircle(a, fig)\n",
"plot_packingcircle(b, fig)\n",
"plot_packingcircle(c, fig)\n",
"plot_packingcircle(d, fig)\n",
"plot_packingcircle(e, fig)\n",
"plot_packingcircle(f, fig)\n",
"plot_packingcircle(g, fig)\n",
"\n",
"plot_regularpolygon(0, 0, 6, r*2*ol, fig)\n",
"print measureCoverage([a,b,c,d,e,f,g], r*2*ol, -5, 5, -5, 5)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"# stacking with boundary\n"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nMSP/Dx4UYIOTW0rUAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x107629d50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"ol = 0.96\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"circles, polygon_r = plot_hexagonwithcircle(0, 0, 1, ol, fig)\n",
"\n",
"circles_1_total = []\n",
"circles_2_total = []\n",
"for circle in circles:\n",
" circles_1, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_1_total.extend(circles_1)\n",
" \n",
"for circle in circles_1_total:\n",
" circles_2, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_2_total.extend(circles_2)\n",
"\n",
"# plot_regularpolygon(0, 0, 6, r*2*ol, fig)\n",
"# print measureCoverage([a,b,c,d,e,f,g], r*2*ol, -5, 5, -5, 5)"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1076a0590>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"ol = 0.96\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"circles, polygon_r = plot_hexagonwithcircle(-4, -4, 1, ol, fig)\n",
"\n",
"circles_1_total = []\n",
"circles_2_total = []\n",
"for circle in circles:\n",
" circles_1, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_1_total.extend(circles_1)\n",
" \n",
"for circle in circles_1_total:\n",
" circles_2, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_2_total.extend(circles_2)"
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"7\n",
"28\n",
"140\n",
"763\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1377410d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r= 1\n",
"ol = 0.96\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(5, 5)\n",
"fig.gca(xlim=[-5,5],ylim=[-5,5])\n",
"\n",
"\n",
"circles, polygon_r = plot_hexagonwithcircle(-4-0.3, -4, 1, ol, fig)\n",
"\n",
"circles_1_total = []\n",
"circles_2_total = []\n",
"circles_3_total = []\n",
"circles_4_total = []\n",
"circles_5_total = []\n",
"circles_6_total = []\n",
"circles_7_total = []\n",
"circles_8_total = []\n",
"\n",
"for circle in circles:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_1, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_1_total.extend(circles_1)\n",
"print len(circles_1_total)\n",
" \n",
" \n",
"for circle in circles_1_total:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_2, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_2_total.extend(circles_2)\n",
"print len(circles_2_total)\n",
"\n",
" \n",
"for circle in circles_2_total:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_3, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_3_total.extend(circles_3) \n",
" \n",
"print len(circles_3_total)\n",
"\n",
"for circle in circles_3_total:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_4, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_4_total.extend(circles_4) \n",
"\n",
"print len(circles_4_total)\n",
"\n",
"for circle in circles_4_total:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_5, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_5_total.extend(circles_5) \n",
" \n",
"print len(circles_4_total)\n",
"\n",
"for circle in circles_5_total:\n",
" if circle.x < -4 or circle.y < -4 or circle.x > 5 or circle.y >5:\n",
" continue\n",
" circles_6, polygon_r = plot_hexagonwithcircle(circle.x, circle.y, 1, ol, fig)\n",
" circles_6_total.extend(circles_6) "
]
},
{
"cell_type": "code",
"execution_count": 159,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"957.7548145532863"
]
},
"execution_count": 159,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"3*math.sqrt(3)/2*(1.92*10)**2"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"10.441085597323962"
]
},
"execution_count": 160,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"100*100/957.7548145532863"
]
},
{
"cell_type": "code",
"execution_count": 161,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"31.323256791971886"
]
},
"execution_count": 161,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"10.441085597323962 *3"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment