def test_invert_transform(): """Test inversion of transformations.""" random_state = np.random.RandomState(0) for _ in range(5): R = matrix_from(a=random_axis_angle(random_state)) p = random_vector(random_state) A2B = transform_from(R, p) B2A = invert_transform(A2B) A2B2 = np.linalg.inv(B2A) assert_array_almost_equal(A2B, A2B2)
def test_vector_to_direction(): """Test conversion from vector to direction in homogenous coordinates.""" v = np.array([1, 2, 3]) dA = vector_to_direction(v) assert_array_almost_equal(dA, [1, 2, 3, 0]) random_state = np.random.RandomState(0) R = matrix_from(a=random_axis_angle(random_state)) p = random_vector(random_state) A2B = transform_from(R, p) assert_transform(A2B) _ = transform(A2B, dA)
def test_vector_to_point(): """Test conversion from vector to homogenous coordinates.""" v = np.array([1, 2, 3]) pA = vector_to_point(v) assert_array_almost_equal(pA, [1, 2, 3, 1]) random_state = np.random.RandomState(0) R = matrix_from(a=random_axis_angle(random_state)) p = random_vector(random_state) A2B = transform_from(R, p) assert_transform(A2B) pB = transform(A2B, pA)