返回首页
当前位置: 主页 > 编程语言 > C/C++教程 >

c语言判断一个点是否在多边形内

时间:2016-09-18 13:07来源:电脑教程学习网 www.etwiki.cn 编辑:admin

使用Canvas绘制图形时,为了使得在鼠标移动到某个多边形内部时,对整个多边形进行高亮显示,这里就需要用到判断某个点是否在多边形内部的算法.

其实用到的几何原理就是, 从要判断的点任意作一条射线, 然后计数射线与多边形相交点的个数,若相交点个数为奇数个,刚此点位于多边形内部,若相交点个数为偶数个,刚此点位于多边形外部.

所以下面的三个方法就是实现这个目的.

检验方法

// CoffeeScript

// 多边形
polygon = [
0, 0,
0, 2,
2, 2,
2, 0,
0, 0
];

point = [1, 1];

console.log insidePolygon(polygon, point[0], point[1]);
// = 1, 证明要检验的点位于多边形内部

 

------分隔线----------------------------
标签(Tag):C语言
------分隔线----------------------------
推荐内容
猜你感兴趣