判断某一点是否在矩形中的问题
来源:互联网 发布:刷留言软件安卓版 编辑:程序博客网 时间:2024/04/30 07:44
这里存在两种情况:一是标准矩形,即矩形的一边跟坐标轴垂直或者平行;二是旋转矩形,即矩形的边与坐标轴既不平行又不垂直。下面分这两种情况进行说明。
在直角坐标系下,横轴表示x轴,纵轴表示y轴。则第一种情况下只需对角的两点即可确定矩形。如下所示:
对于任意一点p(x,y)可以根据对角的两个点的坐标来判断点p是否在矩形内。
对于第二种情况,则当且仅当三个点给定时,才能确定矩形。如下所示:
在这种情况下如果判断一个点是否在确定的矩形内,那么情况较为复杂。分析如下:
1 可以计算第四个角点,将四个角点按照先y后x的大小进行排列,标记为p1,p2,p3,p4。
2 根据给定的p(x,y),来计算向量p1->p,p1->p2,p1->p3的大小。
3 分别计算向量p1->p与p1->p2,p1->p与p1->p3之间的夹角分别为a,b,确保计算的两个夹角都是锐角,否则p在矩形外。
4 计算向量p1->p4,并计算p1->4与p1->p2之间的夹角c。
5 当a<=c时,如果p1p2 / cosa >= p1p 时,p在矩形内,否则在矩形外。
6 当a>c时,如果p1p3 / cosb >= p1p 时,p在矩形内,否则在矩形外。
0 0
- 判断某一点是否在矩形中的问题
- 判断点是否在矩形的里面
- 点是否在矩形中判断
- 判断点是否在矩形内
- 点是否在矩形中判断
- c#判断点是否在矩形上
- 判断点是否在矩形内
- 点是否在矩形中判断
- 判断点是否在矩形内
- 平面中判断点是否在某一三角形内算法 .
- 平面中判断点是否在某一三角形内算法 .
- MFC:判断点(POINT)是否在某一区域(CRect)
- 平面中判断点是否在某一三角形内算法 .
- 判断一个点是否在矩形内PtInRect
- 判断一个点是否在圆角矩形、椭圆形内
- 判断点是否在矩形内碰撞代码
- 根据经纬度判断一个点是否在一个矩形范围内
- 计算几何----判断点是否在一个矩形内
- 做为一个程序员新手
- DirectX SDK安装出错时解决方案
- 后缀表达式
- Java读取文件方法大全
- 2014年10月27日
- 判断某一点是否在矩形中的问题
- Linux下的线程技术
- BufferedReader和BufferedWriter
- 细看Innodb落盘过程
- ?PHP中is_xxx的使用规则
- JAVA学习第五十五课 — IO流(九)文件切割合成器
- CC1101之数据封包格式(Data Packet Format)
- Java获取最近12个月
- PySide的QStackedWidget例子