Determine axis of rotation from 4x4 transformation matrix

217 Views Asked by At

Background: Using a 3D scanner, I scanned an object that rotates around an axis in space from two rotations. I used iterative closest point to determine the 4x4 transformation matrix mapping one scan to the other. I aim to determine the line (defined by a vector and a point) around which the object is rotating.

I converted the transformation matrix to the axis/angle representation (https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation), and the axis seems to be in the correct direction, the angle of rotation is consistent with the amount the object was physically rotated, but I don't know how to determine a point along the axis of rotation.

I was hoping the 'translation' portion of the 4x4 transformation matrix was a point on the axis of rotation, but this doesn't appear to be the case.

Any help is appreciated!

1

There are 1 best solutions below

2
On

If you are using a 4x4 homogeneous transformation matrix, the point is either located in the last column or the bottom row, depending on conventions. Note that the element at 4,4 is typically 1 and is ignored in this application.