- 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 (AT), 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.