Exemplo n.º 1
0
        public void AngleBlendTest()
        {
            void test(float dega, float degb, float degresult, float percent)
            {
                // check extrema
                AssertFloatEqualsRadians(RMathF.ToRad(dega),
                                         RMathF.AngleBlend(RMathF.ToRad(dega), RMathF.ToRad(degb),
                                                           0));
                AssertFloatEqualsRadians(RMathF.ToRad(degb),
                                         RMathF.AngleBlend(RMathF.ToRad(dega), RMathF.ToRad(degb),
                                                           1f));

                // check midpoint
                AssertFloatEqualsRadians(
                    RMathF.AngleMidpoint(RMathF.ToRad(dega), RMathF.ToRad(degb)),
                    RMathF.AngleBlend(RMathF.ToRad(dega), RMathF.ToRad(degb),
                                      0.5f));

                AssertFloatEqualsRadians(RMathF.ToRad(degresult),
                                         RMathF.AngleBlend(RMathF.ToRad(dega), RMathF.ToRad(degb),
                                                           percent));
            }

            test(100f, 200f, 125f, 0.25f);
            test(200f, 100f, 125f, 0.75f);
            test(100f, 200f, 175f, 0.75f);
            test(200f, 100f, 175f, 0.25f);

            test(350f, 10f, 355f, 0.25f);
            test(10f, 350f, 355f, 0.75f);
            test(350f, 10f, 5f, 0.75f);
            test(10f, 350f, 5f, 0.25f);
        }
Exemplo n.º 2
0
        public void AngleMidpointTest()
        {
            void test(float dega, float degb, float degresult)
            {
                AssertFloatEqualsRadians(RMathF.ToRad(degresult),
                                         RMathF.AngleMidpoint(RMathF.ToRad(dega), RMathF.ToRad(degb)));
                AssertFloatEqualsRadians(RMathF.ToRad(degresult),
                                         RMathF.AngleMidpoint(RMathF.ToRad(degb), RMathF.ToRad(dega)));
            }

            test(45f, 135f, 90f);
            test(30f, 340f, 5f);
            test(200f, 100f, 150f);
            test(10f, 200f, 285f);
        }