5

我正在寻找一种有效的算法来确定多面体是否是凸的。

我首先检查欧拉特性是否为 2。我还检查了每个面是否都是凸面。但这仍然没有抓住很多案例。

4

2 回答 2

5

看看这个: http: //liam.flookes.com/cs/geo/

基本上:

  • 在多面体中选择一个点
  • 从该点向每个面发送一条射线
  • 确保光线仅与所选面相交
于 2015-05-21T17:23:58.180 回答
4

我有另一个想法:对于每个面,检查所有其他顶点是否位于该面的​​同一侧。

您可以通过计算每个面的法线向量(通过叉积)然后计算每个向量从一个顶点(面的)到所有其他顶点的点积来检查这一点。标志必须相同。

算法应该都可以工作,但计算时间可能不同。

于 2015-05-21T17:27:28.343 回答