def test_point_height_above_plane(self): pl = plane.create([0., 1., 0.], 1.) p = np.array([0., 1., 0.]) result = gt.point_height_above_plane(p, pl) self.assertEqual(result, 0.) p = np.array([0., 0., 0.]) result = gt.point_height_above_plane(p, pl) self.assertEqual(result, -1.) v1 = np.array([ 0.0, 0.0, 1.0]) v2 = np.array([ 1.0, 0.0, 1.0]) v3 = np.array([ 0.0, 1.0, 1.0]) p = np.array([0.0, 0.0, 20.0]) pl = plane.create_from_points(v1, v2, v3) pl = plane.invert_normal(pl) result = gt.point_height_above_plane(p, pl) self.assertEqual(result, 19.) pl = plane.create_xz(distance=5.) p = np.array([0., 5., 0.]) h = gt.point_height_above_plane(p, pl) self.assertEqual(h, 0.)
def test_create_from_points(self): result = plane.create_from_points( [1., 0., 0.], [0., 1., 0.], [1., 1., 0.], ) self.assertTrue(np.allclose(result, [0., 0., 1., 0.])) self.assertTrue(np.allclose(plane.position(result), [0., 0., 0.])) result = plane.create_from_points( [1., 1., 0.], [1., 1., 1.], [0., 1., 1.], ) expected = plane.create([0., 1., 0.], 1.) self.assertTrue(np.allclose(result, expected)) self.assertTrue(np.allclose(plane.position(result), [0., 1., 0.]))
def test_create(self): result = plane.create() self.assertTrue(np.allclose(result, [0, 0, 1, 0])) result = plane.create([1., 0., 0.], 5.) self.assertTrue(np.allclose(result, [1., 0., 0., 5.]))
def test_ray_intersect_plane_front_only(self): r = ray.create([0.,-1.,0.],[0.,1.,0.]) p = plane.create([0.,1.,0.], 0.) result = gt.ray_intersect_plane(r, p, front_only=True) self.assertEqual(result, None)
def test_ray_intersect_plane(self): r = ray.create([0.,-1.,0.],[0.,1.,0.]) p = plane.create([0.,1.,0.], 0.) result = gt.ray_intersect_plane(r, p) self.assertFalse(np.array_equal(result, [0.,1.,0.]))
def test_ray_intersect_plane_invalid(self): r = ray.create([0.,-1.,0.],[1.,0.,0.]) p = plane.create([0.,1.,0.], 0.) result = gt.ray_intersect_plane(r, p) self.assertEqual(result, None)
def test_create(self): result = plane.create() self.assertTrue(np.allclose(result, [0, 0, 1, 0]))
def test_create_2(self): result = plane.create([1.,0.,0.], 5.) self.assertTrue(np.allclose(result, [1.,0.,0.,5.]))
def test_create(self): result = plane.create() self.assertTrue(np.allclose(result, [0,0,1,0]))