public Matrix4 multiplyByScale(double xScale,double yScale,double zScale){
  double[] m=this.m;
  m[0]*=xScale;
  m[4]*=xScale;
  m[8]*=xScale;
  m[12]*=xScale;
  m[1]*=yScale;
  m[5]*=yScale;
  m[9]*=yScale;
  m[13]*=yScale;
  m[2]*=zScale;
  m[6]*=zScale;
  m[10]*=zScale;
  m[14]*=zScale;
  return this;
}

public Matrix4 multiplyByScale ( double xScale , double yScale , double zScale ) { double [ ] m = this . m ; m [ 0 ] *= xScale ; m [ 4 ] *= xScale ; m [ 8 ] *= xScale ; m [ 12 ] *= xScale ; m [ 1 ] *= yScale ; m [ 5 ] *= yScale ; m [ 9 ] *= yScale ; m [ 13 ] *= yScale ; m [ 2 ] *= zScale ; m [ 6 ] *= zScale ; m [ 10 ] *= zScale ; m [ 14 ] *= zScale ; return this ; }
multiplies this matrix by a scale matrix with specified values .
