def setUp(self): self.pt1 = Point(0, 0, 0) self.pt2 = Point(2, 0, 0) self.pt3 = Point(0, 3, 0) self.pt4 = Point(0, 0, 4) self.pt5 = Point(2, 3, 4) self.line12 = Line(self.pt1, self.pt2) self.line13 = Line(self.pt1, self.pt3) self.line14 = Line(self.pt1, self.pt4) self.line25 = Line(self.pt2, self.pt5) self.line35 = Line(self.pt3, self.pt5) self.plane123 = Plane(self.pt1, self.pt2, self.pt3) self.plane134 = Plane(self.pt1, self.pt3, self.pt4) self.plane234 = Plane(self.pt2, self.pt3, self.pt4)
def test_line_skewed(self): np.testing.assert_almost_equal(self.line13.skewed_from(self.line25), True) tmpLine = Line(self.pt1, Point(0, 3, 4)) np.testing.assert_almost_equal(tmpLine.skewed_from(self.line25), False)
def test_line_parallel(self): np.testing.assert_almost_equal(self.line13.parallel_to(self.line25), False) tmpLine = Line(self.pt1, Point(0, 3, 4)) np.testing.assert_almost_equal(tmpLine.parallel_to(self.line25), True)
def test_angle_line2line(self): tmpLine = Line(self.pt3, Point(3, 3, 3)) np.testing.assert_almost_equal(self.line12.angle2line(self.line14), 90.0) np.testing.assert_almost_equal(tmpLine.angle2line(self.line12), 45.0)
def test_dist_line2line(self): tmpLine = Line(Point(0, 3, 4), self.pt5) np.testing.assert_almost_equal(self.line12.dist2line(self.line13), 0.0) np.testing.assert_almost_equal(tmpLine.dist2line(self.line12), 5.0)
def test_line_intercept(self): l1 = Line(Point(0, 0, 0), Point(2, 2, 0)) l2 = Line(Point(2, 0, 0), Point(0, 2, 0)) np.testing.assert_almost_equal(l1.intercepted_by(l2), True) np.testing.assert_almost_equal( l1.get_intercept(l2) == Point(1, 1, 0), True)