Giter Site home page Giter Site logo

test-solver's Introduction

Test-Solver

This is my first attempt at writing a 2D sketch constraint solver.

This implementation is flawed and will likely be replaced in the future.

The solver works by representing all of the constraints as mathematical functions. They are then fed into an optimization algorithm, which attempts to reduce their error to zero.

This approach is flawed, as it slows down with many constraints, cannot detect overconstrained sketches, and has dead zones where the algorithm cannot adjust the sketch.

Additionally, doing a project like this in Javascript is not ideal. There are many helpful libraries for doing the math necessary in Javascript, however the structure of the program suffered. Additionally, while Svelte is helpful for the UI, I believe more time was spent writing the graphics code than the actual solver code. In the future, this project will be recoded in a strongly typed language.

If you need to test it, you can run it like any other Svelte program.

npm install
npm run dev

test-solver's People

Contributors

novanix avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.