def testMultiplication(self): q = Quaternion(0.3627, 0.3898, 0.8427, 0.0798) q1 = Quaternion(0.5221, -0.6938, 0.0376, -0.4946) q *= q1 self.assertEquals(str(q), "Quaternion: 0.4676 + -0.4679i + 0.5910j + 0.4616k") # Magnitude checking after multiplication self.assertLessEqual(1 - q.magnitude(), 0.00001) self.assertGreaterEqual(1 - q.magnitude(), -0.00001) self.assertLessEqual(1 - q1.magnitude(), 0.00001) self.assertGreaterEqual(1 - q1.magnitude(), -0.00001)
def testNormalize(self): q = Quaternion(0.4676, -0.4679, 0.5910, 0.4616) q.normalize() self.assertLessEqual(1 - q.magnitude(), 0.00001) self.assertGreaterEqual(1 - q.magnitude(), -0.00001) q = Quaternion(-0.0918, 0.0463, -0.2413, -0.9650) q.normalize() self.assertLessEqual(1 - q.magnitude(), 0.00001) self.assertGreaterEqual(1 - q.magnitude(), -0.00001) q = Quaternion(a = 1000.0002, b = 2.03, c = 0.04, d = 40004.5) q.normalize() self.assertLessEqual(1 - q.magnitude(), 0.00001) self.assertGreaterEqual(1 - q.magnitude(), -0.00001)
def testInit(self): q = Quaternion(-0.3308, 0.7273, 0.3217, -0.5080) q.identity() self.assertEquals(str(q), "Quaternion: 1.0000 + 0.0000i + 0.0000j + 0.0000k") self.assertLessEqual(1 - q.magnitude(), 0.00001) self.assertGreaterEqual(1 - q.magnitude(), -0.00001)