A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 编程开发 > 网站开发 > Python判断直线和矩形是否相交的方法

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

时间:2015-07-14 11:58作者:zhao人气:126

本文实例讲述了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,判断,直线,矩形,是否,相交,方法,本文,实例

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号