我在3D空间中有一些平面,理论上它们都应该在同一条线上相交。
通过取3个测量点计算每个平面。但是,这些点的测量存在一些误差。
所以在实践中,这些平面并不都在同一条线上相交。
我怎样才能获得"平均值"所有这些飞机的交叉线?
我可以将每个平面与每个平面相交,并平均线条。但是,当两个平面具有几乎相同的方向时,其测量中的小误差将导致其计算的交叉点中的巨大误差。因此,在以这种方式计算平均交叉点时,我会放大测量误差。
有没有更公平的方法来计算公共交叉线?
答案 0 :(得分:0)
我认为你需要的不是平均,而是一种检测异常值(即错误的交叉线)并丢弃它们的算法。
这样做的一个标准算法是随机样本共识(RANSAC)。但是为了能够使用它,你必须在线之间定义某种距离,这应该是有意义的。
找到内部(即良好的交叉线)的另一种可能性是Hough transform。在该算法中,线的整个参数空间被细分为单元。计算出的交叉线"投票"对于包含此交叉线参数的单元格。投票最多的参数单元获胜。可以通过计算投票获胜单元格的所有线的平均线来细化结果。