Code Monkey home page Code Monkey logo

computational-geometry-algorithms's Introduction

Computational geometry algorithms

computation_algorithms_gif

Description

Work in progress. This will be a collection of some algorithms I encounter in my "Computational geometry" class. The interface is created with tui-rs.

Getting Started

Dependencies

  • Though not tested, this should work on Windows and UNIX systems due to the use of crossterm.

Installing

  • Make sure you have the rust toolchain installed.

Executing program

Clone the repo:

git clone https://github.com/tomgroenwoldt/computational-geometry-algorithms.git
cd computational-geometry-algorithms

Run the project:

cargo run

Current keybindings:

  • i: Enter insert mode to edit the point amount.
  • Enter: Set typed in point amount.
  • Tab: Switch between tabs displayed at the top.
  • Left and Right arrow keys: Iterate through algorithm steps.
  • Esc: Escape insert mode.
  • q: Quit program, when outside insert mode.

computational-geometry-algorithms's People

Contributors

tomgroenwoldt avatar

Watchers

 avatar  avatar

computational-geometry-algorithms's Issues

Add a progress section

Show the progress of the current algorithm in the selected tab. This means displaying the current step, the maximum steps and a progress bar like the demo from tui-rs did here in the graph section:

Add a description to the graham scan algorithm

Add a description inside the header in a way each algorithms description would be present there. Also while you are at it, add a new block describing what happens at the current step in the algorithm, e.g.:

This was a right turn, delete the last point.

Add algorithms to the TabState struct

Each tab should represent one algorithm, each of them containing description, title, and basically everything the graham scan owns rights now. The app should contain tabs and no direct algorithm.

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.