稍微介紹下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 有一些中文的介紹.

 

額.. 復習物理先.

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM