How to find the transformation matrix for a plat knowing the old and new coordinates of 3 points on it ?

조회 수: 19 (최근 30일)
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 )

채택된 답변

Matt J
Matt J 2019년 6월 14일
  댓글 수: 38
farzad
farzad 2019년 11월 5일
Dear Matt : thank you for the above answer : but what if I don't know the order of rotation ?? this command asks for the order actually
second question : Does Absor.m give me the rotation matrix ? how can I get it ?
Matt J
Matt J 2019년 11월 5일
but what if I don't know the order of rotation
The order is something you choose not something you determine. All 6 decompositions are equivalent - it just depends on your preference.
Does Absor.m give me the rotation matrix
Yes, it is in the regParams.R output.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2019년 6월 27일
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
  댓글 수: 4
Jan
Jan 2019년 6월 28일
@farzad: Of course I did not say that "using adsor is not a good idea". Especially if you have more than 3 points on a rigid body, an optimization appraoch is the correct approach.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Language Fundamentals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by