func (c Coord) Vec(zoom int) pixel.Vec {
	x := (c.Lon() + 180) / 360.0
	sinLat := math.Sin(c.Lat() * math.Pi / 180.0)
	y := 0.5 - math.Log((1+sinLat)/(1-sinLat))/(4*math.Pi)
	size := float64(mapDimensions(zoom))
	return pixel.V(
		clamp(x*size+0.5, 0, size-1),
		-clamp(y*size+0.5, 0, size-1),
	)
}
Vec gets the vec of the coord at the zoom level
package slippy
import (
	"fmt"
	"math"
	"github.com/faiface/pixel"
)
type Coord [2]float64
func (c Coord) Lon() float64 { return c[0] }
func (c Coord) Lat() float64 { return c[1] }
func FromVec(v pixel.Vec, zoom int) Coord {
	size := float64(mapDimensions(zoom))
	x := (clamp(v.X, 0, size-1) / size) - 0.5
	y := 0.5 - (clamp(-v.Y, 0, size-1) / size)
	lat := 90 - 360*math.Atan(math.Exp(-y*2*math.Pi))/math.Pi
	lon := 360.0 * x
	return C(lat, lon)
}
func V(lat, lon float64, zoom int) pixel.Vec {
	return C(lat, lon).Vec(zoom)
}