public void TestToEdgeCase() { Vector3 to = -Vector3.UnitZ; var swing = Swing.To(CartesianAxis.Z, to); var swungTwistAxisV = swing.TransformTwistAxis(CartesianAxis.Z); MathAssert.AreEqual(to, swungTwistAxisV, Acc); }
public void TestTo() { Vector3 to = Vector3.Normalize(new Vector3(1, -2, 3)); var swing = Swing.To(CartesianAxis.Z, to); var swungTwistAxisV = swing.TransformTwistAxis(CartesianAxis.Z); MathAssert.AreEqual(to, swungTwistAxisV, Acc); var q = swing.AsQuaternion(CartesianAxis.Z); var twistAxisV = new Vector3(0, 0, 1); var swungTwistAxisUsingQV = Vector3.Transform(twistAxisV, q); MathAssert.AreEqual(to, swungTwistAxisUsingQV, Acc); }