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
10 months ago
.github Create FUNDING.yml 12 months ago
examples Made example a little more interesting 12 months ago
LICENSE Initial commit 12 months ago Minor README tweak 12 months ago
constants.go Version++ 11 months ago
go.mod Created go.mod 12 months ago
plane.go Fixed some linter warnings 10 months ago
point.go Added some documentation to each type and method in the lib 12 months ago
sets.go Made set implementation thread-safe 11 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