public static Quaternion ToQuaternion(this EulerAngles e) => CreateQuaternionInRadians(UnitY, e.Yaw) * CreateQuaternionInRadians(UnitX, e.Pitch) * CreateQuaternionInRadians(UnitZ, e.Roll);
static void ToEulerAngles_One(EulerAngles expected, Vector3D rotatedUnitZ, Vector3D rotatedUnitY) { var actual = Rotation3DHelper.ToEulerAngles(rotatedUnitZ, rotatedUnitY); AssertEulerAngles(expected, actual); }
public static Matrix3D ToMatrix3D(this EulerAngles e) => e.ToQuaternion().ToMatrix3D();
static void AssertEulerAngles(EulerAngles expected, EulerAngles actual) { Assert.IsTrue(Math.Abs(expected.Yaw - actual.Yaw) < 0.001); Assert.IsTrue(Math.Abs(expected.Pitch - actual.Pitch) < 0.001); Assert.IsTrue(Math.Abs(expected.Roll - actual.Roll) < 0.001); }