{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Basic Fractals Stuff" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "Main reference:\n", "The Fractal Nature of Bezier Curves, Ron Goldman, Year?\n", "\n", "Also, wikipedia." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Definitions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fractals are *attractors* Fixed points of *iterated function systems*. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An iterated function system: $W = \\left\\{w_1, ... w_n\\right\\}$ (collection of *maps* w_i)" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Stierpinski Triangle Generation" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import random" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 192 }, { "cell_type": "code", "collapsed": false, "input": [ "def stierpinski(n, x0 = (0,0)):\n", " \"\"\" Generates the Stierpinski Triangles using Iterated Function System \"\"\"\n", " # Define the maps in the iterated function system W\n", " W = [lambda p : (0.5*p[0], 0.5*p[1])] # scale\n", " W += [lambda p : (0.5*p[0]+0.25, 0.5*p[1] + 0.25*sqrt(3))] # scale & shift up&right\n", " W += [lambda p : (0.5*p[0]+0.5, 0.5*p[1])] # scale & shift right\n", " x = [x0]\n", " # Repeatedly randomly select one of the maps in W\n", " # As the number of iterations approaches infinity this becomes equivelant to the definition\n", " # (I think. I mean, it seems to work)\n", " for i in xrange(n):\n", " x.append(random.choice(W)(x[i]))\n", " return x\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 436 }, { "cell_type": "code", "collapsed": false, "input": [ "points = stierpinski(10000, (0.5, 0.5))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 437 }, { "cell_type": "code", "collapsed": false, "input": [ "# Silly matplotlib needs x and y as seperate lists\n", "x = [p[0] for p in points]\n", "y = [p[1] for p in points]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 438 }, { "cell_type": "code", "collapsed": false, "input": [ "title(\"Stierpinski Triangles (10000 points)\")\n", "scatter(x, y, marker=',', s = 1e-3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 440, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 440 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Koch Snowflake Generation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I worked this one out myself. You might say I'm a special *snowflake*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def koch1(n, x0 = (0,0), x1 = (1,0)):\n", " \"\"\" Recursively generates a Koch Curve between two points \"\"\"\n", " s = asarray([x1[0] - x0[0], x1[1] - x0[1]]) # Get displacement from x0 to x1\n", " # Calculate normal vector\n", " normal = asarray([-s[1], s[0]])\n", " normal = normal / sum(normal*normal)**0.5\n", " # Calculate the three points \n", " # Are these are the maps that form the iterated function system? I don't think so.\n", " # \"Notice that in each case the entire fractal can be recovered from a single point.\" Goldman\n", " # But for this I need *two* points :S\n", " \n", " a = asarray(x0) + s/3. # 1/3 from x0 to x1\n", " b = asarray(x0) + 2.*s/3. # 2/3 from x0 to x1\n", " c = asarray(x0) + 0.5*s + ((sum(s*s)**0.5)/3.)*normal # Form an equilateral triangle with a & b\n", " \n", " # Make first generation of points\n", " p = [x0, tuple(a), tuple(c), tuple(b), x1]\n", " \n", " if (n <= 1):\n", " return p\n", " \n", " result = []\n", " for i in xrange(len(p)-1):\n", " result += koch1(n-1, p[i], p[i+1])[:-1]\n", " \n", " return result + [p[-1]]\n", "\n", "def koch(n, p):\n", " \"\"\" Generate Koch Curves between every two points in p, including between the last and first \"\"\"\n", " result = []\n", " for i in xrange(len(p)-1):\n", " result += koch1(n, p[i], p[i+1])[:-1]\n", " return result + koch1(n, p[-1], p[0])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 351 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot some iterations of it.\n", "for n in xrange(5):\n", " points = koch(n, [(0,0),(0.5, 0.75), (1,0)])\n", " x = [p[0] for p in points]\n", " y = [p[1] for p in points]\n", " plot(x, y, ',-')\n", "title(\"Koch Snowflake (first 5 iterations)\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 434, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAJ6DXIkfG4+p1NTE0UvthUz80mWhKionZp/AsY8jlcty+eQbRwod92M0/qVnGh9ftX3kkiUw5tLv\nNHZxsOGtYUt4/eg8zmcVNmH0TWf86y/jLrrx2u03XPqT7e1h/fqqP46PPlor+W/RbKHPO6Xc+FEl\nGjsNZQllbHPc1oSRS+2JHOOXLovSw6Xk/ZJXUyBg2zfJiAku3PZSTzh+HEaOhHffhSlTGvVa4Y/d\nDQgSXl/cuKCb2A/bjzD55xHsnxPHVSGNWP46P79qr+Tx4+Gll0hP1bE3Yh+ed3XCx6lmLwVLN0u8\n72q5Zbal5icv7kptTmJCAScGxtF1lQddZ18Dr7wCM2Y0ut7k7CIC3+jO24NX8ODEYU0QaeMZjCbc\nHhvI9QFzWP7QnY2vMCenaijs1ltZunMEio8Vcz7p9a9Pk9qXy35xNz8/n1GjRhEaGsro0aMpLKz7\n1TolJYXhw4fTvXt3evTowaJFixr6clI7FBruilMRbP+/0/Dss02S9AH8PZ15vOd/+c/WueQXt467\nWqe+/T4WwpbP77+jaSrs0AE2bkR9ehDuu8uZ8lbdexwk6UIanPgXLlzIqFGjSExMZOTIkSxcuLDO\nOZaWlrzzzjscO3aM3bt389///pfjx483KmCp/Ti/5zTZXpXY9hZwZxP0gv/ilRkT8RJRjHvjhSat\ntyG2Hz3H2oKX+O62JVg05RTLTp0I2uVDpYWZnx/8penqldq9Bg/1dOvWjS1btuDl5UVmZiYxMTGc\nOHHiH58zadIk7r//fkaOHFk7CDnU0+6piopNgA02QTbYBtuSsSSDDG8jxsGlzPj2+mZ5zfgzmUQt\njmjRFTz/uvLmr08/0SyvcWpzAmkjsymcqKNnaDf0SXpyf8zFc6on4d/Im7jas4bmzgYv2ZCVlYWX\nlxcAXl5eZGX98xri586d49ChQ/Tr16/e4wsWLKj+d0xMDDGXOJVPat2G6Iawr+c+HKIcMHtVsvna\nEnw9Krjzy8nN9poRQR2rV/CcOGAPNlaXf4WSez/+qnrlzeYSMiIc489Gfn+/HE16Iv1uvIqibUW4\nT5TLOLc3qqqi/mUv44b6xx7/qFGjyMysu3DWyy+/zMyZMykoKKguc3NzIz8/v956SktLiYmJ4emn\nn2bSpLq7QMke/5WhYGMBcaPimL84lUHaCl6bNQtF07wzis1mgcfDoxjgOYb1T/2nWV/r746dy6bn\n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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 434 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot performance\n", "# Python doesn't have an actual (good) profiler because apparently we don't care about efficiency :P\n", "# (It has profilers but they all just print to stdout and don't actually return values)\n", "from time import time\n", "\n", "nAverages = 5\n", "nMax = 10\n", "\n", "costs = []\n", "stddevs = []\n", "for n in xrange(nMax):\n", " cost = []\n", " for i in xrange(nAverages):\n", " t0 = time()\n", " koch(n, [(0,0),(0.5, 0.75), (1,0)])\n", " cost += [time() - t0]\n", " costs += [mean(cost)]\n", " stddevs += [var(cost)**0.5]\n", " \n", "figure()\n", "errorbar(range(nMax), costs, xerr=0, yerr=stddevs)\n", "title(\"Avg Time (s) vs n\")\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 432, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nNLeOraEqgroAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 432 }, { "cell_type": "markdown", "metadata": {}, "source": [ "So I worked it out, but I didn't work it out very efficiently..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# It might be O(n^4) if I remember DSA right which I might not...\n", "plot(range(nMax), costs)\n", "fit = numpy.polynomial.polynomial.polyfit(range(nMax), costs, 4)\n", "plot(linspace(0, nMax), map(lambda x : sum([fit[i]*x**i for i in xrange(len(fit))]), linspace(0, nMax)))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 447, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 447 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }