Skip to content
CoreSource checked

Procrustes Analysis

Aligns two point sets by choosing the translation, scale, and rotation that minimize squared error.

Quick Facts

Compact metadata for implementation and discovery.

Category
Geometry
Difficulty
Intermediate
Family
Shape Alignment
Tier
Core
Status
Verified
Review
Source Checked
Sources
2
Formulas
0
Relationships
3
Code example
Ready
Visualization
Ready

Overview

Procrustes analysis centers corresponding point sets, optionally normalizes scale, and solves for the rotation that best aligns them in a least-squares sense.

Core Concepts

shape alignmentgeometric primitivessequence alignmentgeometry

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(n)

Average

O(n + m)

Worst

O(n + m)

Space

O(n + m)

When to Use

  • Use when point correspondences are known and rigid or similarity alignment is appropriate.
  • Use when squared alignment error is a suitable objective.

When Not to Use

  • Avoid when correspondences are unknown without a matching step.
  • Avoid when nonrigid deformation or outliers dominate the shape difference.

What It Does

  • Centers corresponding point sets
  • Optionally normalizes scale
  • Finds the best-fitting rotation or similarity transform

Use Cases

  • Shape alignment
  • Comparing landmark configurations
  • Preprocessing point clouds before similarity measurement

Inputs

  • Points, segments, polygons, or geometric primitives
  • Query or construction parameters

Outputs

  • Geometric decision, measurement, or constructed structure

Pseudocode

  1. 1.Check that point correspondences and dimensions match
  2. 2.Center both point sets
  3. 3.Optionally normalize scale
  4. 4.Compute the best rotation from the cross-covariance matrix
  5. 5.Apply transform and report residual error

Canonical Example

Input
triangle points P and the same triangle Q shifted by (2, 1)
Output
translation aligning Q back to P with near-zero residual
Explanation
Because the shapes match exactly, centering removes the shift and no deformation is needed.

Implementation Notes

  • Center both point sets before solving for rotation.
  • State whether reflection and scaling are allowed.
  • Validate with a point set transformed by a known rotation and translation.

Common Pitfalls

  • Feeding unmatched point orders produces meaningless transforms.
  • Forgetting whether scale normalization is enabled changes the interpretation.
  • Nearly collinear or duplicate landmarks can make the fitted transform unstable.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show translating, scaling, and rotating point sets to minimize squared error on a small shape alignment example.

Procrustes Analysis mechanism walkthrough step 1 of 5
Step 1 of 5: Check that point correspondences and dimensions match
geometry-mechanism

Notes

Procrustes analysis measures alignment under a chosen transform family; it does not solve correspondence by itself.

Sources (2)

What each reference supports for this entry.

Computational Geometry: Algorithms and Applications

Book

Textbook support for Procrustes Analysis's computational geometry problem family, predicates, structures, or geometric construction.

Open source

The Algorithm Design Manual

Book

Algorithm catalog support for Procrustes Analysis in the computational geometry benchmark area.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Procrustes Analysis and Voronoi-Based Medial Axis solve related shape alignment problems with different assumptions and tradeoffs.

Alternative toHausdorff Distance

Procrustes Analysis and Hausdorff Distance solve related shape alignment problems with different assumptions and tradeoffs.

Alternative toFrechet Distance

Procrustes Analysis and Frechet Distance solve related shape alignment problems with different assumptions and tradeoffs.

Tags

GeometryComputational GeometryStrings