Python精灵模块的intersection指令

所有命令 单独命令 屏幕命令 角色命令

单独命令 >> Python精灵模块的intersection指令

简介: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)      # 有两个交点


writed by lixingqiu 关注"异编程"微信公众号,获取更多关于Python精灵模块的咨讯: