MATLAB Answers


calculate rotation of an object using three markers connected to an object

Asked by pacharya on 4 Oct 2019
Latest activity Edited by Adam Danz
on 5 Oct 2019
I am trying to calculate the rotation (orientation) of an object using three markers placed on the sides of the object. I have attached the sketch of the given object with markers on it.
Can anyone please help me on this?
Thank you!


Not enough info.
Are you rotating the image or are you rotating a set of coordinates that are similar to those shown in the image?
What is the axis of rotation?
What is the angle of rotation?
Hi Adam,
In the picture, the rectangle with three circular dots represents an object with three motion capture passive markers and during an experiment, it is being carried around by the subject. I want to know how much this object has rotated in x, y and z plane when it is carried. I have updated the figure to show the plane of motion.
Thank you for your interest,

Sign in to comment.

1 Answer

Answer by Matt J
on 4 Oct 2019
 Accepted Answer

You can use this FEX file to calculate the rotation of a set of points,


Hi Matt,
Thank you for sharing this function. I did not work for me as it is giving me an error message: Points must be either 2D or 3D
I have saved the 3D markers values in the given two inputs variables. Could you please give me since I am new to MATLAB? Thank you,
@pacharya , When you use a new function for the first time, take a few minutes to read about the function by using the help() or doc() commands. It is important to 1) understand what the function generally does, 2) understand what inputs are required and what form they should take, and 3) understand what the function outputs.
Matt has done an excellent job at documenting this function and the input description is clear:
% absor(A,B, ...)
% A: a 2xN or 3xN matrix whos columns are the coordinates of N source points.
% B: a 2xN or 3xN matrix whos columns are the coordinates of N target points.
If the dimensions of 'A' do not fit those requirements, you get the error message you shared.
If your marker data are 3D you need to organize them into a 3xN matrix.

Sign in to comment.