Code Monkey home page Code Monkey logo

graphstudio's People

Contributors

mitro42 avatar

Watchers

 avatar  avatar

graphstudio's Issues

Create thumbnail for video

Probably a smaller, 4:3 image with the same line width and arrow setting would do it for smaller graphs.
For larger graphs configurable settings may be necessary.
The params panel, legend and captions should be hidden.

Cannot stop animation

The step-by-step animation broke the stopping of the animation. Now once the animation is started it is not possible to go back to the editing mode.

Split up GraphHandler

The GraphHandler class is intended to handle the UI events which directly manipulate the graph. E.g create and move nodes, reorder all nodes, create new graph (though maybe this should be extracted too).
Create separate graph drawing class hierarchy. One class should handle basic graph drawing like nodes, directed and undirected edges, highlights, weights/labels.

One class should be aware of animations, states and such in general.
For the different graph algorithms separate classes should be created (possibly inherited from the latter) which should handle the specifics of the given algorithms.

Continuous random node movement

Add a new mode in which the nodes are moving with slow speed in slowly changing directions, while the result of the current algorithm is always displayed.

Strictly separate directed and undirected graphs

The graph should always have an unambiguous directed state. It should always be rendered in accordance with this state and only the appropriate algorithms should be selectable. A conversion option may be offered, which should actually modify the graph (change the edges) as needed.

Options refactoring

  • make it a non-singleton class
  • the xml reading ad writing should be part of the options class
  • the path settings are currently not part of the options structure

Detect the end of animation

After the animation is finished switch back to the one-state algorithm result display.
Alternatively replace the latter with displaying the last step of the animation (TBD)

Make video creations easier

Save images to a temporary folder, automatically call ffmpeg to create the video, remove the images, and copy the graph files next to the result, with the same filename.

Add configurable scale for edge weights

Edge weights of hundreds are not very helpful for visualisation. It is probably safe to divide them by 10 but make it configurable. Change the actual weights, not just the display.

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.