示例#1
0
 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)
示例#2
0
    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])
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
 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))
示例#8
0
 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)
示例#9
0
 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])
示例#10
0
 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)
示例#11
0
 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)