Code Monkey home page Code Monkey logo

livesketch's Introduction

LiveSketch

Code structure.

The code is organized into 7 main files.

  1. "Main.cs".
  2. "ConstraintPoints.cs": Governs the behavior of the handles.
  3. "ScaleFreeConstruction.cs": Performs the first step of the algorithm (prevention of the non-uniform stretching and shearing).
  4. "ScaleAdjustment.cs": Part I of the second step of the algorithm (adjusting the scale).
  5. "ScaleAdjustment2.cs": Part II of the second step of the algorithm (fixing the rotation).
  6. "Util.cs": Contains some helper functions (mostly for matrix computations) used in all the other files.
  7. "ButtonControls.cs": The UI contains several buttons (e.g. "mark an interest point", "extract motion", "transfer motion", etc.). This file governs their behavior. All the C++ functions from the GraphTrack plugin are imported and called here.

Each of the files "ScaleFreeConstruction.cs", "ScaleAdjustment.cs", and "ScaleAdjustment2.cs" contains two functions: InitialComputations() and Step(). InitialComputations() computes some of the values (matrices) which are fixed for a given mesh, and only need to be computed once, in the beginning (notably $G'B$, $F$, $F'$, $H'$, $D$). Step() computes some values (matrices) which depend on the current position of the handles (notably, £V'£, fitted triangles, $V''$). All Step() functions are executed on MouseDrag(), every time a handle is moved.

livesketch's People

Contributors

olgkad avatar

Watchers

James Cloos avatar  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.