计算 3D 中 4 个点之间的变换矩阵 space

Calculate transformation matrix between 4 points in 3D space

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

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]

坐标是从模拟传感器接收的,因此可能有些不准确。如何计算或近似它们之间的变换矩阵?

如果它的 "viewed" 从不同的位置和角度来看,形状和大小可能会有所不同。所以你确定你没有透视?许多测距传感器确实包括 LIDARRADAR 等视角,有些传感器通过处理其他传感器来对抗它。那么,如果物体距离传感器更远,它的大小是否仍然相同?

  1. 无透视

    Problem superimposing and aligning 3D triangles

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

  2. 透视

    这要复杂得多。要么使用配件(slooooow),要么使用传感器的一些先验知识(简化配件)。无论如何,如果您在 "view" 中具有某些几何特征,那么您可以避免拟合,请参阅:

    • Transformation of 3D objects related to vanishing points and horizon line

    有人利用了这样一个事实,即您知道任意 2 个垂直平面,并且在相同的高度上选择了点...您可以利用数据的类似属性,例如已知的对象大小,或者将标记包含在 "scene".

    在此之后,您只需取消投影所有需要的东西,然后继续 #1