N.B. per utenti Italiani: questo sito è dedicato alla versione internazionale di CorrMap in Inglese. la versione Italiana è disponibile dal sito dedicato

The Rubber-Sheeting transformation

The Rubber-sheeting transformation

The Rubber-Sheeting transformation is based on geometric and mathematical theories similar to those of the Homography transformation, which, due to their complexity they are outside the scope of this document. This technique is called "Rubber-Sheeting" because figuratively it considers a deformed map as a sheet made of rubber which is stretched to some fixed nails representing the correcting reference points. Fig. 1 shows this approach: the green area represents the deformed map, whereas the black and blue spots represent the control points to which we want to correct the deformation.

The Rubber-Sheeting transformation considers a deformed map as a sheet made of rubber which is stretched to some nails representing the correcting points.
Fig. 1 - The Rubber-Sheeting transformation considers a deformed map as a sheet made of rubber which is stretched to some nails representing the correcting points.

As for homography, the Rubber-Sheeting transformation relies on the concept that, given 4 points in a reference system, it is always possible to transform them into the corresponding 4 points in another reference system, as shown in Fig. 2.

This also means that the Rubber-Sheeting algorithm transforms a quadrilateral from one reference system into the corresponding quadrilateral in another reference system.

The algorithm is a complex matrix calculation, but simplifying it, we can say that an internal point on the first quadrilateral is "mapped" to the second quadrilateral by respecting the proportion of its projections on the sides (a, b, c, d, e, f, g, h).

The Rubber-Sheeting transforms a quadrilateral from one reference system into the corresponding quadrilateral in another system.
Fig. 2 - The Rubber-Sheeting transforms a quadrilateral from one reference system into the corresponding quadrilateral in another system.

The projections are the divided parts of the sides formed by tracing on the point the two straight lines parallel to the axis.

Simplifying the mathematical algorithms into a more understandable geometrical form, it is interesting to see the conceptual difference between the schema of the Homography (Fig. 1 on the section dedicated to that transformation) and the one of the Rubber-Sheeting shown in Fig. 1 in this page.

The difference is that the Homography gives priority to alignments, whereas the Rubber-Sheeting gives priority to linear proportions. As shown in Fig. 3 in fact, the diagonals intersection of the first quadrilateral is still mapped by the Homography in the diagonals intersection of the second quadrilateral, whereas it is mapped by the Rubber-Sheeting in the intersection of its side projections.

The difference between Homography and Rubber-Sheeting: the first gives priority to alignments, whereas the second gives priority to linear proportions.
Fig. 3 - The difference between Homography and Rubber-Sheeting: the first gives priority to alignments, whereas the second gives priority to linear proportions.

The different mapping performed by Rubber-Sheeting compared to Homography (Fig. 3) is obviously based on a different algorithm. The Rubber-Sheeting calculation is based on the following formulae:

X = a x y + b x + c y + d
Y = e x y + f x + g y + h

While they differ from the Homography, mainly because they are non-fractional, the approach remains the same. The X-Y on the left of the equal sign are the coordinates to be calculated for the second reference system, given coordinates x-y in the first reference system.

The calculation is a function of 8 unknown transformation parameters a, b, c, d, e, f, g, h (not to be confused with the projections of Fig. 1 and Fig. 2) and therefore at least 4 known points in both systems are required.

The formulae above are then transformed in the transformation matrix that allows us to calculate the 8 transformation parameters, as described below.

Rubber-sheeting formula

  • a = scale factor in X direction proportional to the multiplication X * Y.
  • b = fixed scale factor in X direction with scale Y unchanged.
  • c = scale factor in X direction proportional to Y distance from origin.
  • d = origin translation in X direction.
  • e = scale factor in Y direction proportional to the multiplication X * Y.
  • f = fixed scale factor in Y direction with scale X unchanged.
  • g = scale factor in Y direction proportional to X distance from origin.
  • h = origin translation in Y direction.

Finally, once these 8 parameters are calculated, it is easy to use them for transforming any point from the first reference system to the second using the transformation formulae shown at the beginning of this section.