我正在实现一种可触摸的彩虹,但是上部带的凹面“透明”区域正在干扰较低的彩虹带。我希望从(http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html)使用PNPOLY,但我不明白它应该如何工作。我希望能够定义乐队的可触摸区域和透明(不可触摸)区域。
代码:
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;
}
返回c;
}
引用表示凹实体的布尔表达式是A.B.C.(D + E + F)。这如何适合这个功能?