func NewRay(o, v Vec) Ray {
	//v = v.Normalize()
	return Ray{
		o:    o,
		v:    v,
		invv: Vec{1.0 / v.X, 1.0 / v.Y},
	}
}
func NewRay(o, v Vec) Ray {
	//v = v.Normalize()
	return Ray{
		o:    o,
		v:    v,
		invv: Vec{1.0 / v.X, 1.0 / v.Y},
	}
}
// NewRay creates a new Ray having the o as origin and v as direction of the
// line.