public Matrix3 multiplyByVerticalFlip(){
  double[] m=this.m;
  m[2]+=m[1];
  m[5]+=m[4];
  m[8]+=m[7];
  m[1]=-m[1];
  m[4]=-m[4];
  m[7]=-m[7];
  return this;
}

public Matrix3 multiplyByVerticalFlip ( ) { double [ ] m = this . m ; m [ 2 ] += m [ 1 ] ; m [ 5 ] += m [ 4 ] ; m [ 8 ] += m [ 7 ] ; m [ 1 ] = - m [ 1 ] ; m [ 4 ] = - m [ 4 ] ; m [ 7 ] = - m [ 7 ] ; return this ; }
multiplies this matrix by a matrix that flips and shifts the y - axis . the vertical flip matrix maps y = 0 to y = 1 and y = 1 to y = 0 . this matrix is usually used to change the coordinate origin from an upper left coordinate origin to a lower left coordinate origin . < p / > this is typically necessary to align the coordinate system of images ( top - left origin ) with that of opengl ( bottom - left origin ) .
