稍微介绍下python库之VPython

额,~!@###@$$#@   VPython是不属于标准Python库的,它是个第三方库.地址在 http://www.vpython.org/.

VPython可以很好地进行3D快速原型的开发.比OpenGL 之流快多了.不是一般的快("唐伯虎点秋香" 经典台词).

安装什么的就不说了.很简单照着做就好了.

VPytho自身带了很多的Object 可视化参考 --> http://www.vpython.org/contents/docs/visual/primitives.html.

可以根据这些组合出很强大的Demo. %Python path%Lib\site-packages\visual\examples下可以看到很多.如: crystal.py

结果如下:

 <<---里面是动态的.

 

使用VPython很简单.

例如要建立一个球.

from visual import *
sphere()

哇靠.没见过这么简单的.界面,鼠标键盘响应,都有了.

嗯,下面再加个平面.设置下两个的属性.

from visual import *

box(length=4, height=0.5, width=4, color=color.blue)

sphere(pos=(0,4,0), color=color.red)

看上去不错.

当然了.静态的不好看(漂亮妹子除外,漂亮妹子静态也好看的),要加点动态效果.很简单循环控制球的属性就好了.

球也得有个速度,Python就是好,直接动态加速速度属性就好了.控制时间间隔直接rate函数.完整如下:

from visual import *

floor = box(length=4, height=0.5, width=4, color=color.blue)

ball = sphere(pos=(0,4,0), color=color.red)
ball.velocity = vector(0,-1,0)

dt = 0.01
while 1:
    rate(100)
    ball.pos = ball.pos + ball.velocity*dt
    if ball.y < 1:
        ball.velocity.y = -ball.velocity.y
    else:
        ball.velocity.y = ball.velocity.y - 9.8*dt

然后一个蹦蹦跳跳的小球就做出来了.当然了,这个其实是demo中的bounce.py.可以用鼠标控制视角的.

当然VPython还带了图表Object.可以用来绘制函数,曲线啥的.可以在上面的代码中逐个添加加速度,空气阻力什么的.额,高中物理基本忘了.

介绍VPython库的原因呢只是说明下.开阔下思想,不能总在网站,字符处理上打转.可以玩很多很多的.

http://hyry.dip.jp:8000/pydoc/vpython_intro.html 和 http://hyry.dip.jp:8000/pydoc/visual_manual_index.html 有一些中文的介绍.

 

额.. 复习物理先.

 

 

 

 

 

posted @ 2013-01-04 23:00  zhuangzhuang1988  阅读(7254)  评论(0编辑  收藏  举报