public void Exp4() { double θ = 0.0; Vector3D v = new Vector3D(1.0, 2.0, 3.0); v.Normalize(); QuaternionD q = new QuaternionD(0.0, θ * v); q.Exp(); Assert.IsTrue(Numeric.AreEqual(1, q.W)); Assert.IsTrue(Vector3D.AreNumericallyEqual(Vector3D.Zero, q.V)); }
public void Exp2() { double θ = -0.3; Vector3D v = new Vector3D(1.0, 2.0, 3.0); v.Normalize(); QuaternionD q = new QuaternionD(0.0, θ * v); q.Exp(); Assert.IsTrue(Numeric.AreEqual((double)Math.Cos(θ), q.W)); Assert.IsTrue(Vector3D.AreNumericallyEqual((double)Math.Sin(θ) * v, q.V)); }