[Python-checkins] r73557 - python/trunk/Demo/turtle/tdemo_chaos.py

r.david.murray python-checkins at python.org
Thu Jun 25 19:29:39 CEST 2009


Author: r.david.murray
Date: Thu Jun 25 19:29:39 2009
New Revision: 73557

Log:
Issue 6340: update by Gregor Lingl of his tdemo_chaos demo program.
Functionally equivalent, clearer code, English comments.


Modified:
   python/trunk/Demo/turtle/tdemo_chaos.py

Modified: python/trunk/Demo/turtle/tdemo_chaos.py
==============================================================================
--- python/trunk/Demo/turtle/tdemo_chaos.py	(original)
+++ python/trunk/Demo/turtle/tdemo_chaos.py	Thu Jun 25 19:29:39 2009
@@ -1,11 +1,13 @@
-# Datei: chaosplotter.py
-# Autor: Gregor Lingl
-# Datum: 31. 5. 2008
+# File: tdemo_chaos.py
+# Author: Gregor Lingl
+# Date: 2009-06-24
 
-# Ein einfaches Programm zur Demonstration von "chaotischem Verhalten".
+# A demonstration of chaos
 
 from turtle import *
 
+N = 80
+
 def f(x):
     return 3.9*x*(1-x)
 
@@ -15,47 +17,41 @@
 def h(x):
     return 3.9*x-3.9*x*x
 
-def coosys():
-    penup()
-    goto(-1,0)
-    pendown()
-    goto(n+1,0)
-    penup()
-    goto(0, -0.1)
+def jumpto(x, y):
+    penup(); goto(x,y)
+
+def line(x1, y1, x2, y2):
+    jumpto(x1, y1)
     pendown()
-    goto(-0.1, 1.1)
+    goto(x2, y2)
 
-def plot(fun, start, farbe):
+def coosys():
+    line(-1, 0, N+1, 0)
+    line(0, -0.1, 0, 1.1)
+
+def plot(fun, start, colour):
+    pencolor(colour)
     x = start
-    pencolor(farbe)
-    penup()
-    goto(0, x)
+    jumpto(0, x)
     pendown()
     dot(5)
-    for i in range(n):
+    for i in range(N):
         x=fun(x)
         goto(i+1,x)
         dot(5)
 
 def main():
-    global n
-    n = 80
-    ox=-250.0
-    oy=-150.0
-    ex= -2.0*ox / n
-    ey=300.0
-
     reset()
-    setworldcoordinates(-1.0,-0.1, n+1, 1.1)
+    setworldcoordinates(-1.0,-0.1, N+1, 1.1)
     speed(0)
     hideturtle()
     coosys()
     plot(f, 0.35, "blue")
     plot(g, 0.35, "green")
     plot(h, 0.35, "red")
+    # Now zoom in:
     for s in range(100):
-        setworldcoordinates(0.5*s,-0.1, n+1, 1.1)
-
+        setworldcoordinates(0.5*s,-0.1, N+1, 1.1)
     return "Done!"
 
 if __name__ == "__main__":


More information about the Python-checkins mailing list