• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python判断直线和矩形是否相交的方法

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 画直线,python 画一条直线,python 画矩形,python 画矩形的代码,python 绘制矩形等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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)

</div>

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

</div>

您可能想查找下面的文章:

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

相关文章

  • Python中的生成器和yield详细介绍
  • python使用内存zipfile对象在内存中打包文件示例
  • Python下载懒人图库JavaScript特效
  • python xml.etree.ElementTree遍历xml所有节点实例详解
  • python文件和目录操作方法大全(含实例)
  • Python与Redis的连接教程
  • Python入门篇之条件、循环
  • Django Highcharts制作图表
  • 使用IPython来操作Docker容器的入门指引
  • python在多玩图片上下载妹子图的实现代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解python发送各类邮件的主要方法
    • 菜鸟使用python实现正则检测密码合法性
    • python实现dnspod自动更新dns解析的方法
    • python实现井字棋游戏
    • Python中下划线的使用方法
    • Python 专题二 条件语句和循环语句的基础知识
    • Python Web框架Flask中使用新浪SAE云存储实例
    • Python中__init__和__new__的区别详解
    • Python程序设计入门(5)类的使用简介
    • 收集的几个Python小技巧分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有