查找3D几何体中最顶部的面/多边形

时间:2015-05-27 10:01:37

标签: javascript 3d geometry mesh

考虑到可能翻转法线的3D几何图形(但在其他方面是有效的),您如何找到最顶部的面/多边形,哪些面上没有其他面部?

例如,在以下情况下查找橙色面(显示几何体的切片): enter image description here

就目前而言,我当前(非常复杂)的方法如下:

  1. 遍历所有顶点并找到最大Y(高度)值(即找到几何中的最高点 - 没有什么可以更高)
  2. 遍历所有多边形并收集具有最大Y值顶点的多边形(即所有最高面,但有些可能位于其他面上 - 见上图)
  3. 循环收集的多边形并找到具有最大绝对Y法线的那个(即,找到与水平方向具有最浅角度的多边形 - 从我可以看到,这将始终位于有效几何中的所有其他位置之上)
  4. 除了不确定这是否适用于所有情况之外,我有兴趣看看是否有更有效的方法来处理伪代码或JavaScript。

    如果有帮助,3D几何体将存储为多边形阵列,这些多边形本身就是一个点阵列数组:

    [[[x,y,z], [...]], [[x,y,z], ...], ...]
    

1 个答案:

答案 0 :(得分:0)

我认为最顶尖的概念并不那么明确。 只有那两个入射到水平基座的低边有一个 “清晰的天空视线。”

<小时/> TopMostCex