func (v Vec) ApproxFuncEqual(v2 Vec, eq func(float64, float64) bool) bool {
	if !eq(v.X, v2.X) {
		return false
	}
	if !eq(v.Y, v2.Y) {
		return false
	}
	return true
}
func (v Vec) ApproxFuncEqual(v2 Vec, eq func(float64, float64) bool) bool {
	if !eq(v.X, v2.X) {
		return false
	}
	if !eq(v.Y, v2.Y) {
		return false
	}
	return true
}
// ApproxFuncEqual takes in a func that compares two floats, and uses it to do
// an element-wise comparison of the vector to another.
//
// This is intended to be used with FloatEqualFunc