double det = getDeterminant(); if (det == 0) throw new NoninvertibleTransformException("couldn't invert transform"); if (dst == null) dst = new Point2D.Double(); double x = src.getX(); double y = src.getY(); double nx = (m11 * x + -m10 * y) / det - m02; double ny = (m01 * x + -m00 * y) / det - m12; dst.setLocation(nx, ny); return dst;
return createInverse().transform(src, dst);
  public Point2D inverseTransform(Point2D src, Point2D dst)    throws NoninvertibleTransformException  {		double det = getDeterminant();		if (det == 0)			throw new NoninvertibleTransformException("couldn't invert transform");		if (dst == null)			dst = new Point2D.Double();		double x = src.getX();		double y = src.getY();		double nx = (m11 * x + -m10 * y) / det - m02;		double ny = (m01 * x + -m00 * y) / det - m12;		dst.setLocation(nx, ny);		return dst;	}