class TransformCase(unittest.TestCase): def setUp(self): self.s = Spheroid(distance=2., direction=(1, 3, 4.), angles=(.3, .2, .1)) def test_offset(self): nptest.assert_allclose(self.s.offset, self.s.distance*self.s.direction) def test_from_to_axis(self, n=10): x = np.random.randn(n, 3) x1 = self.s.to_axis(x) x2 = self.s.from_axis(x1) nptest.assert_allclose(x, x2) def test_from_to_normal(self, n=10): x = np.random.randn(n, 3) x1 = self.s.to_normal(x) x2 = self.s.from_normal(x1) nptest.assert_allclose(x, x2) def test_rot(self): self.s.angles = 0, 0, 0 x = np.array([0., 0, 3]) x1 = self.s.from_normal(x) nptest.assert_allclose(x1, self.s.direction*3) self.s.direction = 0, 0, 1. self.s.angles = .1, 0, 0 x1 = self.s.from_normal(x) nptest.assert_allclose(x1, (0, 3*np.sin(.1), 3*np.cos(.1)))
class TransformCase(unittest.TestCase): def setUp(self): self.s = Spheroid(distance=2., direction=(1, 3, 4.), angles=(.3, .2, .1)) def test_offset(self): nptest.assert_allclose(self.s.offset, self.s.distance * self.s.direction) def test_from_to_axis(self, n=10): x = np.random.randn(n, 3) x1 = self.s.to_axis(x) x2 = self.s.from_axis(x1) nptest.assert_allclose(x, x2) def test_from_to_normal(self, n=10): x = np.random.randn(n, 3) x1 = self.s.to_normal(x) x2 = self.s.from_normal(x1) nptest.assert_allclose(x, x2) def test_rot(self): self.s.angles = 0, 0, 0 x = np.array([0., 0, 3]) x1 = self.s.from_normal(x) nptest.assert_allclose(x1, self.s.direction * 3) self.s.direction = 0, 0, 1. self.s.angles = .1, 0, 0 x1 = self.s.from_normal(x) nptest.assert_allclose(x1, (0, 3 * np.sin(.1), 3 * np.cos(.1)))