计算三维空间中4个点之间的变换矩阵



我有两组同一对象的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]

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

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

  1. 无透视

    请参阅叠加和对齐3D三角形的问题

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

  2. 透视

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

    • 与消失点和地平线相关的3D对象的变换

    这一点利用了这样一个事实,即你知道任何两个垂直平面的点都选在同一高度上。。。您可以利用数据的类似属性,如已知大小的对象,或在"场景"中包含标记。

    在此之后,您只需取消项目所需的所有内容,然后继续#1

相关内容

  • 没有找到相关文章

最新更新