悬浮的青春
a giser
留言板
首页
javascript
其他
判断点在线段的左右侧
时间:
2020-6-9
作者:
悬浮的青春
分类:
javascript
采用向量叉积方式:
转
载
http://blog.csdn.net/modiz/article/details/9928553
它可以用来判断点在直线的某侧。进而可以解决点是否在三角形内,两个矩形是否重叠等问题。向量的叉积的模表示这两个向量围成的平行四边形的面积。
设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P×Q = x1*y2 - x2*y1,其结果是一个伪矢量。显然有性质 P × Q = - ( Q × P ) 和 P × ( - Q ) = - ( P × Q )。
叉积的一个非常重要性质是可以通过它的符号判断两矢量相互之间的顺逆时针关系:
若 P × Q > 0 , 则P在Q的顺时针方向。
若 P × Q < 0 , 则P在Q的逆时针方向。
若 P × Q = 0 , 则P与Q共线,但可能同向也可能反向。
叉积的方向与进行叉积的两个向量都垂直,所以叉积向量即为这两个向量构成平面的法向量。
如果向量叉积为零向量,那么这两个向量是平行关系。
因为向量叉积是这两个向量平面的法向量,如果两个向量平行无法形成一个平面,其对应也没有平面法向量。所以,两个向量平行时,其向量叉积为零。
int GeometryHelp::Side(LineSegment2D line, Point point)
{
Point P1 = line.P1;
Point P2 = line.P2;
return ((P2.y - P1.y) * point.x + (P1.x-P2.x) * point.y + (P2.x*P1.y - P1.x*P2.y));
}
看了计算机图形学还是超级有用的啊!
标签:
gis
WRITTEN BY
悬浮的青春
熟悉openlayers,cesium,vue,typescript,JavaScript等。
推荐阅读
javascript发送get、post http请求(转)
openlayers3 加载百度地图,openlayers3 加载天地图
js获取本周,本月,本年等时间范围
Vue 常用系统指令 v-cloak v-text v-html
webstorm 2016.2.1激活。
一个很棒的JQ代码和demo收集学习站
html5shiv ie9支持html方案
Atlassian 系列软件安装(Crowd+JIRA+Confluence+Bitbucket+Bamboo)
jsts中简单有效的解决自相交图形拓扑错误的问题。
vscode sftp no such file
上一篇
下一篇
取消回复
输入验证码
热门文章
ArcGIS Engine 10.1下载地址
国家2000大地坐标系参数CGCS2000
国内影像下载国际影像下载DEM影像下载遥感影像下载
ArcGIS 创建点要素的各种方法教程
arcgis10及arcgis10.1全套下载及安装破解
日历
最新评论
悬浮的青春
1 个月前
文章链接已失效,其他方式可参考http:...
流动人口
9 个月前
楼主,可以给一个邀请码吗,我的邮箱是23...
DADA
1 年前
下载了,并不包括ArcEngine
悬浮的青春
2 年前
测试一下
悬浮的青春
2 年前
@五点五:就是个枚举变量,拿来判断当前是...
五点五
2 年前
@悬浮的青春:那请问您的actionty...
悬浮的青春
2 年前
测试
悬浮的青春
3 年前
第一条留言
悬浮的青春
3 年前
@听风:加arcgis贴吧置顶QQ群
听风
3 年前
10.2.2用不了呀,老哥
链接
悬浮的青春
Arcgis贴吧
华博电机