I have 2 3d models and have arrays of all their points and their correspondence. I know that the second model is the first one but after rigid transformation. I also know the type of that transformation - translation or rotation. I need to calculate the axis/center of transformation and it's value - angle or distance. Case with translation is very simple. But I can't find solution for rotation. More over I need to find the axis location relative to one of the model. So only the coordinates of vector defining the axis aren't enough. How can this problem be solved? P.S.: I use Java and C++ but even theoretical explanation will help me a lot.
Asked
Active
Viewed 90 times
0
-
This is closely related to http://stackoverflow.com/questions/21270892/generate-affinetransform-from-3-points/ – Dawood ibn Kareem Jan 22 '14 at 08:59
1 Answers
0
It sounds like you need to registrate two models. Maybe you should have a look at ICP and Registration.
You didn't state it, but I assume the correspondences aren't exact, i.e. noisy.

weeska
- 439
- 3
- 7
-
Correspondence is absolute, because model 1 and model 2 are 3d scans of the same object. – Eugene Jan 22 '14 at 11:54
-
Yes, and because the objects are scanned, the correspondences won't be exact. – weeska Jan 22 '14 at 13:58