def test_has_crossing(self): line = HighDimLine(np.array([(3., 2), (5., 0)])) # y = -x + 5 line_segment = HighDimLineSegment( np.array([(3, 0.5), (5, 1.5)])) # y = 0.5 x - 1 # line_points[0] = segpoints[0] = intersection point line_points = np.array([(4., 1.), (5., 0.)]) self.assertTrue(line.is_on(line_points[0])) self.assertTrue(line.is_on(line_points[1])) seg_points = np.copy(line_points) seg_points[1, 1] = 1.5 self.assertTrue(line_segment.is_on(seg_points[0])) self.assertTrue(line_segment.is_on(seg_points[1])) line_val = line.call(np.array([5.])) np_assert_allclose(0.0, line_val) np_assert_allclose(line_points[..., -1], line(line_points[..., :-1])) self.assertTrue(has_crossing(line, line_segment))
def test_is_on_works(self): line = HighDimLine(np.array(((3, 0.5), (5, 1.5)))) # y = 0.5 x - 1 p = np.array((4, 1)) self.assertTrue(line.is_on(p)) self.assertFalse(line.is_below(p)) self.assertFalse(line.is_above(p))