- 浏览: 2142297 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>img usemap属性</title>
</head>
<script>
function isPointInLine(point,linePoint1,linePoint2)
{
//是否一个点向x轴的射线穿透线段,有交点
var maxY=(linePoint1.y>linePoint2.y)?linePoint1.y:linePoint2.y;
var minY=(linePoint1.y<linePoint2.y)?linePoint1.y:linePoint2.y;
//alert("maxY" + maxY);
//alert("minY = " + minY);
var re=false;
if(point.y<maxY && point.y>=minY)
{
a1 = point.x;
a2 = (linePoint2.x-linePoint1.x)*(point.y-linePoint1.y)/(linePoint2.y-linePoint1.y);
//alert(a1);
//alert(a2);
//alert(a1 <= a2);
if(parseFloat(point.x) <= parseFloat(( linePoint1.x+(linePoint2.x-linePoint1.x)*(point.y-linePoint1.y)/(linePoint2.y-linePoint1.y) )) )
{
re=true;
}
}
//alert("point :" + point.x + ":" + point.y + ";")
//alert("linePoint1 :" + linePoint1.x + ":" + linePoint1.y + ";")
//alert("linePoint2 :" + linePoint2.x + ":" + linePoint2.y + ";")
//alert(re);
return(re);
}
function isPointInPolygon(point,poly)
{
//是否点在多边形里
var crossNum=0;
var re=true;
for(var i=0;i<poly.length-1;i++)
{
if(isPointInLine(point,poly[i],poly[i+1]))
{
crossNum++;
}
}
if((crossNum % 2)==0)
{
re=false;
}
return(re);
}
function clickme()
{
var pa = document.getElementById("point").value.split(",");
var p = {x:pa[0],y:pa[1]};
var poa = document.getElementById("poly").value.split(",");
var po = new Array();
for(var i=0;i<poa.length/2;i++){
po[i]={x:poa[2*i],y:poa[2*i+1]};
};
//for(var i=0;i<po.length;i++)
//{
// alert(po[i].x);
// alert(po[i].y);
//}
//alert(p.x);
//alert(p.y);
alert(isPointInPolygon(p,po));
}
</script>
<body>
原理:从要判断的点向x轴发射一条射线,如果射线与多边形的边有偶数次相交,那么点不在多边形内;奇数次相交,那么点在多边形内
<br>
<input type="text" id="point" value="0.5,0.49" />点的横竖坐标,用逗号分隔
<br>
<input type="text" id="poly" value="0,0,0.75,0.75,1,0,1,1,0,1" />按照逆时针方向 多边形点的横竖坐标坐标0
<input type="button" id="btn" value="点击我" onclick="clickme();">
</body>
</html>
发表评论
-
knockoutjs 变量引用方式、怪异问题排查
2012-08-24 15:01 1494问题:使用knockoutjs的过程中,有时候会发现一些奇怪的 ... -
Javascript Closures闭包、为什么要闭包(闭包作用)、变量作用域
2012-08-10 14:00 2087转自:http://www.jb51.net/article/ ... -
Javascript函数、变量的初始化顺序、Javascript上下文环境
2012-08-07 15:57 1821参考:Initialization of functions ... -
Javascript函数:函数声明、函数表达式、NFE被命名的函数表达式
2012-08-07 15:45 1145参考: functions-declaration ... -
Javascript alert object、JavaScript版本迷局
2012-07-30 15:18 24321,使用alert(object.toSource()) 注 ... -
knockoutjs -- if 绑定
2012-06-14 16:22 13001参考:http://knockoutjs.com/ ... -
jquery Fixture 插件
2012-06-07 10:16 1476jQuery.Fixture插件是一个包含在javascrip ... -
CoffeeScript
2012-04-20 15:05 1785CoffeeScript是一个被编译成javascript的小 ... -
javascriptmvc 3.2.2
2012-04-19 17:10 1321JavaScriptMVC是一个以MIT协议开源的Javasc ... -
knockoutjs -- all built-in buildings
2012-04-16 16:12 972所有可用的binding值 文字和显示:visible, t ... -
knockoutjs -- applyBinding & Observables
2012-04-16 15:35 4469applyBindings ko.applyBindings( ... -
knockoutjs -- load save data(与服务器进行数据交互) & binding绑定
2012-04-10 15:51 6008和服务器交互数据: Knockout 是一纯javascrip ... -
使用ajax和history.pushState无刷新改变页面URL onpopstate(转)
2012-04-10 13:20 11528var htmlData1 = $.ajax( ... -
knockoutjs 单页引用 客户端重定向(location.hash history.pushState)
2012-04-10 10:33 4356大部分现代的,相应的 ... -
knockoutjs foreach array绑定 表格 下拉框绑定
2012-04-09 16:04 11417动态表格使用observable arrays and the ... -
knockoutjs 静动态数据、行为绑定,计算属性及Sync同步更新 Value值更新事件控制
2012-04-09 15:24 9479data-bind="text: firstName ... -
knockoutjs -- 使用Model-View-ViewModel (MVVM) 模式简化动态Javascript UI
2012-04-09 14:35 3784Knockout 是个JavaScript library,帮 ... -
jquery-validation-1.9.0
2012-04-07 15:52 4281jQuery验证插件: 简单高 ... -
textarea文本框限制输入文本数量(Firefox,Chrome,Safari)、Javascript取得字符ASCII码值、常见字符ASCII码值
2012-04-07 10:35 2235// focus用来对应Chrome浏览器往文本框拖入值 ... -
JavaScript高级程序设计读书笔记-事件
2011-11-09 16:53 1446JavaScript和HTML之间的交互是通过用户和浏览器操作 ...
相关推荐
java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 Java GIS 多边形 Java点多边形
/** 判断点在多边形内算法. * 使用计算几何中的弧线法,内角和法的一种变形. * 与射线法、内角和法一样,时间复杂度是O(n). * @param point 待判断的点 * @param poly 多边形,这里简单地看做为一个点集 */
判断点在多边形内 VB 计算机图形学作业 CG
算法判断点在多边形内
易语言判断点在多边形内外源码,判断点在多边形内外,pointjs
判断点是否在多边形内 #include #include #include #define max(a,b) ((a>b)?a:b) #define min(a,b) ((a)?a:b) using namespace std; const double INFINITY = 1e10; const double ESP = 1e-5; const int MAX_N ...
点是否在多边形内判断的C语言代码,有2维及3维两种情况的判断, 请注意:如果你决定使用其中某个函数,请将它拷出来,每个函数都能用,对应于不同的算法,请看说明,最后一个函数为三维情况。
判断点在多边形内,射线和多边形算出奇数个交点,在多边形内
点与多边形关系判断,采用角度和判别法,支持判断点在多边形内部,线上,及外部。
使用R语言判断点在多边形内~~读取shp格式文件
易语言源码易语言判断点在多边形内外源码.rar
判断点和多边形的位置,判断点和多边形的位置,判断点和多边形的位置
点在多边形的边上 前面我们讲到,射线法的主要思路就是计算射线穿越多边形边界的次数。那么对于点在多边形的边上这种特殊情况,射线出发的这一次,是否应该算作穿越呢?
判断点是否在多边形内源代码 C++语言程序
判断点是否多边形内 基本思想是利用射线法,计算射线与多边形各边的交点,如果是偶数,则点在多边形外,否则在多边形内。还会考虑一些特殊情况,如点在多边形顶点上,点在多边形边上等特殊情况。
自己的计算机图形学作业,用vc++编写的,判断点在是否多边形内部:从各点向多边形P顶点发出射线,形成有向角,各角度和为360则点在多边形内部,为0则在多边形外部,其余情况分别为在顶点上和在边上。
先输入多边形的顶点数,左击即可判断点击的点是否在多边形内
以点(0,1),多边形顶点(1,2),(2,1),(3,3)为例写的一个简单的射线法,主要部分(即:射线法判断部分)已实现,可用于任何程序,如需扩展,只需将输入的点和顶点的点数组扩充一下输入方式,即可。...
C++版本判断点是否落入多边形内原理讲解及代码实现
该工具类可以判断一个点是否在多边形内,据此可以判断,一个人是否在某个区域内,将多边形坐标作为一个字符串数组传入,再传入点的坐标,即可进行判断