You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
0x1a8510f2 abf4e1133a
Fixed some linter warnings
4 months ago
.github Create FUNDING.yml 6 months ago
examples Made example a little more interesting 6 months ago
LICENSE Initial commit 6 months ago Minor README tweak 6 months ago
constants.go Version++ 5 months ago
go.mod Created go.mod 6 months ago
plane.go Fixed some linter warnings 4 months ago
point.go Added some documentation to each type and method in the lib 6 months ago
sets.go Made set implementation thread-safe 5 months ago


A very simple Go library for creating shapes on a 2D plane out of points, using only the Go stdlib. Supports some basic functions like:

  • storing points in a Plane structure
  • joining arbitrary points with lines (including diagonal)
  • filling shapes with points
  • flipping the whole plane or some points along the X or Y axis
  • fetching all points from a plane
  • fetching points from a plane based on the return value (boolean) of a given function (like a mathematical equation)
  • TODO: Applying an arbitrary transformation based on a function to the points on the plane

Use cases

Can be used for any number of things, but my primary use-case is generating images made of 2D shapes, such as the example image generated with examples/CreatePngImage.go:

example image

Usage examples

Some example code can be found in the examples directory in the root of this repository