如何检查3d网格的凸度?

Joa*_*nge 4 3d graphics convex-hull game-engine computational-geometry

有没有快速的方法来做到这一点?在线搜索显示函数或单个多边形的凸性.但我需要能够检查整个模型.物体可以具有凸面,但可以像圆环一样整体凹入.

Tom*_*mmy 7

Kneejerk:如果你构建一个绿叶的BSP树并以一个节点结束所有几何体,则该对象是凸的.

采用相同解决方案的更智能方法:对于每个多边形,获取超平面.确保模型中的每个顶点都在超平面后面.

等价地:检查每对顶点之间的线段; 如果它不与任何面相交,那么该对象是凸的.

我想你也可以通过quickhull或其他任何方式获得凸包,并将其与原始对象进行比较.或者,类似地,获得凸包,并检查原始对象的每个顶点是否位于船体的表面上.