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}
}
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.
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 .