如何找到反射和凸顶点

时间:2018-03-19 13:29:33

标签: c++ opengl triangulation

我正在尝试实现基于https://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf的耳朵剪切算法,但我无法掌握如何找到反射和凸顶点。

链接的文档提到如果顶点的内角> 1,则顶点是反射的。我尝试通过创建2个方向向量(远离顶点)然后得到两个点来计算角度。但对我来说,这绝不会超过180。

我的背景是3D艺术,这是我了解更多三角学的一种方式。如果我错过了一些非常基本的东西,请道歉!

Here is the polygon in question with the vertex I am struggling with. I keep getting 45 degrees.

2 个答案:

答案 0 :(得分:1)

@AlessandroTeruzzi发布的链接帮我解决了这个问题。不知道如何将其标记为答案。我需要找到确定的。相关链接:polygon triangulation reflex vertex

This is my result

答案 1 :(得分:0)

我想找到顶点反射是否遵循:

给定点是A取两个相邻点A,让我们说B和C. 然后找到矢量(B-A)。(C-A)= cos(角度)。 在上面的等式中求出角的反余弦以获得角度。那么,如果这个cos ^ -1(角度)是> 180然后顶点A是反射。

如果你不知道顶点的顺序 然后如何找到相邻的点A. 为此,您可以使用Convex Hull算法的某些部分。