nbody.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:py_gpumap 作者: ipachev 项目源码 文件源码
def advance(self, dt, padding):
        bodies = self.bodies

        def calc_vel(i):
            b1 = bodies[i]
            for b2 in bodies:
                d_pos = b1.pos.sub(b2.pos)
                distance = d_pos.length() + padding
                mag = dt / math.pow(distance, 3)
                b1.vel = b1.vel.sub(d_pos.scale(b2.mass).scale(mag))

        list(map(calc_vel, self.indices))

        def update(body):
            body.pos = body.pos.add(body.vel.scale(dt))

        list(map(update, bodies))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号