我是靠谱客的博主 俊逸猫咪,最近开发中收集的这篇文章主要介绍python 检测直线 交点_Python判断直线和矩形是否相交的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文实例讲述了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判断直线和矩形是否相交的方法的全部内容,希望文章能够帮你解决python 检测直线 交点_Python判断直线和矩形是否相交的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部