Python判断直线和矩形是否相交的方法


Posted in Python onJuly 14, 2015

本文实例讲述了Python判断直线和矩形是否相交的方法。分享给大家供大家参考。具体实现方法如下:

"""
A(ax,ay),B(px,py)为两个点 (x1,y1),(x2,y2)为矩形的左上角和右下角坐标 ,判断A,B两点是否和矩形相交 
"""
def Judge(ax, ay, px, py, x1, y1, x2, y2):
  #转换为真除法
  ax, ay, px, py = float(ax), float(ay), float(px), float(py)
  x1, y1, x2, y2 = float(x1), float(y1), float(x2), float(y2)
  #判断矩形上边线和两点直线相交的点
  sx = (y1 - ay) * (px - ax) / (py - ay) + ax
  if sx >= x1 and sx <= x2:
    return True
  #判断矩形下边线和两点直线相交的点
  xx = (y1 - ay) * (px - ax) / (py - ay) + ax
  if sx >= x1 and sx <= x2:
    return True
  #判断矩形左边线和两点直线相交的点
  zy = (y2 - ay) * (x2 - ax) / (px - ax) + ay
  if zy >= y1 and zy <= y2:
    return True
  #判断矩形右边线和两点直线相交的点
  yy = (y2 - ay) * (x2 - ax) / (px - ax) + ay
  if yy <= y1 and yy >= y2:
    return True
  return False
ax = raw_input()
ay = input()
px = input()
py = input()
x1 = input()
y1 = input()
x2 = input()
y2 = input()
print Judge(ax, ay, px, py, x1, y1, x2, y2)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python实现异步回调机制代码分享
Jan 10 Python
Python中的面向对象编程详解(上)
Apr 13 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
python Django里CSRF 对应策略详解
Aug 05 Python
python实现PCA降维的示例详解
Feb 24 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 Python
Python基础详解之描述符
Apr 28 Python
python开发的自动化运维工具ansible详解
Aug 07 Python
Python下Fabric的简单部署方法
Jul 14 #Python
python简单获取数组元素个数的方法
Jul 13 #Python
python连接字符串的方法小结
Jul 13 #Python
简单上手Python中装饰器的使用
Jul 12 #Python
python比较两个列表大小的方法
Jul 11 #Python
python实现计算倒数的方法
Jul 11 #Python
python实现基本进制转换的方法
Jul 11 #Python
You might like
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
smarty中常用方法实例总结
2015/08/07 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
javascript 函数调用规则
2009/08/26 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
Vue实现数据请求拦截
2019/10/23 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python中的Numpy入门教程
2014/04/26 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
工程采购员岗位职责
2014/03/09 职场文书
春节联欢会策划方案
2014/05/16 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
学校消防安全责任书
2014/07/23 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
会计求职信怎么写
2015/03/20 职场文书
政协工作总结2015
2015/05/20 职场文书
党小组鉴定意见
2015/06/02 职场文书
拿破仑传读书笔记
2015/07/01 职场文书