def test_quaternion_to_angle_axis_to_quaternion(): """Test quaternion_to_angle_axis and reverse for consistency.""" n = 1000 orientations = generate.get_random_quat(n) for i in range(n): orientation = orientations[i] theta, axis = convert.quaternion_to_angle_axis(orientation) quat = convert.angle_axis_to_quaternion(axis, theta) assert np.allclose(orientation, quat) \ or np.allclose(orientation, -quat)
def test_angle_axis_to_quaternion_z_name(): """Test angle_axis_to_quaternion for 90deg rotations along z, by name.""" # Caps should work too quat = convert.angle_axis_to_quaternion('Z', np.pi / 2) assert np.allclose(quat, cst.quatz90)
def test_angle_axis_to_quaternion_y_name(): """Test angle_axis_to_quaternion for 90deg rotations along y, by name.""" quat = convert.angle_axis_to_quaternion('y', np.pi / 2) assert np.allclose(quat, cst.quaty90)
def test_angle_axis_to_quaternion_z(): """Test angle_axis_to_quaternion for 90deg rotations along z.""" quat = convert.angle_axis_to_quaternion(cst.vecz, np.pi / 2) assert np.allclose(quat, cst.quatz90)
def test_angle_axis_to_quaternion_z(): """Test angle_axis_to_quaternion for 90deg rotations along z.""" axis = np.array([0., 0., 1.]) theta = np.pi / 2 quat = convert.angle_axis_to_quaternion(axis, theta) assert np.allclose(quat, quatz90)
def test_angle_axis_to_quaternion_x_name(): """Test angle_axis_to_quaternion for 90deg rotations along x, by name.""" theta = np.pi / 2 quat = convert.angle_axis_to_quaternion('x', theta) assert np.allclose(quat, quatx90)