改进弧长法 判断点是否在多边形内 c#代码
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 09:44:56
改进弧长法 判断点是否在多边形内 c#代码
publicclass Coordinate { ////// 经度X ///publicdouble X; ////// 纬度Y ///publicdouble Y; ////// 所在象限,原点,坐标轴1,2,3,4 /// 为0时当正号处理 ///publicint Quadrant { get { if (X >= 0) { if (Y >= 0) return1; if (Y < 0) return4; } if (X < 0) { if (Y >= 0) return2; if (Y < 0) return3; } return0; } } }////// 弧长法判断点是否在多边形内 /// 第一个是若P[i]的某个坐标为0时,一律当正号处理;第二点是若被测点和多边形的顶点重合时要特殊处理.//////多边形顶点集合,有序///要判断的点///是否在多边形内publicbool InPolygon(IList p,Coordinate corrdinate) { foreach (var item in p) //把要判断的点设为原点
{ item.Y = item.Y - corrdinate.Y; item.X = item.X - corrdinate.X; } //最后一个和第一个点连,将第一个点加到最后 p.Add(p[0]); var count = 0; for (var i = 0; i 1(1-4=-3) =1if (t == 3) t = -1;//1->4(4-1=3)=-1 count += t; } if (Math.Abs(count) == 2) returntrue;//在边上if (Math.Abs(count) == 4) returntrue;//在内部if (count == 0) returnfalse;//在外部returnfalse;//异常情况 } }
{ item.Y = item.Y - corrdinate.Y; item.X = item.X - corrdinate.X; } //最后一个和第一个点连,将第一个点加到最后 p.Add(p[0]); var count = 0; for (var i = 0; i 1(1-4=-3) =1if (t == 3) t = -1;//1->4(4-1=3)=-1 count += t; } if (Math.Abs(count) == 2) returntrue;//在边上if (Math.Abs(count) == 4) returntrue;//在内部if (count == 0) returnfalse;//在外部returnfalse;//异常情况 } }
求一个matlab函数!功能:已知一个多边形所有顶点的左边,再给你一个点,能立即判断这个点是否在多边形内
如何判断一个点是否在一个多边形内部
opencv中如何判断一个点是否在一个多边形中
判断一个点是否在一个三角形面内.
c#判断一个数是否是素数
用c# 做 已知一点和一三角形的三点坐标,判断其位置关系 在三角形内 还是外 (面向对象的思想)
C#中如何判断一条数据是否在某个list集合中?
假设有个不规则的几何图形如何判断点(x,y)是否在几何图形内
以下C语言代码想判断一组数是否为等差数列,但是错在哪里?
C#的代码 下面这几句
求VB编程代码:判断一个数是否是素数?
用VB编写一段代码,在1000之内随即产生一个数,并判断该数是否为素数