Esempio n. 1
0
        public void Intersecting_a_translated_shape_with_a_ray()
        {
            var ray = new Ray(
                Tuple.Point(0, 0, -5),
                Tuple.Vector(0, 0, 1));
            var shape = new TestShape();

            shape.Transform = Transformation.Translation(5, 0, 0);

            shape.Intersect(ray);

            Assert.AreEqual(Tuple.Point(-5, 0, -5), shape.LocalRay.Origin);
            Assert.AreEqual(Tuple.Vector(0, 0, 1), shape.LocalRay.Direction);
        }
Esempio n. 2
0
        public void Intersecting_a_scaled_shaped_with_a_ray()
        {
            var ray = new Ray(
                Tuple.Point(0, 0, -5),
                Tuple.Vector(0, 0, 1));
            var shape = new TestShape();

            shape.Transform = Transformation.Scaling(2, 2, 2);

            shape.Intersect(ray);

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