import numpy as np #knihovna numpy
import matplotlib.pyplot as plt #knihovna matplot.lib.pyplot
n=50000
seed=48541
a=16807
m=2147483647
#a=65539
#m=2147483648

I=np.empty(n)           #pole hodnot generovanych ciste multiplikativnim generatorem 
x=np.empty(n)           #pole nahodnych hodnot x
y=np.empty(n)           #pole nahodnych hodnot y
color=np.empty([n,3])   #pole nahodnych barev RGB

#generator nahodnych promennych x
I[0]=seed
for i in range(0,n):
    I[i]=np.mod(a*I[i-1],m)
    x[i]=I[i]/m

#generator nahodnych promennych y
I[0]=I[n-1]
for i in range(0,n):
    I[i]=np.mod(a*I[i-1],m)
    y[i]=I[i]/m
    
plt.scatter(x,y,s=0.1,c='black')   #nahodna cisla cernobile
plt.savefig("generator2-BW.png",dpi=300)
plt.show()
 
#generator nahodnych barev
I[0]=I[n-1]
for i in range(0,n):
    I[i]=np.mod(a*I[i-1],m)
    color[i,0]=I[i]/m

I[0]=I[n-1]
for i in range(0,n):
    I[i]=np.mod(a*I[i-1],m)
    color[i,1]=I[i]/m
    
I[0]=I[n-1]
for i in range(0,n):
    I[i]=np.mod(a*I[i-1],m)
    color[i,2]=I[i]/m

plt.scatter(x,y,s=1,c=color)    #nahodna cisla + nahodne barvy
plt.savefig("generator2-RGB.png",dpi=300)
plt.show()