如果我有一个点数组 (x,y,z) 并且给定一个点 (x,y,z),我使用什么代码来确定该点是否位于数组定义的形状内?
我在这个上画了一个空白......
我正在使用 C#
编辑
感谢大家的回复,我从评论中找到了这个链接(http://alienryderflex.com/polygon/),它很好地解释了这个过程。
谢谢!
供参考:
bool pointInPolygon() {
int i, j=polySides-1 ;
boolean oddNodes=NO ;
for (i=0; i<polySides; i++) {
if (polyY[i]<y && polyY[j]>=y
|| polyY[j]<y && polyY[i]>=y) {
if (polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x) {
oddNodes=!oddNodes; }}
j=i; }
return oddNodes; }
它需要一些工作,但这就是它的胆量。
再次感谢