标签: c# convex polyhedra
我正在寻找一种有效的算法来确定多面体是否凸出。
我首先检查欧拉特征是否为2.我还检查每个面都是凸面的。但是,这仍然没有抓住很多案例。
答案 0 :(得分:5)
检查出来:http://liam.flookes.com/cs/geo/
基本上:
答案 1 :(得分:4)
我有另一个想法:对于每张脸,检查所有其他顶点是否位于该脸的同一侧。
您可以通过计算每个面的法向量(通过交叉积)来检查这一点,然后计算从一个顶点(面部)到所有其他顶点的每个向量的点积。标志必须相同。
算法应该都有效,但计算时间可能不同。