【发布时间】:2015-05-14 22:40:31
【问题描述】:
我有一个杂乱无章的点云,我想比较理想的 CAD 几何形状和对象的轮廓测量。例如,我有一个理想对象的 CAD 数据,我有一个这样的点云;
如何比较这两个数据?我从 CAD 文件中知道,CAD 数据上的点是属于直线还是半径(Arc),但是如何导出 Arc 的半径误差或直线的长度误差?
我尝试使用 knnsearch 组织数据,但结果并不令人满意。所以,我尝试从一个点开始画一条线(比如说点 1),我想去下一个最近的点(假设点 2)。如果点 2 的最近邻居是点 1,则转到点 2 的第二最近点。该算法似乎对我有好处,但结果也不令人满意。连接线从一边到另一边。
我还认为,可能我应该将 CAD 数据转换为点云,并且我必须将每个测量点与 CAD 点云上的最近点进行比较。我知道哪些点属于线,哪些点属于弧,我可以计算线或弧的平均误差。但是我认为线或弧的端点会很麻烦。我认为这些点的比较结果会有很大的误差。
另一方面,CAD 几何图形和测量值不会总是凸出并完美覆盖。可以测量一些非凸几何形状。例如,您可以看到缺少一些点的倒 V 形测量。这是最坏的情况;
如果在测量不够的情况下几何估计出现一些错误,我可以接受。
CPU 负载也是我的重要标准。有 10.000 个点,我想用 i7 处理器在 20 毫秒内完成过滤和几何匹配。
是否有任何稳健的解决方案可以实现这一目标?
【问题讨论】: