INNER CODE UNIT · Python
cubic
varunsalian/debrify · dev/launch_animations/generate_recreations.py:19
def cubic(x): return 1 - (1 - clamp(x)) ** 3
def quint(x): return 1 - (1 - clamp(x)) ** 5
def sine(x): return (1 - cos(pi * clamp(x))) / 2
def lerp(a, b, t): return a + (b - a) * t
def prop(x): return {'a': 0, 'k': x}
def rgb(s): return [int(s[i:i+2], 16) / 255 for i in (0, 2, 4)] + [1]
def fill(c, opacity=100): return {'ty': 'fl', 'c': prop(rgb(c)), 'o': prop(opacity), 'r': 1}
def ellipse(r): return {'ty': 'el', 'd': 1, 'p': prop([0, 0]), 's': prop([r*2, r*2])}
def rect(w, h, center=(0, 0)): return {'ty': 'rc', 'd': 1, 'p': prop(list(center)), 's': prop([w, h]), 'r': prop(0)}
class OutlinePen(BasePen):
def __init__(self, glyphs=None, scale=1):
super().__init__(glyphs)
self.scale = scale
self.paths = []
def point(self, p): return [round(p[0]*self.scale, 4), round(-p[1]*self.scale, 4)]
def _moveTo(self, p):
self.v, self.ins, self.outs = [self.point(p)], [[0, 0]], [[0, 0]]