国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python判斷直線和矩形是否相交的方法

2020-01-04 18:04:52
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Python判斷直線和矩形是否相交的方法,涉及Python坐標系下的直線與矩形相關運算,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python判斷直線和矩形是否相交的方法。分享給大家供大家參考。具體實現方法如下:

 

 
  1. ""
  2. A(ax,ay),B(px,py)為兩個點 (x1,y1),(x2,y2)為矩形的左上角和右下角坐標 ,判斷A,B兩點是否和矩形相交  
  3. ""
  4. def Judge(ax, ay, px, py, x1, y1, x2, y2): 
  5. #轉換為真除法 
  6. ax, ay, px, py = float(ax), float(ay), float(px), float(py) 
  7. x1, y1, x2, y2 = float(x1), float(y1), float(x2), float(y2) 
  8. #判斷矩形上邊線和兩點直線相交的點 
  9. sx = (y1 - ay) * (px - ax) / (py - ay) + ax 
  10. if sx >= x1 and sx <= x2: 
  11. return True 
  12. #判斷矩形下邊線和兩點直線相交的點 
  13. xx = (y1 - ay) * (px - ax) / (py - ay) + ax 
  14. if sx >= x1 and sx <= x2: 
  15. return True 
  16. #判斷矩形左邊線和兩點直線相交的點 
  17. zy = (y2 - ay) * (x2 - ax) / (px - ax) + ay 
  18. if zy >= y1 and zy <= y2: 
  19. return True 
  20. #判斷矩形右邊線和兩點直線相交的點 
  21. yy = (y2 - ay) * (x2 - ax) / (px - ax) + ay 
  22. if yy <= y1 and yy >= y2: 
  23. return True 
  24. return False 
  25. ax = raw_input() 
  26. ay = input() 
  27. px = input() 
  28. py = input() 
  29. x1 = input() 
  30. y1 = input() 
  31. x2 = input() 
  32. y2 = input() 
  33. print Judge(ax, ay, px, py, x1, y1, x2, y2) 

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 将乐县| 太湖县| 新宁县| 三明市| 新营市| 大同县| 铜山县| 烟台市| 太保市| 嘉义市| 洞头县| 保山市| 斗六市| 华安县| 章丘市| 修武县| 永修县| 上思县| 平顶山市| 怀宁县| 龙陵县| 航空| 安化县| 玉屏| 龙井市| 武鸣县| 洪洞县| 安化县| 莱西市| 临清市| 宁阳县| 崇仁县| 故城县| 环江| 都江堰市| 理塘县| 灯塔市| 泸水县| 福鼎市| 高淳县| 民和|