From c7071671c93a529871260d7c5866aa86ca5411d3 Mon Sep 17 00:00:00 2001 From: "R. David Murray" Date: Thu, 25 Jun 2009 17:32:06 +0000 Subject: Merged revisions 73557 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r73557 | r.david.murray | 2009-06-25 13:29:39 -0400 (Thu, 25 Jun 2009) | 3 lines Issue 6340: update by Gregor Lingl of his tdemo_chaos demo program. Functionally equivalent, clearer code, English comments. ........ --- Demo/turtle/tdemo_chaos.py | 50 +++++++++++++++++++++------------------------- 1 file 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__": -- cgit v0.12