Spaces:
Running
on
L4
Running
on
L4
from deepsvg.svglib.svg import SVG | |
from deepsvg.svglib.svg_path import SVGPath | |
from deepsvg.svglib.geom import Bbox | |
color_dict = { | |
"deepskyblue": [0., 0.69, 0.97], | |
"lime": [0.02, 1., 0.01], | |
"deeppink": [1., 0.07, 0.53], | |
"gold": [1., 0.81, 0.01], | |
"coral": [1., 0.45, 0.27], | |
"darkviolet": [0.53, 0.01, 0.8], | |
"royalblue": [0.21, 0.36, 0.86], | |
"darkmagenta": [0.5, 0., 0.5], | |
"teal": [0., 0.45, 0.45], | |
"green": [0., 0.45, 0.], | |
"maroon": [0.45, 0., 0.], | |
"aqua": [0., 1., 1.], | |
"grey": [0.45, 0.45, 0.45], | |
"steelblue": [0.24, 0.46, 0.67], | |
"orange": [1., 0.6, 0.01] | |
} | |
colors = ["deepskyblue", "lime", "deeppink", "gold", "coral", "darkviolet", "royalblue", "darkmagenta", "teal", | |
"gold", "green", "maroon", "aqua", "grey", "steelblue", "lime", "orange"] | |
class Keys: | |
LEFT = 276 | |
UP = 273 | |
RIGHT = 275 | |
DOWN = 274 | |
SPACEBAR = 32 | |
def dist(a, b): | |
return ((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) ** .5 | |
def preprocess_svg_path(svg_path: SVGPath, force_smooth=False): | |
svg = SVG([svg_path.to_group()], viewbox=Bbox(256)).normalize() | |
svg.canonicalize() | |
svg.filter_duplicates() | |
svg = svg.simplify_heuristic(force_smooth=force_smooth) | |
svg.normalize() | |
svg.numericalize(256) | |
return svg[0].path | |
def normalized_path(svg_path): | |
svg = SVG([svg_path.copy().to_group()], viewbox=Bbox(256)).normalize() | |
return svg[0].path | |
def flip_vertical(p): | |
return [p[0], 255 - p[1]] | |
def easein_easeout(t): | |
return t * t / (2. * (t * t - t) + 1.) | |
def d_easein_easeout(t): | |
return 3 * (1 - t) * t / (2 * t * t - 2 * t + 1) ** 2 | |