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

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()

如需要查看完整代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。扫码付款后的朋友可以加QQ: 406273900,提供技术支持及发送作品图片与配音素材。亦可直接向微信号scratch8付款购买。
李兴球的博客_Python创意编程技术前沿 » pymunk物理引擎和turtle结合最简示例

学本领,探索更大的世界!

李兴球博客 风火轮编程主页