编辑:我已经更新了程序,这个答案很好用!
我正在制作一个程序(欢迎试用),它可以让用户绘制多边形并将其三角化。他们可以点击添加顶点并按回车键进行三角剖分。不管怎样,只要我告诉算法多边形是顺时针或逆时针绘制的(现在它只能处理顺时针多边形),算法就正常工作。我已经试了几天,但不知道如何确定这些点是顺时针还是逆时针绘制的。您可以使用前面提到的程序尝试绘制图形以更好地了解这一点,您可以亲身体验我所说的内容,效果比我解释更好。
这里是如何定义这些点的:
function Point(x, y) {
this.x = x;
this.y = y;
}
var vertices = [];
// Called on click
function addPoint(mouseX, mouseY) {
vertices.push(new Point(mouseX, mouseY));
}
这是一个顺时针的多边形图像:
这是一个逆时针的多边形图像:
如果你能帮助我找出如何确定点的“顺时针性”,我将不胜感激!