3D coordinate Transformation

93 Views Asked by At

I am currently trying to align two bodies which do not have similar sizes and shapes. But both of these two bodies share some keynodes(similar nodal position with 0.1% error difference). How can I find the translation and rotation matrix to move body A to body B with the 27 keynodes that I have found from these two bodies?

Keynodes:

Body A: Node 1: (12.858 39.705 24.813), Node 2: (12.741 41.362 23.5190), Node 3: (13.328 40.423 23.174)

Body B: Node 2: (28.909 41.108 20.323), Node 2: (29.685 40.785 20.507), Node 3: (29.093 40.247 20.814)

Thousand thanks and appreciation for any supports in advance.

Best, adexim

1

There are 1 best solutions below

0
On

I think you must have typoed point data, or else didn't realize that you'd also need skewing in your transformation, because there is no way to accomplish this with a translation and rotation.

Such a transformation would preserve distances, but the distances between the first three points are $\{8.6238,0.848528,8.86397\}$ and the distances between the points of the second set are $\{1.68819,0.9,1.74929\}$. These are significantly different and can't be explained by measurement error.

A transformation between these two point sets would have to be composed of more than rigid Euclidean motions: it would need to have some affine transformation that includes some skewing.