找到变换矩阵,给出两组平面参数和每个平面上的点

时间:2014-03-20 22:16:10

标签: matlab math transformation plane

问题:

我在3d中有一组飞机。我使用以下信息代表他们

  1. 平面方程:Ax + By + Cz + D = 0; (我在矢量中有系数)
  2. 找到plane_param A,B,C,D的点(使用最小二乘法)
  3. 名为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) = 1sin(alpha) = alpha之类的近似值。

    语言: MATLAB

0 个答案:

没有答案