- convert both to orthonormal bases (A,B above), ignoring the translation component for now.
- use the inverse == transpose trick to find the inverse of the first transform (A
^{T}), then apply (multiply by) the second transform(B) - (...fudge the translation component (not shown)...)

The transpose is equal to the inverse only if it's an orthonormal matrix - to project vector line onto another, it's a simple dot product. What's more each axis in an orthogonal frame is independent, so that's all we need - 9 dot products, or one matrix multiplication.