// Inverse transformation of x and y. It works slow because // it explicitly inverts the matrix on every call. For massive // operations it's better to invert() the matrix and then use // direct transformations. public void inverse_transform(ref double x, ref double y) { Perspective t = new Perspective(this); if (t.invert()) t.Transform(ref x, ref y); }
// Multiply inverse of "m" by "this" and assign the result to "this" public Perspective premultiply_inv(Affine m) { Perspective t = new Perspective(m); t.invert(); Set(t.multiply(this)); return this; }