简介:intersection是交叉命令,别名是intersect。
它能够返回点,直线,线段与圆的交叉点坐标。
item1与item2可表示:点,直线、线段、圆。
本函数严格区分点,线段,直线的表示方法,我们默认以下规则:
1.用二元组表示一个点,如(0,0)表示原点
2.用在列表中的两个点表示线段,如[(0,0),(10,10)]表示从原点到(10,10)的线段。
3.用在元组中的两个点表示经过两点的直线,如((0,0),(10,10))表示经过这两个点的直线。
4.用点和半径表示圆,用字典表示,{100:(0,0)}表示半径为100的圆心在(0,0)的圆形。
|
from sprites import intersection
# 点与直线
p = (-20,-20)
zline = ((0,0),(10,10))
result = intersection(p,zline)
print(result) # p点在直线上,返回真
# 点是否在圆上
circle = {100:(50,50)} # 把半径和圆心存入字典
result = intersection(p,circle)
print(result) # p点并未在圆上,返回假
# 线段与线段
seg1 = [(0,0),(100,100)]
seg2 = [(10,0),(50,-50)]
result = intersection(seg1,seg2)
print(result) # seg1和seg2两线段不相交,返回None。
# 直线与直线
zhi1 = ((0,0),(100,100))
zhi2 = ((10,0),(50,-50))
result = intersection(zhi1,zhi2)
print(result) # zhi1和zhi12两直线是相交的,返回交点坐标。
# 线段与圆
result = intersection(seg1,circle)
print(result)
# 直线与圆
result = intersection(zhi1,circle)
print(result) # 有两个交点
# 圆与圆
c2 = {50:(120,120)}
result = intersection(c2,circle)
print(result) # 有两个交点
|