def testBasicRotationMatrices(self): 'Test the basic rotation matrices.' m = Matrix.rotationMatrixForZ(45) v = m.multv(Vector(1.0, 0.0, 0.0)) assert v.round(6) == [ 0.707107, 0.707107, 0.000000 ] v = m.multv(m.multv(Vector(1.0, 0.0, 0.0))) assert v.round(6) == [ 0.0, 1.0, 0.0 ] i = 0 v = Vector(1.0, 0.0, 0.0) while (i < 8): v = m.multv(v) i += 1 assert v.norm() == 1.0 assert v.round(5) == [1.0, 0.0, 0.0], v assert m.multv(Vector(0, 0, 1)) == [0, 0, 1] m = Matrix.rotationMatrixForX(120) v = m.multv(Vector(0.0, 1.0, 0.0)) assert round(v.norm(), 6) == 1.0, v assert v.round(6) == [ 0.0, -0.5, 0.866025 ] v = m.multv(Vector(0.0, 1.0, 0.0)) v = m.multv(v) v = m.multv(v) assert abs(v.norm() - 1.0) < 0.000000000000001, v.norm() assert round(v.norm(), 6) == 1.0, v.norm() assert v.round(6) == [ 0.0, 1.0, 0.0 ] m = Matrix.rotationMatrixForY(60) v = m.multv(Vector(0.0, 0.0, 1.0)) assert abs(v.norm()) == 1.0, v.norm() assert v.round(6) == [ 0.866025, 0.0, 0.5 ], v v = m.multv(Vector(0.0, 0.0, 1.0)) v = m.multv(v) v = m.multv(v) v = m.multv(v) v = m.multv(v) v = m.multv(v) assert abs(v.norm() - 1.0) < 0.000000000000001, v.norm() assert round(v.norm(), 6) == 1.0, v.norm() assert v.round(6) == [ 0.0, 0.0, 1.0 ]