diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-06-04 06:29:55 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-06-04 06:29:55 (GMT) |
commit | 8718459f0f7f42f9fedf1f7525c52bd7ac16b51b (patch) | |
tree | 99aa2c451de1149763fee3b11906524d87a0ef5e /Demo/turtle/tdemo_chaos.py | |
parent | 4ed3ed13c5c82f4b46d633cb7f61d6218d6ed320 (diff) | |
download | cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.zip cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.tar.gz cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.tar.bz2 |
Patch #1513695: New turtle module, with demos.
Diffstat (limited to 'Demo/turtle/tdemo_chaos.py')
-rw-r--r-- | Demo/turtle/tdemo_chaos.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Demo/turtle/tdemo_chaos.py b/Demo/turtle/tdemo_chaos.py new file mode 100644 index 0000000..55b4bbd --- /dev/null +++ b/Demo/turtle/tdemo_chaos.py @@ -0,0 +1,63 @@ +# Datei: chaosplotter.py +# Autor: Gregor Lingl +# Datum: 31. 5. 2008 + +# Ein einfaches Programm zur Demonstration von "chaotischem Verhalten". + +from turtle import * + +def f(x): + return 3.9*x*(1-x) + +def g(x): + return 3.9*(x-x**2) + +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) + pendown() + goto(-0.1, 1.1) + +def plot(fun, start, farbe): + x = start + pencolor(farbe) + penup() + goto(0, x) + pendown() + dot(5) + 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) + speed(0) + hideturtle() + coosys() + plot(f, 0.35, "blue") + plot(g, 0.35, "green") + plot(h, 0.35, "red") + for s in range(100): + setworldcoordinates(0.5*s,-0.1, n+1, 1.1) + + return "Done!" + +if __name__ == "__main__": + main() + mainloop() |