有没有一种快速的方法来做到这一点?在线搜索显示功能或单个多边形的凸度。但是我需要有能力检查整个模型。一个对象可以具有凸面,但总体上可以像圆环一样是凹面。
最佳答案
膝关节:如果您构建一棵茂盛的BSP树并最终将所有几何体放置在一个节点上,则该对象为凸形。
略微聪明的方法来解决相同的问题:对于每个多边形,获取超平面。确保模型中的每个顶点都在该超平面之后。
等效地:检查每对顶点之间的线段;如果它不与任何面相交,则该对象为凸面。
我想您也可以通过quickhull或其他方式获得凸包,并将其与原始对象进行比较。或者,类似地,获取凸包,并检查原始对象的每个顶点都位于该包 shell 的表面上。
关于graphics - 如何检查3D网格的凸度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640545/