Skip to content

Latest commit

 

History

History
57 lines (44 loc) · 2.17 KB

README.md

File metadata and controls

57 lines (44 loc) · 2.17 KB

cghs

An haskell way to do 2D computational geometry.

The library provides the following geometric types:

  • points
  • vectors
  • segments
  • lines
  • triangles
  • polygons
  • circles
  • rays
  • regions of the plane

The following algorithms:

  • convex hull
  • triangulation of a convex polygon
  • simple triangulation of a point set

It also contains a viewer written using GLFW-b and OpenGL bindings.It alllows users to easily manipulate geometric objects and apply algorithms.

The following functionalities are supported by the viewer (AZERTY keyboard):

  • left-click for adding points
  • right-click for selecting points
  • 'r' to restore the initial state
  • 'c' to apply the convex hull algorithm on the selected points
  • 't' to triangulate the selected polygon or point set depending on the current mode
  • 'T' to compute the Delaunay triangulation of the selected point set
  • 'v' to compute the Voronoi diagram of a point set
  • 'p' to create a polygon where the vertices are the selected points
  • 'a' to toggle the selected component of the points
  • 's' to create a segment between two points
  • 'l' to create a line between two points
  • 'm' to get the next mode of selection
  • 'M' to get the previous mode of selection

TODO

  • Voronoi diagram: voronoiDiagram2
  • Delaunay triangulation: delaunayTriangulation2
  • Sweep-line algorithms: convex hull and point set triangulation
  • do a better thing for getRenderable stuff

Useful links