How to find rotation matrix from 4 rectangle points

22 次查看(过去 30 天)
Hi,
I have 4 3d points(x, y, z). Using these points how can I calculate rotation angle? Consequently, I want to have a 4x4 transformation matrix including rotation and translation information.
4 points are in a plane and they are corners of rectangle and I set the top-left point as the origin of the rectangle coordinate. Look at the bellow pictures.
Here I only have four 3D points(Xw,Tw,Zw) based on the world coordinate. According to the 4 points, I can calculate 4 points based on the rectangle coordinate. For instance, value [Xr] in P2 is the distance between P1 and P2. And [-Yr] in P3 is the distance between P1 and P3.
Then how could I get rotation angle of the rectangle based on the world coordinate using those information?
Additional information (3d points in the world coordinate):
P1(-401.428, 485.929, 772.921)
P2(-21.4433, 475.611, 772.511)
P3(-400.982, 483.56, 403.703)
P4(-21.589, 473.028, 403.242)

采纳的回答

Image Analyst
Image Analyst 2020-5-30
Wouldn't the rotation matrix be
rotMatrix = pDistorted \ pStraight
  4 个评论
SOONMYUN JANG
SOONMYUN JANG 2020-6-3
I want to get a rotation information such as 3x3 rotation matrix.
Image Analyst
Image Analyst 2020-6-3
Again: "what do you want your transformed data coordinates to be?" You gave only input coordinates, not output coordinates.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cartesian Coordinate System Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by