pymunk物理引擎和turtle结合最简示例

0 Comments

pymunk是为python设计的一个2D物理引擎。一个物理实体是有质量,摩擦力等性质。要模拟物理世界,就要在这个世界中新建很多对象。
通过pymunk.Body能新建这个对象,我们把它叫body。body有坐标,旋转角度等。一旦body进物理学世界,物理引擎就会实时地计算出它的速度,旋转角度等等。但body是没有形状的,如果“碰”到了其它body,如何进行碰撞检测方面的计算呢?所以body要有一个形状,可能是100X100的正方形,或一个圆形。这样才能有进行碰撞检测必要条件。到这里如果新建了很多body并赋予了外形,它们就能遵循物理定律移动碰撞了,但我们却看不见它们。因为它们没有被渲染出来,也就是没有可视化的界面来让我们来看到。在下面的代码中我们用的是海龟画图的海龟对象来显示poly。具体方法请见以下代码:

以下是部分代码预览:

"""最简物理引擎用海龟渲染小球示例.py"""

import pymunk               # 导入pymunk
import turtle

space = pymunk.Space()      # 创建物理空间
space.gravity = 0,-1        # 设置加速度

body = pymunk.Body(1,1666)  # 新建有质量和惯性的刚体
body.position = 0,200       # 设置刚体的坐标

# 下面用海龟画图来做界面
ball = turtle.Turtle(shape='circle')
ball.color("magenta")
ball.screen.delay(0)
ball.penup()

如需要查看完整代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)