Hi all,
I am working on a project where I am registering two of the same object to calculate the 6 degrees of freedom of difference between the registered objects. This can be easily observed by the outputted transformation matrix. I understand the first 3x3 is a rotational matrix and the last column in translation but what is the exact formula being used in the 3x3 rotation matrix. I am trying to do a hand calculation to see match up the data and I cannot get the numbers to match.
1) what is the formula for the rotation matrix?
2) When doing a fine registration of two objects, is the reference box set at zero and the data is taken according to that object?
3) For Axis/Angle, are the numbers outputted based on where the rotation point is located for the axis portion? for the angle what angle is that outputting?
Please let me know if i need to supply more information if something doesn't make sense.
Thank you!
Transformation Matrix
Re: Transformation Matrix
1) Formula? If you refer to how this matrix is generated, then you'll have to look at Horn's algorithm (see http://people.csail.mit.edu/bkph/papers ... tation.pdf)
2) The transformation is always expressed in the aligned cloud coordinate system, i.e. with the origin at (0,0,0) and with the default X(1,0,0), Y(0,1,0) and Z(0,0,1) vectors as basis.
3) Same here, the rotation center is the origin (0,0,0). For a given axis vector there's only two possibilities for the angle ('alpha' or '360 - alpha')
2) The transformation is always expressed in the aligned cloud coordinate system, i.e. with the origin at (0,0,0) and with the default X(1,0,0), Y(0,1,0) and Z(0,0,1) vectors as basis.
3) Same here, the rotation center is the origin (0,0,0). For a given axis vector there's only two possibilities for the angle ('alpha' or '360 - alpha')
Daniel, CloudCompare admin
Re: Transformation Matrix
Thank you for replying. I will review Horn's algorithm. However, I am struggling to extract the information I need.
I am trying to determine translation and rotation displacements (x,y,z, roll, pitch, and yaw), ideally in units of mm and degrees from a common origin. I would like to be able to use the cloud compare transformation matrix to obtain these values.
1) See attachment. When the two meshes/clouds are registered in CloudCompare, are the coordinate systems brought together to a shared or mean point? Or is the reference mesh fixed and the data set moved to the reference? Could you please explain the process for the fine registration (not what is included on the manual, since I have already read that)?
2) What is the axis/angle tab representing when a transformation is applied? Do the x, y, z numbers represent a vector of the translated object? What is the angle representing?
I am trying to determine translation and rotation displacements (x,y,z, roll, pitch, and yaw), ideally in units of mm and degrees from a common origin. I would like to be able to use the cloud compare transformation matrix to obtain these values.
1) See attachment. When the two meshes/clouds are registered in CloudCompare, are the coordinate systems brought together to a shared or mean point? Or is the reference mesh fixed and the data set moved to the reference? Could you please explain the process for the fine registration (not what is included on the manual, since I have already read that)?
2) What is the axis/angle tab representing when a transformation is applied? Do the x, y, z numbers represent a vector of the translated object? What is the angle representing?
- Attachments
-
- Untitled.png (167.67 KiB) Viewed 5104 times
Re: Transformation Matrix
1) the data / aligned entity moves towards the reference one (the reference entity is never modified in CC's registration tools).
The Fine Registration tool is simply the ICP algorithm with minor improvements. This is an iterative process where the aligned cloud comes a little bit closer to the reference one at each iteration. It uses the Horn algorithm at each step (each point is paired with its nearest neighbor).
2) the axis is a 3d vector (x, y, z). The angle is the rotation angle about this axis. Axis and angle are equivalent to a rotation matrix. And the last vector is the final translation (applied after the rotation).
The Fine Registration tool is simply the ICP algorithm with minor improvements. This is an iterative process where the aligned cloud comes a little bit closer to the reference one at each iteration. It uses the Horn algorithm at each step (each point is paired with its nearest neighbor).
2) the axis is a 3d vector (x, y, z). The angle is the rotation angle about this axis. Axis and angle are equivalent to a rotation matrix. And the last vector is the final translation (applied after the rotation).
Daniel, CloudCompare admin
Re: Transformation Matrix
Thank you, I will work off of that.