判断是否在矩形内:

只需要判断该点是否在上下两条边和左右两条边之间就行。

判断一个点是否在两条线段之间夹着就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图

只要判断(AB X AE ) * (CDX CE)  >= 0 就说明E在AB,CD中间夹着,同理计算另两边DA和BC就可以了。

最后就是只需要判断

(AB X AE ) * (CD X CE)  >= 0 && (DA X DE ) * (BC X BE) >= 0 。

参考代码:

1     // 计算 |p1 p2| X |p1 p|
2     function GetCross(p1: Point, p2: Point, p: Point) {
3         return (p2.x - p1.x) * (p.y - p1.y) - (p.x - p1.x) * (p2.y - p1.y);
4     }
5     //判断点p是否在p1p2p3p4的正方形内
6     function IsPointInMatrix(p1: Point, p2: Point, p3: Point, p4: Point, p: Point) {
7         let isPointIn = GetCross(p1, p2, p) * GetCross(p3, p4, p) >= 0 && GetCross(p2, p3, p) * GetCross(p4, p1, p) >= 0;
8         return isPointIn;
9     }

转载于:https://www.cnblogs.com/fangsmile/p/9306510.html

判断点是否在一个矩形内相关推荐

  1. UE4之判断点是否在矩形内

    向量点乘的几何意义 向量点乘的数学定义: 向量点乘的几何意义: 所以向量的点乘可以用来计算两个向量之间的夹角.当夹角在0-90度之间,值为正数,在90-180之间,为负数 利用向量点乘计算点在矩形内 ...

  2. 如何判断一个点在矩形内

    最近在做游戏服务器中技能模块,往往要扫描一个区域,判断npc是不是在我这个区域内,在的话就发伤害. 就需要实现一下,对于一个点是否在矩形内的判断. 只需要判断该点是否在上下两条边和左右两条边之间就行, ...

  3. 如何优雅的判断一个数字在一个范围内

    告诉你一个范围假如数字1-10 java中有没有一个好的方法判断7在不在这个范围呢 public static boolean rangeInDefined(int current, int min, ...

  4. python射线法判断点是否在多边形内

    python3射线法判断点是否在多边形内 射线法 首先我们要先理解什么是射线法.射线法的意思是:在随机点上做一条平行于x轴的射线,方向是x轴正方向,看这条射线与多边形区域的交点个数,如果是偶数,那么这 ...

  5. processing判断一个点(鼠标事件)是否在三角形、圆、椭圆、矩形内之第二章(超详细鼠标交互)

    第二篇更新啦!!!! 上一篇我们详细地讲了processing判断点击是否在三角形和圆内​​​​​​​,这一期我们主要讲如何判断点击在椭圆和矩形内部,喜欢就麻烦点赞加关注吧,谢谢噢,你的支持是我继续创 ...

  6. POJ 1410 Intersection 判断线段交和点在矩形内 【计算几何】

    ACM博客_kuangbin POJ 1410 Intersection(判断线段交和点在矩形内) Intersection Time Limit: 1000MS   Memory Limit: 10 ...

  7. Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠

    **3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...

  8. python判断点在矩形内_定义一个矩形和点的位置,判断点是否在矩形里面

    25.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 两个属性:矩形的宽width:矩形的高height. 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和h ...

  9. Java 判断一个点是否在一个三角形内

    题目描述:   如何判断一个点是否在一个三角形内. 测试样例: 自定义的POINT类: class POINT{int x;int y;public POINT(int x,int y){this.x ...

最新文章

  1. centos7 docker 安装
  2. 2015级C++第10、11周程序阅读 继承和派生
  3. 图解“红黑树”原理,一看就明白!
  4. 天地图 android sdk,我想使用天地图sdk,第三方插件的教程走通了,现在卡住了
  5. spring 监听器简介
  6. Springboot 读取配置文件
  7. javaScript从入门到精通3.md
  8. 阿里云apache配置php mysql_阿里云CentOS7搭建Apache+PHP+MySQL环境
  9. 计算机速录专业教学计划,计算机信息与速录技术专业二年制教学计划.doc
  10. python怎样分析文献综述怎么写_本科毕业论文如何撰写文献综述
  11. 基于Fabric的农产品溯源系统配置笔记(若依+fabric)
  12. 有趣的python typosquatting不赚钱
  13. 【小程序】生成二维码
  14. OC学习笔记[注意事项]
  15. 【牛客网-前端笔试题】——Javascript专项练习6
  16. Eclipse连接远程Hadoop集群运行WordCount例程
  17. 75道程序员面试逻辑智力测试题内附详细答案
  18. 购物小票java代码
  19. csdn ubb 炮炮兵表情自定义插件
  20. 一、Jmeter的目录结构

热门文章

  1. efs解密-Advanced EFS Data Recovery2.1-含注册KEY
  2. 城南云计算中心项目纳入国家储备库
  3. 李洪强iOS经典面试题156 - Runtime详解(面试必备)
  4. 使用pscp实现Windows 和 Linux服务器间远程拷贝文件
  5. SVN太旧,要更新问题
  6. Spring+Hibernate整合Hessian
  7. python 24点 tkinter_python_Tkinter使用过程中的一些小的总结
  8. Android通话记录CallLog简单摘要
  9. Android_Bitmap_图片的二次采样并生成缩略图
  10. Android 百度地图开发(三)--- 实现比例尺功能和替换自带的缩放组件