{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The Barnsley Fern" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Barnsley Fern is a fractal named after the mathematician Michael Barnsley. It is generated by repeatedly applying affine transformations of the form:\n", "\$$\n", "\\begin{pmatrix} x \\\\ y \\end{pmatrix} \\rightarrow \\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix} \\begin{pmatrix} x \\\\ y \\end{pmatrix} + \\begin{pmatrix} e \\\\ f \\end{pmatrix}.\n", "\$$\n", "http://en.wikipedia.org/wiki/Barnsley_fern" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "import random" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def next_point(x0, y0):\n", " \"\"\"Generate the next point in the image of the Barnsley fern.\"\"\"\n", " r = random.random()\n", " if r <= 0.02:\n", " x1 = 0.0\n", " y1 = 0.16*y0\n", " elif r <= 0.86:\n", " x1 = 0.85*x0 + 0.04*y0\n", " y1 = -0.04*x0 + 0.85*y0 + 1.6\n", " elif r <= 0.93:\n", " x1 = 0.2*x0 - 0.26*y0\n", " y1 = 0.23*x0 + 0.22*y0 + 1.6\n", " else:\n", " x1 = -0.15*x0 + 0.28*y0\n", " y1 = 0.26*x0 + 0.24*y0 + 0.44\n", " return x1, y1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "N = 100000\n", "X = np.zeros(N)\n", "Y = np.zeros(N)\n", "X[0] = 0.0; Y[0] = 0.0;\n", "k = 1\n", "while k < N:\n", " X[k], Y[k] = next_point(X[k-1], Y[k-1])\n", " k += 1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Nmin = 500\n", "fig = plt.gcf()\n", "fig.set_size_inches(6,10)\n", "ax = plt.axes(frameon=False)\n", "ax.axes.get_xaxis().set_visible(False) # remove the axes\n", "ax.axes.get_yaxis().set_visible(False)\n", "plt.plot(X[Nmin:], Y[Nmin:], ',', c='g');" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "fig.savefig(\"fern.png\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }