如果我有一个点(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; }
它需要一些工作,但这就是它的胆量。
再次感谢

最佳答案

使用一个您知道在形状外部的点,并检查从该点到给定点的线是否穿过该形状的表面。如果它通过奇数个表面,则给定点在形状内部。

关于c# - 确定(x,y,z)点是否在由点数组定义的形状内,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4963110/

10-09 23:25