code: public void transform(Point[] pointsIn, int count, Point[] pointsOut) {
  		Point2D res = new Point2D();
  		for (int i = 0; i < count; i++) {
  			Point2D p = pointsIn[i].getXY();
  			res.x = xx * p.x + xy * p.y + xd;
  			res.y = yx * p.x + yy * p.y + yd;
  			pointsOut[i] = new Point(res.x, res.y);
  		}
  	}
docs: Transforms an array of points.
  
  @param pointsIn
  The points to be transformed.
  @param count
  The number of points to transform.
  @param pointsOut
  The transformed points are returned using this array. It
  should have the same or greater size as the input array.