graphics - 如何检查3D网格的凸度?

标签 graphics 3d game-engine computational-geometry convex-hull

有没有一种快速的方法来做到这一点?在线搜索显示功能或单个多边形的凸度。但是我需要有能力检查整个模型。一个对象可以具有凸面,但总体上可以像圆环一样是凹面。

最佳答案

膝关节:如果您构建一棵茂盛的BSP树并最终将所有几何体放置在一个节点上,则该对象为凸形。

略微聪明的方法来解决相同的问题:对于每个多边形,获取超平面。确保模型中的每个顶点都在该超平面之后。

等效地:检查每对顶点之间的线段;如果它不与任何面相交,则该对象为凸面。

我想您也可以通过quickhull或其他方式获得凸包,并将其与原始对象进行比较。或者,类似地,获取凸包,并检查原始对象的每个顶点都位于该包 shell 的表面上。

关于graphics - 如何检查3D网格的凸度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640545/

相关文章:

android - 触摸时移除连续生成的 Sprite

matlab - 避免 MATLAB 图形中的文本重叠

c++ - VAO 是否同时记住 EBO/IBO(元素或索引)和 VBO?

opengl - 除了性能优势之外,MipMaps 是否还有其他优势?

java - 表面有随机点的 3d 球

java - 如何实现LuaJ暂停?

java - 使用 Android 内置的逐帧动画方法还是自己创建更好?

xcode - OSX-将自定义控件放在自定义图形上

ios - 如何将 Navisworks(*.nwd) 文件渲染到 IOS

game-engine - 任何代码示例开源引擎,或开源六角瓷砖游戏,编写基于六角瓷砖的游戏的引用?