以下是一个简单的碰撞模拟的代码示例:
import math
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class Circle:
def __init__(self, center, radius):
self.center = center
self.radius = radius
def check_collision(circle1, circle2):
distance = math.sqrt((circle1.center.x - circle2.center.x)**2 + (circle1.center.y - circle2.center.y)**2)
if distance <= circle1.radius + circle2.radius:
return True
else:
return False
# 示例用法
circle1 = Circle(Point(0, 0), 5)
circle2 = Circle(Point(3, 4), 3)
if check_collision(circle1, circle2):
print("碰撞发生")
else:
print("没有碰撞")
上述代码定义了两个类Point
和Circle
,Point
表示一个点的坐标,Circle
表示一个圆的圆心和半径。check_collision
函数用于检查两个圆是否发生碰撞,根据两个圆心之间的距离与两个半径之和进行比较来判断。
在示例用法中,创建了两个圆circle1
和circle2
,然后调用check_collision
函数来检查它们是否发生碰撞,并打印相应的结果。
请注意,这只是一个简单的示例,实际的碰撞检测可能需要更多的计算和逻辑处理。