#!/usr/bin/python3
from random import randint
import numpy as np
import matplotlib.pyplot as plt


def ifs(x,y):
    r=randint(1,10)
    if (r==1):
        x=0
        y=0.16*y
    elif (r<=8):
        nx=0.849*x+0.037*y
        y=-0.037*x+0.849*y+1.6
        x=nx
    elif (r==9):
        nx=0.197*x-0.226*y
        y=0.226*x+0.197*y+1.6
        x=nx
    elif (r==10):
        nx=-0.15*x+0.283*y
        y=0.26*x+0.238*y+0.44
        x=nx
    return(x,y)
    
x=.5
y=.5

for i in range (1,100):
    (x,y)=ifs(x,y)

plt.axes().set_aspect('equal')
plt.xlim(-3,3)
plt.ylim(0,10)
plt.ion()
plt.show()
    
for i in range (1,200):
    vx=[]
    vy=[]
    for j in range (1,100):
        (x,y)=ifs(x,y)
        vx=vx+[x]
        vy=vy+[y]
    plt.plot(vx,vy,'k,')
    plt.pause(0.0001)

print("Done")
plt.ioff()
plt.show()
