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); }
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); }