-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathattractor_old.py
54 lines (46 loc) · 1.29 KB
/
attractor_old.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import turtle
global alpha, sigma, beta, x, y, z, dt, dx, dy, dz
# Initial Values For alpha, beta, and sigma
alpha = 10
beta = 8/3
sigma = 28
dt = 0.0001
dx = 0
dy = 0
dz = 0
x = 0.01
y = 0.0
z = 0.0
def differentialEquations():
global alpha, sigma, beta, x, y, z, dt, dx, dy, dz
dx = alpha * (y - x) * dt
dy = (x * (sigma - z) - y) * dt
dz = (x * y - beta * z) * dt
def updateUI():
global alpha, sigma, beta, x, y, z, dt, dx, dy, dz
screen = turtle.Screen()
screen.setup(width=500, height=500)
screen.title("Lorenz Attractor")
screen.bgcolor("black")
attractor_turtle = turtle.Turtle()
attractor_turtle.speed(0)
attractor_turtle.penup()
attractor_turtle.color("white")
# Move the turtle to the center of the screen
attractor_turtle.goto(0,-10)
print("initial:", x, y, z, dx, dy, dz)
try:
while True:
dt += 0.00001
differentialEquations()
x = x + dx
y = y + dy
z = z + dz
print(x, y, z)
attractor_turtle.goto(x * 10, y * 10) # Scale the coordinates for better visualization
attractor_turtle.pendown()
attractor_turtle.dot(1)
except:
print("Value Reached to infinity !")
if __name__ == "__main__":
updateUI()