`
shuilinbo
  • 浏览: 12907 次
文章分类
社区版块
存档分类
最新评论

属性动态稍微介绍下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 有一些文中的分析.

 

    额.. 习复物理先.

 

 

 

 

 

文章结束给大家分享下程序员的一些笑话语录: 联想——对内高价,补贴对外倾销的伟大“民族”企业。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics