예제 #1
0
 def test_normalization(self):
     """Test Vector normalization."""
     v1 = Vector([2, 0, 0])
     self.assertTrue(
         numpy.array_equal(v1.normalized().get_array(), numpy.array([1, 0, 0]))
     )
     # State of v1 should not be affected by `normalized`
     self.assertTrue(numpy.array_equal(v1.get_array(), numpy.array([2, 0, 0])))
     v1.normalize()
     # State of v1 should be affected by `normalize`
     self.assertTrue(numpy.array_equal(v1.get_array(), numpy.array([1, 0, 0])))
예제 #2
0
 def test_Vector_angles(self):
     """Test Vector angles."""
     angle = random() * numpy.pi
     axis = Vector(random(3) - random(3))
     axis.normalize()
     m = rotaxis(angle, axis)
     cangle, caxis = m2rotaxis(m)
     self.assertAlmostEqual(angle, cangle, places=3)
     self.assertTrue(
         numpy.allclose(list(map(int, (axis - caxis).get_array())),
                        [0, 0, 0]), "Want %r and %r to be almost equal" %
         (axis.get_array(), caxis.get_array()))