Ejemplo n.º 1
0
        public static void MultiplicationShiftTest()
        => TrafoTesting.GenericTest(rnd =>
        {
            var a = TrafoTesting.GetRandomRot2(rnd);
            var b = TrafoTesting.GetRandomShift2(rnd);

            var p = rnd.UniformV2d() * rnd.UniformInt(1000);

            {
                var trafo = a * b;
                var res   = trafo.TransformPos(p);

                var trafoRef = (M33d)a * (M33d)b;
                var resRef   = trafoRef.TransformPos(p);

                TrafoTesting.AreEqual(res, resRef);
            }

            {
                var trafo = b * a;
                var res   = trafo.TransformPos(p);

                var trafoRef = (M33d)b * (M33d)a;
                var resRef   = trafoRef.TransformPos(p);

                TrafoTesting.AreEqual(res, resRef);
            }
        });