Explore modules

Proper Orthogonal Procrustes Alignment

Align labeled point pairs using a rotation and translation while exposing reflection error and nonunique fits.

Free theory article

Align labeled point pairs using a rotation and translation while exposing reflection error and nonunique fits.

Concept & interpretation

The Proper Orthogonal Procrustes problem finds the special orthogonal rotation matrix R (satisfying RTR = I and det(R) = +1) and translation vector t that minimize the sum of squared Euclidean distances between labeled source points and target points.

Experiment

Compare exact rotations, reflections, noisy perturbations, and degenerate collapses in https://riano.app/module/orthogonal-procrustes:

  1. Select Reflection with shifts (-1, 1). Because vertices 1 and 2 are mirrored across the y-axis while det(R) = +1 forbids reflection, the best proper rotation stays at 0 degrees with squared fitting error 8.
  2. Select Perturbed with shifts (0, 0) to observe a least-squares compromise rotation of -12.5288 degrees and squared error 1.0406.
  3. Select Collapsed reference or Collapsed target to verify that c = s = 0 produces status Nonunique; identity representative.
Read the full free theory article