public static void ReverseSplineQuaternionTest(float3 source) { source = math.normalize(source); var upVector = new float3(0f, 1f, 0f); var forward = quaternion.LookRotation(source, upVector); var reverseCheck = quaternion.LookRotation(-source, upVector); var reverse = SplineUtility.ReverseSplineQuaternion(forward); var p1 = math.normalize(new float3(1f, 1f, 1f)); var p2 = math.normalize(new float3(-1f, -1f, -1f)); Assert.True(Utilities.GeometryUtility.ApproximatelyEqual( math.mul(reverseCheck, p1), math.mul(reverse, p1))); Assert.True(Utilities.GeometryUtility.ApproximatelyEqual( math.mul(reverseCheck, p2), math.mul(reverse, p2))); }