29 lines
894 B
Python
29 lines
894 B
Python
class Persistance :
|
|
def __init__(self, shots):
|
|
self.shots = shots
|
|
self.accu = 0
|
|
self.counter = 0
|
|
self.result_list = []
|
|
|
|
def fade(self, res):
|
|
self.counter += 1
|
|
if self.accu == 0:
|
|
self.accu=res+0
|
|
self.result_list.append(res)
|
|
if self.counter < 1:
|
|
for i,ch in enumerate(self.accu.y):
|
|
ch += res.y[i]
|
|
elif len(self.result_list) == self.shots:
|
|
self.counter = len(self.result_list)
|
|
old_result = self.result_list.pop(0)
|
|
for i,ch in enumerate(self.accu.y):
|
|
ch *= self.shots
|
|
ch -= old_result.y[i]
|
|
ch += res.y[i]
|
|
else:
|
|
for i,ch in enumerate(self.accu.y):
|
|
ch *= self.counter-1
|
|
ch += res.y[i]
|
|
self.accu /= self.counter
|
|
return self.accu
|