计算3D空间中4个点之间的转换矩阵

时间:2018-12-14 12:11:49

标签: math graphics 3d linear-algebra

我有2组相同对象的4个顶点,这些顶点是从3D空间中的不同位置计算出来的。像这样:

Relative to position 1:
    p0 = [10.9651660037735,  -1732.84852242907, -2077.46947601362]
    p1 = [-28.2892402763447, -1731.04816455574, -2273.71719218789]
    p2 = [168.546146377346,  -1737.13196368097, -2312.30780650516]
    p3 = [206.483925998667,  -1738.21953548907, -2116.14490306792]

Relative to position 2:
    p0 = [-322.364164317381, -1161.90839935893, -2013.94533203480]
    p1 = [-240.373482014670, -1177.43805826682, -1832.26745097626]
    p2 = [-422.125535145367, -1172.37193516593, -1749.48740754854]
    p3 = [-504.665226201976, -1158.25483667854, -1931.16712127311]

从模拟传感器接收到坐标,因此可能会有一些误差。如何计算或近似它们之间的变换矩阵?

1 个答案:

答案 0 :(得分:0)

如果从不同的位置和角度观看其“视图”,则形状和大小可能会有所不同。因此,您确定不涉及任何观点吗?许多测距传感器的确包含 LIDAR RADAR 等透视图,有些则通过处理来抵消它。那么,如果物体距离传感器更远,它的大小还是一样?

  1. 没有观点

    请参阅Problem superimposing and aligning 3D triangles

    这个想法是为每个对象创建转换矩阵,然后将一个矩阵转换为另一个。

  2. 视角

    这更加复杂。使用配件(放宽)或使用传感器的一些先验知识(简化配件)。无论如何,如果您在“视图”中具有某些几何特征,则可以避免拟合:

    一个人利用了这样的事实,即您知道任意两个垂直平面,并且在相同的高度上选择了点。您可以利用数据的类似属性(例如已知的对象大小)或在“场景”中包含标记。

    此后,您只需取消投影所需的所有内容,然后继续#1