示例#1
0
 def testMaxAlpha(self):
     c = (0.0, 0.0)
     for r in (1.0, 10.0, 20.0, 45.0):
         for phi in (-40.0, -20.0, 0.0, 10.0, 40.0):
             a = g.maxAlpha(r, phi) + g.ANGLE_EPSILON
             for x in (phi, phi + r, phi - r):
                 self.assertTrue(g.sphericalAngularSep((a, x), c) > r)
                 self.assertTrue(g.sphericalAngularSep((-a, x), c) > r)
             points = _pointsOnCircle((0.0, phi), r, 50)
             box = g.SphericalBox((-a, phi - r - g.ANGLE_EPSILON),
                                  (a, phi + r + +g.ANGLE_EPSILON))
             for p in points:
                 self.assertTrue(box.contains(p))
示例#2
0
 def testMaxAlpha(self):
     c = (0.0, 0.0)
     for r in (1.0, 10.0, 20.0, 45.0):
         for phi in (-40.0, -20.0, 0.0, 10.0, 40.0):
             a = g.maxAlpha(r, phi) + g.ANGLE_EPSILON
             for x in (phi, phi + r, phi - r):
                 self.assertTrue(g.sphericalAngularSep((a, x), c) > r)
                 self.assertTrue(g.sphericalAngularSep((-a, x), c) > r)
             points = _pointsOnCircle((0.0, phi), r, 50)
             box = g.SphericalBox((-a, phi - r - g.ANGLE_EPSILON),
                                  (a, phi + r + + g.ANGLE_EPSILON))
             for p in points:
                 self.assertTrue(box.contains(p))
示例#3
0
 def testAngularSep(self):
     tv = [((1.0, 1.0, 0.0), (1.0, 0.0, 0.0), 45.0),
           ((1.0, 1.0, 0.0), (0.0, 1.0, 0.0), 45.0),
           ((1.0, 0.0, 1.0), (1.0, 0.0, 0.0), 45.0),
           ((0.0, 1.0, 1.0), (0.0, 0.0, 1.0), 45.0),
           ((1.0, 1.0, 0.0), (1.0, -1.0, 0.0), 90.0),
           ((1.0, 0.0, 1.0), (1.0, 0.0, -1.0), 90.0)]
     for v1, v2, a in tv:
         d = [g.cartesianAngularSep(v1, v2)]
         d.append(g.cartesianAngularSep(v2, v1))
         sc1, sc2 = g.sphericalCoords(v1), g.sphericalCoords(v2)
         d.append(g.sphericalAngularSep(sc1, sc2))
         d.append(g.sphericalAngularSep(sc2, sc1))
         for x in d:
             self.assertAlmostEqual(x, a)
示例#4
0
 def testAngularSep(self):
     tv = [((1.0, 1.0, 0.0), (1.0, 0.0, 0.0), 45.0),
           ((1.0, 1.0, 0.0), (0.0, 1.0, 0.0), 45.0),
           ((1.0, 0.0, 1.0), (1.0, 0.0, 0.0), 45.0),
           ((0.0, 1.0, 1.0), (0.0, 0.0, 1.0), 45.0),
           ((1.0, 1.0, 0.0), (1.0, -1.0, 0.0), 90.0),
           ((1.0, 0.0, 1.0), (1.0, 0.0, -1.0), 90.0)
          ]
     for v1, v2, a in tv:
         d = [g.cartesianAngularSep(v1, v2)]
         d.append(g.cartesianAngularSep(v2, v1))
         sc1, sc2 = g.sphericalCoords(v1), g.sphericalCoords(v2)
         d.append(g.sphericalAngularSep(sc1, sc2))
         d.append(g.sphericalAngularSep(sc2, sc1))
         for x in d:
             self.assertAlmostEqual(x, a)
示例#5
0
 def testAlpha(self):
     c = (0.0, 0.0)
     for r in (1.0, 10.0, 20.0, 45.0):
         self.assertEqual(g.alpha(r, 0.0, r + 1), None)
         self.assertEqual(g.alpha(r, 0.0, -r - 1), None)
         alpha = g.alpha(r, 0.0, 0.0)
         self.assertAlmostEqual(alpha, r)
         phi = 0.5 * r
         a1 = g.alpha(r, 0.0, phi)
         a2 = g.alpha(r, 0.0, -phi)
         self.assertAlmostEqual(a1, a2)
         self.assertAlmostEqual(g.sphericalAngularSep((a1, phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((-a1, phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((a2, -phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((-a2, -phi), c), r)
     c = (0.0, 89.0)
     self.assertEqual(g.alpha(3.0, 89.0, 89.0), None)
     c = (0.0, -89.0)
     self.assertEqual(g.alpha(3.0, -89.0, -89.0), None)
示例#6
0
 def testAlpha(self):
     c = (0.0, 0.0)
     for r in (1.0, 10.0, 20.0, 45.0):
         self.assertEqual(g.alpha(r, 0.0, r + 1), None)
         self.assertEqual(g.alpha(r, 0.0, -r - 1), None)
         alpha = g.alpha(r, 0.0, 0.0)
         self.assertAlmostEqual(alpha, r)
         phi = 0.5 * r
         a1 = g.alpha(r, 0.0, phi)
         a2 = g.alpha(r, 0.0, -phi)
         self.assertAlmostEqual(a1, a2)
         self.assertAlmostEqual(g.sphericalAngularSep((a1, phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((-a1, phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((a2, -phi), c), r)
         self.assertAlmostEqual(g.sphericalAngularSep((-a2, -phi), c), r)
     c = (0.0, 89.0)
     self.assertEqual(g.alpha(3.0, 89.0, 89.0), None)
     c = (0.0, -89.0)
     self.assertEqual(g.alpha(3.0, -89.0, -89.0), None)