func (v Vec) Normalize() Vec {
	l := 1.0 / v.Len()
	return Vec{v.X * l, v.Y * l}
}
func (v Vec) Normalize() Vec {
	l := 1.0 / v.Len()
	return Vec{v.X * l, v.Y * l}
}
// Normalize normalizes the vector. Normalization is (1/|v|)*v,
// making this equivalent to v.Scale(1/v.Len()). If the len is 0.0,
// this function will return an infinite value for all elements due
// to how floating point division works in Go (n/0.0 = math.Inf(Sign(n))).
//
// Normalization makes a vector's Len become 1.0 (within the margin of floating
// point error), while maintaining its directionality.