判断一个点是否在多边形内C#
2012-09-05 15:15
316 查看
//判断点在线的一边 public int isLeft(Vector2 P0, Vector2 P1, Vector2 P2) { int abc = (int)((P1.X - P0.X) * (P2.Y - P0.Y) - (P2.X - P0.X) * (P1.Y - P0.Y)); return abc; }
//判断点pnt是否在region内主程序 private bool isInRegion(Vector2 pnt , List<Vector2> region) { int wn = 0, j = 0; //wn 计数器 j第二个点指针 for (int i = 0; i < region.Count; i++) { //开始循环 if (i == region.Count - 1) { j = 0;//如果 循环到最后一点 第二个指针指向第一点 } else { j = j + 1; //如果不是 ,则找下一点 } if (region[i].Y <= pnt.Y) // 如果多边形的点 小于等于 选定点的 Y 坐标 { if (region[j].Y > pnt.Y) // 如果多边形的下一点 大于于 选定点的 Y 坐标 { if (isLeft(region[i], region[j], pnt) > 0) { wn++; } } } else { if (region[j].Y <= pnt.Y) { if (isLeft(region[i], region[j], pnt) < 0) { wn--; } } } } if (wn == 0) { return false; } else { return true; } }
相关文章推荐
- 判断一个点是否在多边形内C#
- 判断一个点是否在多边形内部,射线法思路,C#实现
- 点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部
- 点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- 判断一个点是否在多边形内
- C#操作EXCEL时,判断一个单元格是否为空的方式
- SGU 124. Broken line(射线法判断一个点是否在一个多边形内)
- C#中怎么判断一个数组中是否存在某个数组值
- C# 判断一个文件是否正在被使用。
- C#实现如何判断一个字符串是否为整数和浮点
- POJ 3335 判断一个多边形是否存在核
- C# 如何判断一个类是否实现了某个接口
- 怎么判断一个点是否在多边形区域内
- C#判断一个字符串是否为整数
- javascript 判断一个点是否在多边形内(向量的使用)
- C#算法之判断一个字符串是否是对称字符串
- 判断一个点是否位于一个凸多边形内的方法
- C#判断一个string是否为数字(正则…
- C#判断一个string是否为数字