点在多边形内的算法(C++和JavaScript版 )
来源:互联网 发布:带网络接口的av功放 编辑:程序博客网 时间:2024/05/16 09:06
C++,其中 npol是多边形顶点的数量,xp,yp是多边形顶点数组,x,y是某个点
int pnpoly(int npol, float *xp, float *yp, float x, float y) { int i, j, c = 0; for (i = 0, j = npol-1; i < npol; j = i++) { if ((((yp[i] <= y) && (y < yp[j])) || ((yp[j] <= y) && (y < yp[i]))) && (x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i])) c = !c; } return c; }
JavaScript,其中poly是多边形数组,pt是某个点
function _isInsidePolygon(pt, poly) { for (var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i) ((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y)) && (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x) && (c = !c); return c;}
参考:
http://www.cnblogs.com/lichkingct/archive/2009/10/18/1585689.html
http://bbs.csdn.net/topics/240060193
0 0
- 点在多边形内的算法(C++和JavaScript版 )
- C语言中实现点在多边形内的算法
- 判断点是否在多边形内的算法和C语…
- 判断点是否在多边形内的算法和C语言程序
- objective-c判断点是否在多边形内(包括在多边形上)的一个经典算法
- objective-c判断点是否在多边形内(包括在多边形上)的一个经典算法
- 点在多边形内算法的实现
- 点在多边形内算法的实现
- 点在多边形内算法的实现
- 判断点在多边形内的算法
- 点在多边形内的c代码
- 点在多边形内的c代码
- 判断点在多边形内的多种写法(C版)
- 点在多边形内算法
- C语言中实现 点在多边形内 算法
- C语言中实现 点在多边形内 算法
- 点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部
- 点在多边形内算法,JS判断一个点是否在一个复杂多边形的内部
- WordPress+BuddyPress注册页面404问题的解决
- apache2部署多个django项目
- 大端小端格式详解
- iOS自定义照相机
- 78.iOS开发-播放本地音频(可后台播放)
- 点在多边形内的算法(C++和JavaScript版 )
- JAVA标准输入--SCANNER
- Tomcat下配置JNDI数据库连接池并使用
- Django model字段类型清单
- SQL注入中的1=1
- 二叉树的层次遍历+每一层单行输出
- 材质素材
- ajaxFileUpload.js 插件的demo
- SpringMVC的定时任务的配置