Skip to content

An application for visualizing the working of two convex hull algorithms - Jarvis March and Kirkpatrick-Seidel in two dimensions.

License

Notifications You must be signed in to change notification settings

soppydart/Convex-Hull-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Convex Hull Algorithms

An application for visualizing the working of two convex hull algorithms - Jarvis March and Kirkpatrick-Seidel in two dimensions.

Table of Contents

About the Project

This project aims to visually demonstrate the workings of two convex hull algorithms: Jarvis March and Kirkpatrick-Seidel, originally as a part of Assignment-I for CS F364: Design and Analysis of Algorithms.

Convex hull algorithms are used to find the convex hull of a set of points, which is the smallest convex set that encloses all the points and forms a convex polygon.

Getting Started

To set up the project locally, follow the instructions below.

Prerequisites

Before running the project, ensure you have the following installed:

Setting Up

  1. Clone the repository:
    git clone https://github.com/soppydart/Convex-Hull-Algorithms.git
  2. Launch Unity Hub.
  3. Go to Projects > Add, locate the cloned directory using the file explorer and click on Open.
  4. Follow these steps to build the application for your preferred platform.

Usage

Controls

  1. Click on the 2D plane to manually plot points.
  2. Click on Start to begin. You must have at least 2 points to start.
  3. Click on Next to proceed to the next step.
  4. Click on Skip to skip the remaining steps and directly show the convex hull.

Screenshots

The following screenshots were taken from here.

Jarvis March

Kirkpatrick-Seidel

Convex Hull

Contributing

Contributions to enhance the project are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the project.
  2. Create your feature branch. git checkout -b feature/AmazingFeature
  3. Commit your changes. git commit -m 'Add some AmazingFeature'
  4. Push to the branch. git push origin feature/AmazingFeature
  5. Open a pull request.

License

This project is licensed under the GNU General Public License v3.0. You can find the full text of the license in the LICENSE file.

Credits