Skip to main content

IncrementalConvexHull

Incremental Convex Hull Visualization for CSC 591, Spring 2021

Starting Resources

Development

We recommend working in a virtual environment to maintain consistency across developers' machines.

To set things up, run the following in the root project directory:

$ python -m venv --prompt IncConvexHull --upgrade-deps venv

$ source ./venv/bin/activate      # or venv\Scripts\activate.bat in Windows cmd
                                  # or venv\Scripts\Activate.ps1 in PowerShell

$ pip install -r requirements.txt

[Development happens here]

$ deactivate                      # When you're done working

If you ever add/change dependencies during development (e.g. running pip install or pip upgrade within the virtual environment), be sure to run pip freeze > requirements.txt and commit those changes to the repository.

Incremental Convex Hull Concepts and Backgrounds

This interactive visualization tool will plot the points of a convex polygon while incrementally growing the convex hull as points are added. Additionally, this tool will maintain a valid traingulation of the plotted polygon. The polygons are represented using a graph data structure with nodes and edges.

Convex Polygons

The formal definition of convex polygon is a shape in which no interior angle is greater than 180 degrees. The simplest form of a convex polygon is a triangle. You can think of this visually as a shape with no "dents" in it, or edges that protrude inside the main cavity of the shape.

Triangulations

Every convex polygon can be broken down into smaller triangles, the simplest form of a convex polygon. This process of dividing a polygon into triangles is called triangulation. There are multiple ways the triangulate a shape. Our visualization supports multiple triangulations. Upon clicking an internal edge in the polygon, the edge will then flip, producing another valid triangulation.

Convex Hulls

A convex hull is the outtermost boundary in a set of points that encompasses all other points. This visualization tool only supports convex polygons with no colinear points. The following are properties of convex polygons:

The following are properties of convex hulls:

  • All points within a set are encompassed by the convex hull
  • A tangent line can be drawn for each point on the convex hull such that all other points are on one side of the tangent line

Release files for incremental-convex-hull 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for incremental-convex-hull 1.0.1
File Size Uploaded
incremental-convex-hull-1.0.1.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for incremental-convex-hull 1.0.1
File Interpreter ABI Platform
incremental_convex_hull-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 37.7 kB

Release files / incremental-convex-hull-1.0.1.tar.gz

Download URL incremental-convex-hull-1.0.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
18e92921e306ad268099fda765c21ae0fe4cd0fc68256704302becdb2c489940
BLAKE2b-256 checksum
How to use checksums
8d453fede9ca2127895b41c0a273b502ee5f6bd83bd36dcfcf69e6f4da5b4620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2

Release files / incremental_convex_hull-1.0.1-py3-none-any.whl

Download URL incremental_convex_hull-1.0.1-py3-none-any.whl
Size 25.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e80cdac44b62cd0efa6388886dbc5f060cbbf55393d766edc769d62ed34594d8
BLAKE2b-256 checksum
How to use checksums
d83b073b99f63f09cfa462463583c682bb7d2224ac9c92e6c3ff071e19f1a6b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page