Class SimilarTransformBuilder


public class SimilarTransformBuilder extends ProjectiveTransformBuilder
Builds MathTransform setup as Similar transformation from a list of MappedPosition. The The calculation uses least square method. The similar transform equation:
  [ x']   [  a -b  Tx  ] [ x ]   [ a*x - b*y + Tx ]
  [ y'] = [  b  a  Ty  ] [ y ] = [ b*x + a*y + Ty ] 
In the case that we have more identical points we can write it like this (in Matrix):
  [ x'1 ]      [ x1 -y1  1 0 ]   [ a  ]
  [ x'2 ]      [ x2 -y2  1 0 ]   [ b  ]
  [  .  ]      [      .      ]   [ Tx ]
  [  .  ]      [      .      ] * [ Ty ]
  [ x'n ]   =  [ xn  yn  1 0 ]
  [ y'1 ]      [ y1  x1  0 1 ]
  [ y'2 ]      [ y2  x2  0 1 ]
  [  .  ]      [      .      ]
  [  .  ]      [      .      ]
  [ y'n ]      [ yn xn  0  1 ]
    x' = A*m  
Using the least square method we get this result:
m = (ATA)-1 ATx'
Since:
2.4
Author:
Jan Jezek