def test_Orthographic(self): points = Sphere( np.random.rand(5) * np.pi, np.random.rand(5) * 2 * np.pi, 1) p0 = points.project(Orthographic).to(Cartesian2D) p1 = points.project(OnPlane) self.assertEqual(p0, p1)
def test_to(self): points = Sphere([0, np.pi], [0, np.pi], 1) sp = points.to(Spherical) self.assertArraysEqual(sp.theta, [0, np.pi]) self.assertArraysEqual(sp.phi, [0, np.pi]) self.assertArraysEqual(sp.r, [1, 1]) ca = points.to(Cartesian3D) self.assertArraysEqual(ca.x, [0, 0]) self.assertArraysEqual(ca.y, [0, 0]) self.assertArraysEqual(ca.z, [1, -1])
def test_Azimuthal(self): points = Sphere(np.pi / 2, np.pi / 4, 1) p0 = points.project(Azimuthal, d=2).to(Cartesian2D) p1 = Cartesian2D(*[2**-0.5] * 2) self.assertEqual(p0, p1)
def test_Equirectangular(self): points = Sphere(np.pi / 2, np.pi / 4, 1) p0 = points.project(Equirectangular) p1 = Cartesian2D(0, 0.7853981) self.assertEqual(p0, p1)
def test_Mercator(self): points = Sphere(np.pi / 2, np.pi / 3, 1) p0 = points.project(Mercator) p1 = Cartesian2D(np.pi / 3, 0) self.assertEqual(p0, p1)
def test_AzimuthalEquidistant(self): points = Sphere(np.pi / 4, np.pi / 4, 1) p0 = points.project(AzimuthalEquidistant).to(Cartesian2D) p1 = Cartesian2D(1.6660811, 1.6660811) self.assertEqual(p0, p1)
def test_Stereographic(self): points = Sphere(np.pi / 2, np.pi / 3, 1) p0 = points.project(Stereographic) self.assertEqual(p0, Polar(np.pi / 3, 1))
def test_SphereEquitorial(self): """ Test a round trip """ c = Sphere(*[np.random.rand(3) for i in range(2)], 1) c_ref = c.to(Equitorial).to(Sphere) self.assertEqual(c, c_ref)
def test_project(self): points = Sphere([0, np.pi / 2], [0, np.pi / 2], 1) po = points.project(Stereographic) self.assertArraysEqual(po.theta, [0, np.pi / 2]) self.assertArraysEqual(po.r, [np.nan, 1])
def test_sphere(self): points = Sphere([0, np.pi], [0, np.pi], 1) self.assertIsInstance(points.theta, np.ndarray) self.assertIsInstance(points.phi, np.ndarray) self.assertEqual(points.R, 1)
def test_to(self): points = Spherical(np.pi, np.pi, 2) sp = points.project(Sphere) sp_ref = Sphere(np.pi, np.pi, 1) self.assertEqual(sp, sp_ref)