@staticmethod
def matrix_multiply(m, s):
    """
        [a c e]      [a c e]   [a b 0]
        [b d f]   %  [b d f] = [c d 0]
        [0 0 1]      [0 0 1]   [e f 1]

        :param m0: matrix operand
        :param m1: matrix operand
        :return: muliplied matrix.
        """
    r0 = (s.a * m.a + s.c * m.b + s.e * 0, s.a * m.c + s.c * m.d + s.e * 0,
        s.a * m.e + s.c * m.f + s.e * 1)
    r1 = (s.b * m.a + s.d * m.b + s.f * 0, s.b * m.c + s.d * m.d + s.f * 0,
        s.b * m.e + s.d * m.f + s.f * 1)
    return float(r0[0]), float(r1[0]), float(r0[1]), float(r1[1]), r0[2], r1[2]
