def test_returns_signed_distances_for_xz_plane_at_origin(self): # x-z plane normal = np.array([0., 1., 0.]) sample = np.array([0., 0., 0.]) plane = Plane(sample, normal) pts = np.array([ [500., 502., 503.], [-500., -501., -503.], ]) expected = np.array([502., -501.]) np.testing.assert_array_equal(expected, plane.signed_distance(pts))
def test_returns_signed_distances_for_diagonal_plane(self): # diagonal plane @ origin - draw a picture! normal = np.array([1., 1., 0.]) normal /= np.linalg.norm(normal) sample = np.array([1., 1., 0.]) plane = Plane(sample, normal) pts = np.array([ [425., 425., 25.], [-500., -500., 25.], ]) expected = np.array([ math.sqrt(2 * (425. - 1.)**2), -math.sqrt(2 * (500. + 1.)**2), ]) np.testing.assert_array_almost_equal(expected, plane.signed_distance(pts))