mirror of https://github.com/python/cpython
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. ........
This commit is contained in:
parent
fd851d3a3b
commit
c7071671c9
|
@ -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)
|
||||
pendown()
|
||||
goto(-0.1, 1.1)
|
||||
def jumpto(x, y):
|
||||
penup(); goto(x,y)
|
||||
|
||||
def plot(fun, start, farbe):
|
||||
def line(x1, y1, x2, y2):
|
||||
jumpto(x1, y1)
|
||||
pendown()
|
||||
goto(x2, y2)
|
||||
|
||||
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__":
|
||||
|
|
Loading…
Reference in New Issue