int pnpoly(int npol, float *xp, float *yp, float x, float y)
{
int i, j, c = 0;
for (i = 0, j = npol-1; i < npol; j = i++) {
if ((((yp[i] <= y) && (y < yp[j])) ||
((yp[j] <= y) && (y < yp[i]))) &&
(x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i]))
c = !c;
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
此函数检查点是否在多边形内.如何处理负数的多边形坐标?例如,
float x[3] = { 0.16, 1.2, -10 }; …Run Code Online (Sandbox Code Playgroud) 我使用macports安装了CGAL.我在一个例子上运行CMake并且运行良好.所以我尝试创建一个新项目并从示例中粘贴我需要的代码.所以我还没有链接CGAL库,也无法运行代码.我不知道如何在构建设置中链接它.希望有人能指导我.
我试图运行envelope2.cpp.