diff options
author | R. David Murray <rdmurray@bitdance.com> | 2009-06-25 17:29:39 (GMT) |
---|---|---|
committer | R. David Murray <rdmurray@bitdance.com> | 2009-06-25 17:29:39 (GMT) |
commit | 1666f19317e8821120d8d29f1e9284d19b63303f (patch) | |
tree | ed975bbb6cdcef6b3f4f06bef54b2b91432fc86a | |
parent | 5c3d40e0f379954672d6e92bfd30058564366da1 (diff) | |
download | cpython-1666f19317e8821120d8d29f1e9284d19b63303f.zip cpython-1666f19317e8821120d8d29f1e9284d19b63303f.tar.gz cpython-1666f19317e8821120d8d29f1e9284d19b63303f.tar.bz2 |
Issue 6340: update by Gregor Lingl of his tdemo_chaos demo program.
Functionally equivalent, clearer code, English comments.
-rw-r--r-- | Demo/turtle/tdemo_chaos.py | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/Demo/turtle/tdemo_chaos.py b/Demo/turtle/tdemo_chaos.py index 55b4bbd..d4656f8 100644 --- a/Demo/turtle/tdemo_chaos.py +++ b/Demo/turtle/tdemo_chaos.py @@ -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 g(x): 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__": |