How to find rotation matrix from 4 rectangle points
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
SOONMYUN JANG
am 30 Mai 2020
Kommentiert: Image Analyst
am 3 Jun. 2020
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/306059/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/306063/image.png)
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)
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 30 Mai 2020
Wouldn't the rotation matrix be
rotMatrix = pDistorted \ pStraight
4 Kommentare
Image Analyst
am 3 Jun. 2020
Again: "what do you want your transformed data coordinates to be?" You gave only input coordinates, not output coordinates.
Blog entry that might be useful: http://blogs.mathworks.com/steve/2006/08/04/spatial-transformations-defining-and-applying-custom-transforms/
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Cartesian Coordinate System Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!