模拟物体运动:从匀速到加速
1. 模拟匀速运动
1.1 为小行星添加速度
为了给每个小行星赋予速度向量,我们可以在 PolygonModel 对象上添加速度向量的两个分量 vx 和 vy 作为属性。以下是相关代码:
class PolygonModel():
def __init__(self,points):
self.points = points
self.angle = 0
self.x = 0
self.y = 0
self.vx = 0
self.vy = 0
为了让小行星运动更加不规则,我们可以给它们的速度分量赋予随机值。在 Asteroid 构造函数的底部添加以下两行代码:
from random import randint, uniform
import vectors
class Asteroid(PolygonModel):
def __init__(self):
sides = randint(5,9)
vs = [vectors.to_cartesian((uniform(0.5,1.0), 2 * 3.14159 * i / sides))
for i in range(0,side
超级会员免费看
订阅专栏 解锁全文

1208

被折叠的 条评论
为什么被折叠?



