Spaces:
Paused
Paused
| 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 | |