first commit

This commit is contained in:
Cameron Neville
2018-02-25 21:07:56 -05:00
commit 7540609fc1

50
bezier.py Normal file
View File

@@ -0,0 +1,50 @@
class Bezier:
def __init__(self, *args, **kwargs):
if len(args) == 1:
inp = list(args)
self.x = [i[0] for i in inp]
self.y = [i[1] for i in inp]
if len(args) == 2:
self.x = args[0]
self.y = args[1]
else:
#TODO find proper exception
raise RuntimeError('')
if 'step' in kwargs:
self.step = kwargs[step]
else:
self.step = 1e-3
def __getitem__(self, t):
def stepper(start, stop, step):
t = start
c = lambda x,y: x>y if stop > start else lambda x,y: y>x
while c(t, stop):
yield t
t += step
if isinstance(t, slice):
start = t.start
step = t.step
stop = t.stop
if start is None:
if step is None or step == 0:
step = self.step
if step > 0:
start = 0
else:
start = 1
if stop is None:
if step is None or step == 0:
step = self.step
if step > 0:
stop = 1
else:
stop = 0
if step is None or step == 0:
step = abs(self.step) if stop > step else -abs(step)
start = min(start, 1)
start = max(start, 0)
stop = min(stop, 1)
stop = max(stop, 0)