Motion Detection from Marker

6 views (last 30 days)
Andreas
Andreas on 3 Jan 2015
Edited: Matt J on 6 Jan 2015
How can I calculate both translation and rotation (with respect to a center of motion) y=R*x+t with R is rotation matrix and t is translation vector from a dedicated marker. I have the time-series (x,y,z) coordinates of three rigid markers connected to the object?
Thanks in advance for advices!! Andy

Accepted Answer

Matt J
Matt J on 3 Jan 2015
Edited: Matt J on 3 Jan 2015
You can do it using my ABSOR tool ( Download ). So, if you have a matrix of 3 points whose coordinates are known
A=[xa1,ya1,za1;xa2,ya2,za2;xa3,ya3,za3].'
and some target points after rototraslation of A,
B=[xb1,yb1,zb1;xb2,yb2,zb2;xb3,yb3,zb3].'
then you can find the rotation/traslation matching A to B with
params=absor(A,B);
R=params.R;
t=params.t;
  6 Comments
Andreas
Andreas on 5 Jan 2015
Yes, I have the 3D coordinates von 3 markers at two time-steps x,y and I want to find R and t. The (x,y,z) coordinates is a physical coordinate system (in MRI the z-Axis goes along the bore of the scanner, y is up-down and x is left-right). The question is if R and t are always in this system and how can I calculate from R and t back translation and rotation in the physical coordinate system? Many thanks!
Matt J
Matt J on 5 Jan 2015
Edited: Matt J on 6 Jan 2015
The discussion is getting confusing because you are using the notation x,y for two different things, sometimes a "time-step" and sometimes as 3D cartesian coordinates.
But here is the bottom line, I think. You have an initial set of position vectors pos1 and a final set pos2 arrived at after rotation/translation. Here, pos1 and pos2 as 3xN matrices whos column vectors are corresponding points before and after the rototranslation. Both pos1 and pos2 are measured in the same coordinate system and satisfy
pos2(:,i)=R*pos1(:,i) + t (Eq 1)
where R is a rotation matrix and t is a translation vector. So the R and t that the code gives you will correspond to whatever coordinate system pos1 and pos2 are measured in.
how can I calculate from R and t back translation and rotation in the physical coordinate system?
If pos1 and pos2 are measured in the"physical coordinate system", as you say then R and t are the rotation/translation in that system. R is a rotation about some axis through the origin of that system.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!