Matrix

===============================================
  Matrix - class to represent planar transformations
===============================================
Matrix is used to perform following transformations:
  x1 = x * a + y * b + e
  y1 = x * c + y * d + f

CONSTRUCTOR

  Matrix() - generic constructor, creates a Matrix that makes no change to coordinates
  Matrix(Matrix) - copy constructor
  Matrix([a, b, c, d, e, f]) - creates a Matrix and assigns coordinates from the list of float numbers
  Matrix(a, b, c, d, e, f) - creates a Matrix and assigns coordinates from float numbers


	

ATTRIBUTES

  a, b, c, d, e, f (float) - Matrix parameters


	

OPERATIONS

  add - Matrix must be second operand, all parameters are added
  subtract - Matrix must be second operand, all parameters are subtracted
  multiply (with Matrix) - matrixes are multiplied
  multiply (with float number) - all parameters are scaled by the operand


	

METHODS

  Assign - assigns new values to a Matrix, uses the same syntax as in constructors
  Add(Matrix m) - adds values of the Matrix m to current matrix
  Sub(Matrix m) - subtracts values of the Matrix m from current matrix
  Mul(float s) - mutiplies Matrix's parameters to s value
  Transform(Matrix m) - applies Matrix m transformation to the current Matrix