问题:
我在3d中有一组飞机。我使用以下信息代表他们
名为frame1[]
的结构数组用于存储此信息。 frame1[1]
代表第一架飞机。它有以下成员,frame[1].plane_param
(1 x 4向量)和frame1[1].points
(N点为3 X N矩阵)
现在我在一组名为frame2[]
的结构数组中有另一组平面。该集将包含frame1[]
中至少5个平面。数组索引明智,它们不会有一对一的对应关系。换句话说,frame1[1]
和frame2[1]
可能代表不同的平面。
我需要什么:
一种方法,通过该方法,我将能够获得单个均匀变换[4x4],将frame2[]
中的所有平面转换为frame1[]
。我明白答案会有错误。换句话说,可能不存在完美的变换矩阵,在这种情况下,最适合数据的变换矩阵(在最小二乘意义上)就足够了。
约束:
旋转角度非常小。如果无法推导出精确的角度,则可以在变换矩阵中使用cos(alpha) = 1
和sin(alpha) = alpha
之类的近似值。
语言: MATLAB