Browse Source

Math: simplify CubicHermite test.

Not sure why I brainfarted so bad here.
pull/284/head
Vladimír Vondruš 8 years ago
parent
commit
d5e6012824
  1. 60
      src/Magnum/Math/Test/CubicHermiteTest.cpp

60
src/Magnum/Math/Test/CubicHermiteTest.cpp

@ -710,9 +710,9 @@ void CubicHermiteTest::selectQuaternion() {
{{-2.0f, 1.1f, 1.0f}, 1.3f},
{{1.5f, 0.3f, 17.0f}, -7.0f}};
CORRADE_COMPARE(Math::select(a, b, 0.0f), (Quaternion{{3.0f, 0.1f, 2.3f}, 0.7f}));
CORRADE_COMPARE(Math::select(a, b, 0.8f), (Quaternion{{3.0f, 0.1f, 2.3f}, 0.7f}));
CORRADE_COMPARE(Math::select(a, b, 1.0f), (Quaternion{{-2.0f, 1.1f, 1.0f}, 1.3f}));
CORRADE_COMPARE(Math::select(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::select(a, b, 0.8f), a.point());
CORRADE_COMPARE(Math::select(a, b, 1.0f), b.point());
}
void CubicHermiteTest::lerpScalar() {
@ -733,29 +733,33 @@ void CubicHermiteTest::lerpVector() {
CubicHermite2D a{{2.0f, 1.5f}, {3.0f, 0.1f}, {-1.0f, 0.0f}};
CubicHermite2D b{{5.0f, 0.3f}, {-2.0f, 1.1f}, {1.5f, 0.3f}};
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), (Vector2{3.0f, 0.1f}));
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), (Vector2{-2.0f, 1.1f}));
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), (Vector2{1.25f, 0.45f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), (Vector2{1.25f, 0.45f}));
Vector2 expected035{1.25f, 0.45f};
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), expected035);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), expected035);
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), (Vector2{-1.0f, 0.9f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), (Vector2{-1.0f, 0.9f}));
Vector2 expected08{-1.0f, 0.9f};
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), expected08);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), expected08);
}
void CubicHermiteTest::lerpComplex() {
CubicHermiteComplex a{{2.0f, 1.5f}, {0.999445f, 0.0333148f}, {-1.0f, 0.0f}};
CubicHermiteComplex b{{5.0f, 0.3f}, {-0.876216f, 0.481919f}, {1.5f, 0.3f}};
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), (Complex{0.999445f, 0.0333148f}));
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), (Complex{-0.876216f, 0.481919f}));
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), (Complex{0.874384f, 0.485235f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), (Complex{0.874384f, 0.485235f}));
Complex expected035{0.874384f, 0.485235f};
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), expected035);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), expected035);
CORRADE_VERIFY(Math::lerp(a, b, 0.35f).isNormalized());
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), (Complex{-0.78747f, 0.616353f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), (Complex{-0.78747f, 0.616353f}));
Complex expected08{-0.78747f, 0.616353f};
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), expected08);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), expected08);
CORRADE_VERIFY(Math::lerp(a, b, 0.8f).isNormalized());
}
@ -786,15 +790,17 @@ void CubicHermiteTest::lerpQuaternion() {
{{-0.711568f, 0.391362f, 0.355784f}, 0.462519f},
{{1.5f, 0.3f, 17.0f}, -7.0f}};
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), (Quaternion{{0.780076f, 0.0260025f, 0.598059f}, 0.182018f}));
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), (Quaternion{{-0.711568f, 0.391362f, 0.355784f}, 0.462519f}));
CORRADE_COMPARE(Math::lerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::lerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), (Quaternion{{0.392449f, 0.234067f, 0.780733f}, 0.426207f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), (Quaternion{{0.392449f, 0.234067f, 0.780733f}, 0.426207f}));
Quaternion expected035{{0.392449f, 0.234067f, 0.780733f}, 0.426207f};
CORRADE_COMPARE(Math::lerp(a, b, 0.35f), expected035);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.35f), expected035);
CORRADE_VERIFY(Math::lerp(a, b, 0.35f).isNormalized());
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), (Quaternion{{-0.533196f, 0.410685f, 0.521583f}, 0.524396f}));
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), (Quaternion{{-0.533196f, 0.410685f, 0.521583f}, 0.524396f}));
Quaternion expected08{{-0.533196f, 0.410685f, 0.521583f}, 0.524396f};
CORRADE_COMPARE(Math::lerp(a, b, 0.8f), expected08);
CORRADE_COMPARE(Math::lerp(a.point(), b.point(), 0.8f), expected08);
CORRADE_VERIFY(Math::lerp(a, b, 0.8f).isNormalized());
}
@ -830,8 +836,8 @@ void CubicHermiteTest::splerpVector() {
CubicHermite2D a{{2.0f, 1.5f}, {3.0f, 0.1f}, {-1.0f, 0.0f}};
CubicHermite2D b{{5.0f, 0.3f}, {-2.0f, 1.1f}, {1.5f, 0.3f}};
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), (Vector2{3.0f, 0.1f}));
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), (Vector2{-2.0f, 1.1f}));
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::splerp(a, b, 0.35f), (Vector2{1.04525f, 0.357862f}));
CORRADE_COMPARE(Math::splerp(a, b, 0.8f), (Vector2{-2.152f, 0.9576f}));
@ -860,8 +866,8 @@ void CubicHermiteTest::splerpComplex() {
CubicHermiteComplex a{{2.0f, 1.5f}, {0.999445f, 0.0333148f}, {-1.0f, 0.0f}};
CubicHermiteComplex b{{5.0f, 0.3f}, {-0.876216f, 0.481919f}, {1.5f, 0.3f}};
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), (Complex{0.999445f, 0.0333148f}));
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), (Complex{-0.876216f, 0.481919f}));
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::splerp(a, b, 0.35f), (Complex{-0.483504f, 0.875342f}));
CORRADE_VERIFY(Math::splerp(a, b, 0.35f).isNormalized());
@ -897,8 +903,8 @@ void CubicHermiteTest::splerpQuaternion() {
{{-0.711568f, 0.391362f, 0.355784f}, 0.462519f},
{{1.5f, 0.3f, 17.0f}, -7.0f}};
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), (Quaternion{{0.780076f, 0.0260025f, 0.598059f}, 0.182018f}));
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), (Quaternion{{-0.711568f, 0.391362f, 0.355784f}, 0.462519f}));
CORRADE_COMPARE(Math::splerp(a, b, 0.0f), a.point());
CORRADE_COMPARE(Math::splerp(a, b, 1.0f), b.point());
CORRADE_COMPARE(Math::splerp(a, b, 0.35f), (Quaternion{{-0.309862f, 0.174831f, 0.809747f}, 0.466615f}));
CORRADE_VERIFY(Math::splerp(a, b, 0.35f).isNormalized());

Loading…
Cancel
Save