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资源。)