给定3D几何可能翻转了法线(但在其他情况下有效),那么您如何查找最上面的面/多边形,而上面没有其他面/多边形?

例如,在以下情况下查找橙色面(显示几何图形的切片):


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


遍历所有顶点并找到最大Y(高度)值(即,找到几何中的最高点-没有什么可以更高)
遍历所有多边形并收集顶点最大Y值的多边形(即,所有最高的面,尽管有些面可能在其他面之上–参见上图)
循环浏览收集的多边形,并找到最大的绝对Y法线(即找到与水平线夹角最浅的多边形-从我的视线中可以看出,该多边形将始终位于有效几何图形的所有其他元素之上)


除了不确定这是否在所有情况下都有效外,我想看看是否有一种更有效的方法可以用伪代码或JavaScript进行处理。

如果有帮助,则将3D几何存储为多边形数组,这些多边形本身就是点数组的数组:

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

最佳答案

我认为最高概念并不清楚。
只有入射到水平基座的那两个低边具有
“天空清晰的视线。”

关于javascript - 查找3D几何中最顶部的面/多边形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30479213/

10-12 04:01
查看更多