/** * Computes the {@link AffineTransformation} * determined by the control point mappings, * or <code>null</code> if the control vectors do not determine a well-defined transformation. * * @return an affine transformation, or null if the control vectors do not determine a well-defined transformation */ public AffineTransformation getTransformation() { // compute full 3-point transformation boolean isSolvable = compute(); if (isSolvable) return new AffineTransformation(m00, m01, m02, m10, m11, m12); return null; }