public void IntersectingTranslatedShapeWithRay() { var r = new RTF.Ray(pt.Point(0, 0, -5), pt.Vector(0, 0, 1)); var s = new shapes.TestShape(tf.Translation(5, 0, 0)); _ = s.Intersect(r); Assert.Equal(pt.Point(-5, 0, -5), s.SavedRay.Origin); Assert.Equal(pt.Vector(0, 0, 1), s.SavedRay.Direction); }
public void IntersectingScaledShapeWithRay() { var r = new RTF.Ray(pt.Point(0, 0, -5), pt.Vector(0, 0, 1)); var s = new shapes.TestShape(tf.Scaling(2, 2, 2)); _ = s.Intersect(r); Assert.Equal(pt.Point(0, 0, -2.5), s.SavedRay.Origin); Assert.Equal(pt.Vector(0, 0, 0.5), s.SavedRay.Direction); }