Asked by farzad
on 14 Jun 2019

Hi All

How do I define the transformation matrix of a plate that moves in space , knowing the old and new coordinates of 3 points on the plate ? (assume a circular plate and reference coordinate system in the center of the plate )

Answer by Matt J
on 14 Jun 2019

Accepted Answer

You could use this FEX file

Matt J
on 1 Jul 2019

What is eulZYX?

>> which eulZYX

'eulZYX' not found.

Jan
on 2 Jul 2019

@farzad: Do not assume, that the users of the forum have installed the same 3rd party tools or Matlab toolboxes as you have. Check the location of the functions by which . If it is not included in the standard toolboxes, post a link to the documentation or source of the function.

By the way: A simple test reveals, what the output is.

farzad
on 2 Jul 2019

ok thank you

Sign in to comment.

Answer by Jan
on 27 Jun 2019

You can define the motion by a translation of the center of the 3 points and a rotation of the local coordinate system.

PointsA = [x1, y1, z1; ...

x2, y2, z2; ...

x3, y3, z3];

PointsB = ...

Translation = mean(PointsB, 1) - mean(PointsA, 1);

% For the local coordinate systems find an orthonormal tripod:

v1 = PointsA(1, :) - PointsA(2, :);

n1 = v1 ./ norm(v1);

v2 = PointsA(2, :) - PointsA(3, :);

n2 = v2 ./ norm(v2);

c2 = cross(n1, n2);

n12 = c2 ./ norm(c2);

CoorA = [n1, n12, cross(n1, n12)];

% The same for B...

Rotation = CoorA * CoorB'

Anotehr approach would be the "Helical Axis": Any motion can be defined by an axis and some rotation around it and translation along it. See http://www.kwon3d.com/theory/jkinem/helical.html

Matt J
on 27 Jun 2019

so you are saying that using absor and rcParams.R is not a good idea ?

Jan's approach will be sub-optimal if you have non-neglible measurement errors in A and B. Also, if you decide to use more than 3 points (for data redundancy), absor will better accommodate that case.

Jan
on 28 Jun 2019

farzad
on 28 Jun 2019

Thank you very much Jan

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## farzad (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/467055-how-to-find-the-transformation-matrix-for-a-plat-knowing-the-old-and-new-coordinates-of-3-points-on#comment_714778

Sign in to comment.