
A command that creates an AffineTransform object from two selected Configuration objects.
We calculate the affine transform that transforms the second selected Configuration object to match the first selected Configuration object as closely as possible. The degree of proportionality is the congruence between corresponding dimensions.
The iteration process stops when either the maximum number of iterations is reached or the tolerance criterion is met, which ever one is first.
Sometimes the criterion used in a Procrustes transform is too restrictive for comparing two configurations. This criterion is only zero when the positions in the rotated configuration (AT) equal the positions in the other configuration (B). Brokken (1983) proposed an algorithm to maximize instead the sum of congruences between corresponding dimensions of AT and B. Specifically he proposed to maximize
f(T) = ∑_{i=1..numberOfDimensions} t′_{i}A′b_{i} / ((t′_{i}A′At_{i})^{1/2}(b′_{i}b_{i})^{1/2}), 
where t′_{i} and b′_{i} are the i^{th} column of T and B, respectively. A direct solution for T is not available, it can only be obtained by an iterative procedure. The implemented algorithm is from Kiers & Groenen (1996) and shows excellent convergence properties.
© djmw 20040407