Get transformation matrix from 3D points

I have two plots of 3D reconstruction of a cup from 2 points of view. I need to find the transformation matrix that rotates the cup from the position of plot1 to the position of plot2. I fixed 3 point in plot1 (p1,p2,p3) with their respective coordinates and manually found the same point in plot2 (t1,t2,t3) with the transformed coordinate. I collected p1,p2,p3 in matrix P and t1,t2,t3 in matrix T, then I simply divided T/P=M. To check if I did good I tried to do p1*M hoping to find t1, but unfortunately I didn't succeed.
What should I do? Thanks

 採用された回答

Matt J
Matt J 2016 年 6 月 23 日
編集済み: Matt J 2016 年 6 月 23 日

1 投票

You should use more than 3 points to get better noise/error-resistance. Also, if your transformation is a rotation/translation, you need to constrain M to be of this form. This can be done with ABSOR ( Download ),
reg=absor(P,T)

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangePolar Plots についてさらに検索

質問済み:

2016 年 6 月 23 日

編集済み:

2016 年 6 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by