question: 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 ; }
target:  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).