我正在研究一个JS程序,我需要确定点是否在坐标系的四个角内.
有人能指出我的答案吗?
我正在看我认为被称为凸四边形的东西.也就是说,四个相当随机选择的角位置,所有角度都小于180°.
谢谢.
出于某种原因,我找到(据说)如何在PHP中做这个答案只是给了我错误的匹配.它似乎添加了破折号,但也用字符串的其余部分的副本替换大写字母,所以我希望"abcZxc"变成"abc-zxc",而是将它变成"abd-zxczxc"
这个以及其他一些变化,是我尝试过的,但无法让它发挥作用.
filterGroup = aNiceString;
console.log(filterGroup.replace(/[A-Z]+/g, "-1$'"))
Run Code Online (Sandbox Code Playgroud)
谢谢
我遇到了这段 C 代码(我认为),这应该是检查点是否在 aconcave或convex多边形内的巧妙方法,我想将其转换为 JS 等效函数以在我的 JS 程序中使用:
int pnpoly(int nvert, float *vertx, float *verty, float testx, float testy)
{
int i, j, c = 0;
for (i = 0, j = nvert-1; i < nvert; j = i++) {
if ( ((verty[i]>testy) != (verty[j]>testy)) &&
(testx < (vertx[j]-vertx[i]) * (testy-verty[i]) / (verty[j]-verty[i]) + vertx[i]) )
c = !c;
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
nvert:多边形的顶点数。是否在最后重复第一个顶点。
vertx、verty:包含多边形顶点的 x 和 y 坐标的数组。
testx、testy:测试点的 X 和 y …
我在这里看到了一些代码/sf/answers/204594491/,就像这样:
for (i = 0, j = nvert-1; i < nvert; j = i++) {...`
Run Code Online (Sandbox Code Playgroud)
当括号内有四个东西时,我不明白它是做什么的("i = 0","j = nvert-1","i <nvert"和"j = i ++").我显然一直试图谷歌这个,但似乎无法找到任何答案.我敢肯定,如果我只知道括号中的内容被称为我会很高兴.
谢谢