2d geometry for golang