{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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733vi4iI8847L2666aY92uzatSve9a53xcqVK2P48OHx0ksvxd577131Y/m7v/u7+OEPfxgREU8++WS8973vrer+Uyv/AgAAgBSldv+d7PCre+65J7f96U9/umCbfv36xac+9amIiNi4cWM8+OCDNTmW6dOn57bXrFlTkz4AAAAA8iUb6jz88MMREdHW1hZHHXVU0XbTpk3LbT/yyCM1OZbt27fntvfaa6+a9AEAAACQL9k5dVauXBkREWPHjo3W1uKnMX78+D1eU22LFy/ObU+YMKHs169fv77L5zds2FD2PgEAAIDeLclQ54033ohXXnklIqLb8W0jRoyItra22LJlS6xbt67qx/L000/HggULIiLi3e9+d0WhTna8HgBUy5hZC2Lt3BmNPgwAAGooyeFX+cuTDxkypNv2bW1tERG55cmrZfv27fGZz3wmdu7cGRERc+bMqer+AaBSAh0AgN4v2UqdrP79+3fbfsCAARERsW3btqoexxe/+MVYtmxZREScddZZccopp1S0n+4qiDZs2BCTJ0+uaN8AAABA75RkqDNw4MDc9o4dO7ptn53IeNCgQVU7hquuuipuueWWiIiYNGlSfOc736l4X82+RBoAAADQfJIcfjV06NDcdilDqrZs2RIRpQ3VKsX3vve9mD17dkS8NRHz/fffnxviBQAAAFAPSYY6AwcOjH333Tciul856rXXXsuFOtWYkPjOO++M888/PyIiRo8eHQ888EDst99+Pd4vAAAAQDmSDHUiIo444oiIiFi9enV0dHQUbffMM8/ktitZmSrfvffeG5/61Kdi165dceCBB8bChQsNnQIAAAAaItlQ55hjjomIt4ZWPfnkk0XbLV68OLc9derUivtbuHBhfPzjH4+Ojo7Yd99944EHHojDDjus4v0BAAAA9ESyoc5HP/rR3Patt95asM2uXbvi9ttvj4iI4cOHx/Tp0yvqa+nSpXHqqafG9u3bY9iwYfGzn/0s3vnOd1a0LwAAAIBqSDbUmTx5cnzgAx+IiIh58+bFo48+ukeb6667LlauXBkRERdccEHsvffeuz2/aNGiaGlpiZaWljj77LML9vPUU0/FjBkzYsuWLdHW1hYLFiyIo446qronAwAAAFCmJJc0z7rxxhtj6tSpsW3btjjxxBNj9uzZMX369Ni2bVvMnz8/br755oiIGDduXMyc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CXUAAAAAEiTUAQAAAEiQUAcAAAAgQS2ZTCbT6IMAAAAAoDwqdQAAAAASJNQBAAAASJBQBwAAACBBQh0AAACABAl1AAAAABIk1AEAAABIkFAHAAAAIEFCHQAAAIAECXUAAAAAEiTUAQAAAEiQUKeOXnjhhZg5c2aMHz8+2traYuTIkTFp0qS49tprY+vWrVXr56c//Wmcdtpp0d7eHgMGDIj29vY47bTT4qc//WnV+oBqqeV1sXXr1rj77rvj85//fEyaNClGjBgRe++9d+y7774xZcqUuOKKK+KPf/xjlc4Eqqde7xf5tm7dGm9/+9ujpaUlWlpaYsyYMTXpB3qintfGL37xizj77LNj7Nix0dbWFsOGDYtx48bF3/3d38V3v/vdeP3116vaH1SqHtfF2rVr49JLL42jjjoqhg8fHnvvvXeMHDkyjj766Pj6178eL730UlX6gZ566aWX4ic/+Ulcdtll8aEPfSj222+/3Gebs88+uyZ93nnnnXHiiSfG2972thg4cGCMHj06zjzzzHj00Udr0t8eMtTFvffem9lnn30yEVHwz7hx4zLPPfdcj/rYuXNn5pxzzinaR0RkPvOZz2R27txZpbOCnqnldfH0009nhgwZ0uX1EBGZffbZJzN//vwqnxlUrh7vF4XMnDlzt35Gjx5d9T6gJ+p1bfz5z3/OnHrqqd2+fyxfvrznJwU9VI/r4vbbb88MGjSoy+th5MiRmZ///OdVOiuoXFc/p2eddVZV+9q6dWvm5JNPLtpfv379MldccUVV+yxEqFMHv/rVr3K/CIcMGZKZM2dOZunSpZmFCxdmzj333N1+6W7atKnifmbNmpXb15FHHpm58847M48//njmzjvvzBx55JG5577yla9U8eygMrW+LpYsWZLbx9SpUzNXXXVV5oEHHsj86le/yvzsZz/LnHfeeZl+/fplIiKz1157Ze6///4anCWUp17vF4X63WuvvTIDBw7MDB06VKhD06nXtbFx48bMUUcdldvfaaedlrnjjjsyjz32WOaJJ57I3H333ZkLLrgg097eLtSh4epxXTz88MO5z0v9+vXLfPrTn87cc889mccffzzzf/7P/8mccsopuX4GDRqUWbNmTZXPEsqTH6occsghmRNPPLFmoc4ZZ5yR2/f06dNz18a8efMyhx12WO65733ve1XttzOhTh184AMfyEREprW1NbN06dI9nr/mmmty/+CXX355RX2sWrUq09ramomIzMSJEzNbt27d7fktW7ZkJk6cmDuOWnzLC+Wo9XXxyCOPZD7+8Y9nfvvb3xZtc88992RaWloyEZE57LDDMrt27Sq7H6imerxfdNbR0ZG7if3617+eGT16tFCHplOva+OTn/xkJiIyAwYMyPz4xz8u2m7Xrl2ZN998s+J+oBrqcV3MmDEjt4/vfOc7Bdt8+ctfzrX5whe+UFE/UC2XXXZZ5r777sv88Y9/zGQymczzzz9fk1Bn4cKFuf2ecsopmY6Ojt2ef/nllzOHHHJIJiIyw4cPz/z5z3+uWt+dCXVq7Je//GXuH/u8884r2Gbnzp2ZCRMm5P7Bd+zYUXY/n//853P9PProowXbPProo7k2559/ftl9QLXU67ooxcc+9rHcsTz55JM16QNK0ajr4rrrrstERObwww/PbN++XahD06nXtZFf4Xnttdf29LChpup1XYwYMSITEZl99923aJuNGzfmjuW9731v2X1ALdUq1PnQhz6UC1XXrVtXsM2dd96Z6/uaa66pWt+dmSi5xu65557c9qc//emCbfr16xef+tSnIiJi48aN8eCDD5bVRyaTiR//+McRETF+/Ph4//vfX7Dd+9///jj88MMjIuLHP/5xZDKZsvqBaqnHdVGq6dOn57bXrFlTkz6gFI24Ll544YW47LLLIiLipptuiv79+/dof1AL9bo2/vVf/zUiIoYNGxZf/OIXyz9QqKN6XRc7duyIiIhDDz20aJthw4bFfvvtt1t76M02b94cCxcujIiI448/Ptrb2wu2+9u//dvYZ599IiLiRz/6Uc2OR6hTYw8//HBERLS1tcVRRx1VtN20adNy24888khZfTz//PPx4osv7rGfrvr5wx/+EGvXri2rH6iWelwXpdq+fXtue6+99qpJH1CKRlwX559/fmzZsiU++clPxrHHHtujfUGt1OPa2LFjR+4LshNOOCEGDhwYERE7d+6MdevWxdq1a+ONN94o99ChZur1npH9Qvj5558v2mbTpk3xyiuv7NYeerMnnngiF2B2df/dv3//XMHFE088EW+++WZNjkeoU2MrV66MiIixY8dGa2tr0Xbjx4/f4zWl+t3vfldwP9XuB6qlHtdFqRYvXpzbnjBhQk36gFLU+7qYP39+3H///TFixIi47rrrKt4P1Fo9ro2nn346F9q8+93vjk2bNsWFF14Y++23XxxyyCFx6KGHxrBhw+KEE06IRYsWlX8SUGX1es/43Oc+FxERr776atx0000F23zjG9/Yoz30ZpXcf3d0dMRzzz1Xk+MR6tTQG2+8kUuti5VkZY0YMSLa2toiImLdunVl9bN+/frcdnf9jBo1Krddbj9QDfW6Lkrx9NNPx4IFCyLirQ/xQh0apd7XxWuvvRYXXnhhRETMnTs39t9//4r2A7VWr2sj/wP6rl27YuLEiXHjjTfGxo0bc4/v2LEjfvGLX8Rxxx0XV199dVn7h2qq53vGP/7jP+aGcH3hC1+Ic889N+67775YtmxZ3H333XHaaafFt771rYiI+OpXvxrHH3982X1Aaprt/luoU0ObN2/ObQ8ZMqTb9tlfuK+//nrN+sn2UUk/UA31ui66s3379vjMZz4TO3fujIiIOXPmVHX/UI56XxcXX3xx/OlPf4opU6bEueeeW9E+oB7qdW38+c9/zm1fffXV8dxzz8Xf/M3fxOOPPx5vvPFGvPTSS/Hd7343hg0bFplMJmbNmpUbrgX1Vs/3jL322ituu+22+N//+3/HX//1X8ctt9wSH/nIR2LSpEnxsY99LO65556YPn16PPDAA3HllVeWvX9IUbPdfwt1aih/7HUpk08OGDAgIiK2bdtWs36yfVTSD1RDva6L7nzxi1+MZcuWRUTEWWedFaecckpV9w/lqOd18dBDD8X3v//9aG1tjZtuuilaWlrK3gfUS72ujS1btuzW5wknnBA/+clPYtKkSTFgwIDYf//943Of+1z85Cc/iX793vr4/JWvfMWiEzREvT9LrVy5Mm6//fb49a9/XfD5Rx99NObNmxd/+MMfKto/pKbZ7r+FOjWUnWQvorSZ4LMTtg4aNKhm/eRPCltuP1AN9bouunLVVVfFLbfcEhERkyZNiu985ztV2zdUol7Xxfbt2+Ozn/1sZDKZuOCCC+I973lPeQcKddaIz1IRb1XrFJo8/5hjjom//du/jYi3bnSL3eRCLdXzs9SSJUtiypQpcd9998XBBx8c//Ef/xF//OMfY8eOHbFu3br4zne+E4MHD4758+fH5MmT47e//W3ZfUBqmu3+W6hTQ0OHDs1tl1Jqlf2WqJQyykr7yf8mqtx+oBrqdV0U873vfS9mz54dEW9NXHb//ffvVhYJjVCv62LOnDmxatWqGDVqVHzta18r7yChARrxWWr//fePI488smjbk046Kbf9xBNPlNUPVEO9rovt27fHJz7xifjLX/4Sb3vb2+Kxxx6LM888M/7qr/4q9t5772hvb4/zzz8/HnrooRg4cGC8+OKLcdZZZ5V3MpCgZrv/Lj5VOj02cODA2HfffePVV1/dbTKlQl577bXcP3j+ZEqlyJ+cqbt+8idnKrcfqIZ6XReF3HnnnXH++edHRMTo0aPjgQceiP3226/H+4Weqtd1kZ3c9fjjj4/77ruvYJvsvrds2RLz58+PiIgDDjggjjvuuLL6gmqo17WR376cSS9ffvnlsvqBaqjXdfF//+//zQ2p+tKXvhRve9vbCrZ75zvfGWeeeWbccsst8eSTT8bTTz8df/3Xf11WX5CSzvffEydOLNq2HvffQp0aO+KII2LJkiWxevXq6OjoKLrk4DPPPJPbLncFniOOOKLgfqrdD1RLPa6Lzu6999741Kc+Fbt27YoDDzwwFi5c2O0Hd6inelwX2RLhW2+9NW699dYu277yyivxiU98IiIipk2bJtShYepxbbzzne/MbWcn0C8m//mulpKGWqrHdZG/BPp73/veLtseddRRuaHtzzzzjFCHXq2S++/W1tZ4xzveUZPjMfyqxo455piIeOsbzyeffLJou8WLF+e2p06dWlYfhx56aBx00EF77KeQhx56KCIiDj744BgzZkxZ/UC11OO6yLdw4cL4+Mc/Hh0dHbHvvvvGAw88EIcddljF+4NaqPd1Aamox7UxevToOOSQQyIiYu3atV1OgLxmzZrc9sEHH1xWP1At9bgu8oOijo6OLtu++eabBV8HvdGkSZNyEyR3df+9Y8eOeOyxx3Kv2XvvvWtyPEKdGvvoRz+a2y72reiuXbvi9ttvj4iI4cOHx/Tp08vqo6WlJU499dSIeCsJzP7gdPbYY4/lksJTTz3Viic0TD2ui6ylS5fGqaeeGtu3b49hw4bFz372s92+kYVmUY/rIpPJdPtn9OjREfHWTW72sUWLFlV0TlAN9XrP+NjHPhYREZs2bYqFCxcWbXf33XfntrM31lBv9bguDj300Nz2kiVLumybf2Ob/zrojYYOHRof/OAHIyLiF7/4RdFhkHfffXds2rQpIiJOO+202h1Qhpr7wAc+kImITGtra2bp0qV7PH/NNddkIiITEZnLL798j+cffPDB3PNnnXVWwT5WrVqV2WuvvTIRkZk4cWJm69atuz2/devWzMSJE3PH8eyzz1bj1KBi9bguli9fnhk+fHgmIjJtbW2Zhx9+uMpnAdVVj+uiO6NHj85ERGb06NEVvR5qoR7XxgsvvJAZOHBgJiIy7373uzN/+ctf9mjzH//xH7n9zJgxo6enBT1S6+vitddeywwePDgTEZmhQ4dmVqxYUfA47r///ky/fv0yEZE5+OCDMzt37uzpqUHVPP/882V/Nrr11lu7vHYymUxm4cKFuTYf+chHMh0dHbs9//LLL2cOOeSQTERkhg8fnvnzn//cwzMpTm1cHdx4440xderU2LZtW5x44okxe/bsmD59emzbti3mz58fN998c0REjBs3LmbOnFlRH+PGjYuLL7445s6dG8uWLYupU6fGpZdeGocddlisWbMmrr766li+fHlERFx88cU1G88Hpar1dbFmzZo46aSTYuPGjRERceWVV8awYcPiN7/5TdHXHHDAAXHAAQdUdD5QDfV4v4AU1ePaOOSQQ+LrX/96XHLJJfHrX/86Jk+eHJdeemm85z3viU2bNsXdd98d3/3udyMiYp999onrr7++aucHlaj1dTF8+PCYNWtWXHbZZbF58+Y4+uij40tf+lKccMIJMWLEiPjTn/4UP/7xj+Pf//3fY9euXRERMXfu3OjXz2AQGufhhx+O1atX5/7+yiuv5LZXr14dP/jBD3Zrf/bZZ1fUz3HHHRdnnHFGzJ8/P+6999444YQT4sILL4yDDjoofv3rX8ecOXPi97//fUS8tVDFiBEjKuqnJDWLi9jNvffem9lnn31yaV7nP+PGjcs899xzBV9b6jevO3fuzPzjP/5j0T4iInPOOedIz2katbwu8hP2Uv8US+KhnurxftEVlTo0q3pdG7Nmzcq0tLQU7eeAAw4oWBUBjVDr62LXrl2ZCy+8sMtrIiIye++9d+baa6+t4ZlCac4666yyPv8XUkqlTibz1miYk08+uei++/XrV5f7CzFqnZxyyimxYsWKuOiii2LcuHExePDgGD58eEycODFXRTN27Nge9dGvX7+YN29eLFiwIE499dQ46KCDon///nHQQQfFqaeeGvfff3/ccsst0nOaRj2uC0iN6wIKq9e1cdVVV8UjjzwSn/zkJ2PMmDExYMCAGDZsWEyaNCm+8Y1vxLPPPhtTpkypwhlBz9X6umhpaYnrr78+nnjiifjc5z4X73rXu2Lo0KGx1157xbBhw+Koo46KL3/5y/Gb3/wm/vmf/7mKZwbNb9CgQbFgwYK444474oQTTogDDjgg+vfvH6NGjYq///u/j4cffjiuuOKKmh9HSybTxfT+AAAAADQlJRsAAAAACRLqAAAAACRIqAMAAACQIKEOAAAAQIKEOgAAAAAJEuoAAAAAJEioAwAAAJAgoQ4AAABAgoQ6AAAAAAkS6gAAAAAkSKgDAAAAkCChDgAAAECChDoAAAAACRLqAAAAACRIqAMAAACQIKEOAAAAQIKEOgAAAAAJEuoAAAAAJEioAwAAAJAgoQ4AAABAgoQ6AAAAAAkS6gAAAAAkSKgDAAAAkCChDgAAAECC/j+FEnjxdrK29AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Python Code for the Cantor Sets Defined by Generalized Continued Fractions\n", "# %matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import math\n", "def sequences(m, n):\n", " seq = [1 for i in range(n)]\n", " while True:\n", " yield seq\n", " seq[n-1] += 1\n", " i = n-1\n", " while i > 0:\n", " if seq[i] > m:\n", " seq[i] = 1\n", " seq[i-1] += 1\n", " i -= 1\n", " if seq[0] > m:\n", " break\n", "a = 2 #change the value of variable a to create a different fractal\n", "def g1(z):\n", " return 1/(a + z)\n", "def g2(z):\n", " return 1/(a - z)\n", "def g3(z):\n", " return 1/complex(a, z)\n", "def g4(z):\n", " return 1/complex(a, -z)\n", "g = [g1, g2, g3, g4]\n", "n = 8\n", "m = 4\n", "points = [ ]\n", "for seq in sequences(m, n):\n", " i = n - 1\n", " x = 1\n", " while i >= 0:\n", " x = g[seq[i] - 1](x)\n", " i -= 1\n", " points.append(x)\n", "Fig, ax = plt.subplots()\n", "Fig.set_dpi(200)\n", "x = list()\n", "y = list()\n", "for pt in points:\n", " x.append(pt.real)\n", " y.append(pt.imag)\n", "ax.set_xlim([0, 1])\n", "ax.set_ylim([-0.5, 0.5])\n", "ax.plot(x, y, ',', markersize=0.1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.7 64-bit (microsoft store)", "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.10.7" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "fecc4abd7ffe92d2bf78f2585d8e9aed7a60bf8fe76468251a787d94976040d7" } } }, "nbformat": 4, "nbformat_minor": 2 }