The Barycentric transformation is quite similar to the Affine technique, the only difference is that the algorithm performs a barycentric-based calculation which is generally preferred when the map does not present grid points (map coordinates written on the map itself) and therefore you need to rely on the correspondence between some points on the map that you find and survey in the field.
The initial situation is just the same as that of the Affine transformation (Fig. 2 of section Affine), i.e. we need to transform the raster coordinates (origin in the bottom-left vertex) into our survey reference system, but this algorithm is based on "barycentric coordinates" of a generic point which sum is always equal to zero for both the map and the survey coordinates. To understand this concept, have a look at the triangle in Fig. 1.
If we sum the coordinates of vertices 1, 2, 3 (written in red) we obtain (the sum is indicated in brackets):
Xb = 420 / 3 = 140
Yb = 210 / 3 = 70
Thus the coordinates of the barycenter are:
[X] = 40 + 140 + 240 = 420
[Y] = 50 + 130 + 30 = 210
Now let's move the origin of the axis exactly in the triangle barycenter, the coordinates become those of Fig. 2 and if we sum them again we obtain:
[X] = -100 + 0 + 100 = 0
[Y] = -20 + 60 + -40 = 0
i.e. the summations of barycentric coordinates are always zero.
This also means that the barycentric coordinates of the mutual position of the points in the two systems,
the map and the survey, remain unchanged. So, if x-y and e-n are the coordinates of each point in the survey and the
map, the barycentric coordinates xb-yb and eb-nb of k points are:
Where xm-ym and em-nm indicate the coordinate averages, i.e. the coordinates of the barycenter.
So if we consider the scale factor f and the rotation angle ε as:
Indicating in brackets the summations, the barycentric algorithm demonstrates that:
From these values we can then easily calculate f and ε, whereas the
translations E0 and N0 of the two origins and the residuals [Δe] and [Δn] are calculated as follows: