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)
def test_concat(): """Test concatenation of transforms.""" random_state = np.random.RandomState(0) for _ in range(5): A2B = random_transform(random_state) assert_transform(A2B) B2C = random_transform(random_state) assert_transform(B2C) A2C = concat(A2B, B2C) assert_transform(A2C) p_A = np.array([0.3, -0.2, 0.9, 1.0]) p_C = transform(A2C, p_A) C2A = invert_transform(A2C) p_A2 = transform(C2A, p_C) assert_array_almost_equal(p_A, p_A2) C2A2 = concat(invert_transform(B2C), invert_transform(A2B)) p_A3 = transform(C2A2, p_C) assert_array_almost_equal(p_A, p_A3)