Exemple #1
0
        private static void TestCase04()
        {
            // Stripes with an object transformation
            Shape obj = new Sphere();

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

            Pattern pattern = new StripePattern(white, black);

            Tuple c = pattern.ColorAtShape(obj, Tuple.Point(1.5f, 0, 0));

            Assert.Equal(white, c);

            // Stripes with a pattern transformation
            obj.Transform = Matrix.Identity();

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

            c = pattern.ColorAtShape(obj, Tuple.Point(1.5f, 0, 0));

            Assert.Equal(white, c);

            // Stripes with both an object and a pattern transformation
            obj.Transform = Transformation.Scaling(2, 2, 2);

            pattern.Transform = Transformation.Translation(0.5f, 0, 0);

            c = pattern.ColorAtShape(obj, Tuple.Point(2.5f, 0, 0));

            Assert.Equal(white, c);
        }