Hello!!
I'm using CC for my dental research to measure the amount of displacement of certain teeth. So I initially align the two dental scans, and re-align them to a target tooth and calculate the amount of displacement from the resulting transformation matrix.
In the transformation matrix, I understand that the last column represents the translation in x, y, z-axes. But when I compare these numbers to the actual measurements I made on the models, these numbers don't really correspond to the actual measurements. Also I'm having trouble calculating the angular changes from the rotation matrix.
Please help me figure out the components of the tranformation matrix so that i can acquire the amount of angular and linear displacements. Is there a reason that the 3d vectors don't correspond to the actual measurements on the models? Also, is there a formula I can use to calculate angles? Lastly, what would be the unit for the vectors?
Thank you!!
Understanding 3d vectors
Re: Understanding 3d vectors
In fact with 4x4 transformation matrices, the translation is applied AFTER the rotation. And the rotation is implicitly applied about (0, 0, 0). Therefore, if your object (tooth) is not centered on (0, 0, 0), it will be shifted by the rotation. And the translation will have to compensate for this shift, in addition to the 'real' shift necessary for aligning the entity.
To estimate the 'real' translation, you have to apply the transformation to the object (tooth) center and then see how far it moved. To do this you'll need an external program (e.g. Matlab or Scilab, but even Excel can do this). Another option is to move the entities so that the aligned tooth is centered on the origin before applying the registration process.
For angles it's a little bit harder, but once again with an external tool such as Matlab or Scilab, you should be able to estimate the rotation 'quantity' about a given axis for instance.
To estimate the 'real' translation, you have to apply the transformation to the object (tooth) center and then see how far it moved. To do this you'll need an external program (e.g. Matlab or Scilab, but even Excel can do this). Another option is to move the entities so that the aligned tooth is centered on the origin before applying the registration process.
For angles it's a little bit harder, but once again with an external tool such as Matlab or Scilab, you should be able to estimate the rotation 'quantity' about a given axis for instance.
Daniel, CloudCompare admin