{ "metadata": { "gist_id": "b22e8d7dc02c540373a7", "name": "", "signature": "sha256:2be12ee1d4a29c12286824debe62f47b1b6d2379f30d3ed3e9896b2f48ce9ea2" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Draw a tree with turtle" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import turtle\n", "import random\n", "\n", "finished = []\n", "\n", "def draw_leaves():\n", " for turtle in finished:\n", " for i in range(20):\n", " turtle.begin_fill()\n", " rand = random.randint(-16, 16)\n", " turtle.color((16 + rand, 128 + rand, 16 + rand))\n", " turtle.circle(random.randint(4, 8), steps=5)\n", " turtle.left(36)\n", " turtle.penup()\n", " turtle.forward(random.randint(8, 20))\n", " turtle.pendown()\n", " turtle.end_fill()\n", "\n", "def draw_branch(turtle, level=12):\n", " if level > 0:\n", " turtle.pensize(level)\n", " clone = turtle.clone()\n", "\n", " turtle.left(random.randint(1, 20))\n", " turtle.forward(random.randint(2, 8) * level)\n", " draw_branch(turtle, level-random.randint(1,3))\n", "\n", " clone.right(random.randint(1, 20))\n", " clone.forward(random.randint(2, 8) * level)\n", " draw_branch(clone, level-random.randint(1,3))\n", " else:\n", " turtle.pensize(1)\n", " finished.append(turtle)\n", "\n", "def draw():\n", " turtle.setup(800, 600)\n", " turtle.colormode(255)\n", " turtle.bgcolor(\"white\")\n", " turtle.pensize(13)\n", " turtle.color(\"brown\")\n", " turtle.speed(10000000)\n", " turtle.hideturtle()\n", "\n", " turtle.penup()\n", " turtle.right(90)\n", " turtle.forward(300)\n", "\n", " turtle.pendown()\n", " turtle.right(180)\n", " turtle.forward(250)\n", " draw_branch(turtle)\n", " draw_leaves()\n", "\n", "draw()" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }