我想从视点(V)中删除隐藏点
V=[ xv yv xv omega phi kappa]
云有正常现象:
cloud=[ x y z color nx ny nz]
我也知道这篇文章How to remove hidden points from point cloud using normal vectors (in matlab)?,但我无法理解答案,很难弄明白。
如何在不使用查看器和旋转位置的情况下删除双点。请帮助我这方面。任何链接都会很好。
答案 0 :(得分:2)
很抱歉,但如果没有关于命名惯例或具体问题的详细信息,我只能给出一般答案。我知道你在某个角度下看到了一个云点,而你正试图确定你能够承受不起的点数,或者是因为它们落后于靠近相机的点,或者是因为它们在这个角度下的物体的“隐藏部分”。
最后一个区别是关键,你需要解决两个独立的问题:
如果有点云,您可能想要计算对象的凸包,或者使用其他方法来确定它的外表面。这个想法是出于表示的目的,如果你的对象不被切片或打开,只有它的表面很重要。找到适合点云的表面的一般问题很难,因此您需要添加更多特定于您的应用的约束。
给定对象的外表面(通常是三角网格)和视角,您可能想要确定哪个点子集构建对象的“可见部分”。这是您的链接的答案提到的背面剔除问题。这个想法是,给定一个与您的摄像机角度(视图平面)正交的平面和一个要计算的特定深度,您需要找到该平面上方或下方的顶点集。通过查看将该参考点链接到网格的任何顶点与摄像机法线的矢量的点积,可以非常简单地完成此操作,给定视图平面上的参考点。如果为正,则顶点为“隐藏”,如果为负,则为“可见”。
希望这有帮助。