Esempio n. 1
0
        public void TestIntersectTranslatedShapeRay()
        {
            var shape = new TestAShape
            {
                Transform = Matrix4.Translation(5, 0, 0)
            };
            var ray = new Ray(Tuple.Point(0, 0, -5), Tuple.Vector(0, 0, 1));

            shape.Intersect(ray);

            Assert.AreEqual(Tuple.Point(-5, 0, -5), shape.SavedRay.Origin);
            Assert.AreEqual(Tuple.Vector(0, 0, 1), shape.SavedRay.Direction);
        }
Esempio n. 2
0
        public void TestIntersectScaledRay()
        {
            var shape = new TestAShape
            {
                Transform = Matrix4.Scaling(2, 2, 2)
            };
            var ray = new Ray(Tuple.Point(0, 0, -5), Tuple.Vector(0, 0, 1));

            shape.Intersect(ray);

            Assert.AreEqual(Tuple.Point(0, 0, -2.5), shape.SavedRay.Origin);
            Assert.AreEqual(Tuple.Vector(0, 0, 0.5), shape.SavedRay.Direction);
        }