示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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)