ScratchData LogoScratchData
Back to Flash_Programmer's profile

Vectorizer (Bezier curve fitter)

FLFlash_Programmer•Created May 24, 2022
Vectorizer (Bezier curve fitter)
5
1
46 views
View on Scratch

Instructions

A computationally expensive bezier curve fitter Draw an image and press space to watch it be turned into a series of quadratic bezier curves on a grid (but it's also really slow so you might have to wait for a while) I plan to make the points draggable soon but can't figure out if i should have endpoints of connected curves move together or not featuring: - lots of arbitrary decisions (machine learning potential) - no clever methods that take advantage of the way bezier curves work - pretty much just brute forces its way through the whole thing, this is why it takes 10 years turn the image into bezier curves Unique Technology (I made these myself without consulting sources that know what they're talking about so they're all pretty bad) - 'Normalization' algorithm which attempts to evenly(ish) space out the points in a given drawing - There was an algorithm to rank different potential curve endpoints to find the optimal endpoints to put a curve at but it has been scrapped for now (the numbers weren't right so it almost always chose the smallest curve it could), at the moment it only checks for points of discontinuity - Curve fitting recursive algorithm (surprisingly works pretty well even with a glitch that causes the initial condition curve to be not what I meant it to be)

Description

Kinda just made everything myself. I looked around for algorithms to do this and they do exist and are probably a lot better than this one but i don't understand matrices and i just wanted something quick. ToDo: Draggable points Segment length control Solve the compromise between the precision of smaller curves and the efficiency of larger ones (unquantifiable?) Separately develop the normalization point algorithm There's a lot of potential here

Project Details

Project ID695424981
CreatedMay 24, 2022
Last ModifiedJuly 10, 2022
SharedJune 10, 2022
Visibilityvisible
CommentsAllowed